기본 콘텐츠로 건너뛰기

글

pandas_ta를 적용한 통계적 인덱스 지표

[data analysis] 음이항분포(Negative Binomial Distribution)

음이항분포(Negative Binomial Distribution) 음이항 분포는 베르누이 시행을 반복하면서 r번째 성공까지의 확률의 변화를 나타내는 분포이며 파스칼 분포 (Pascal distribution) 라고도 합니다. 예를 들어 동전의 앞면이 r회가 될 때까지 동전던지는 시행을 계속하는 경우로서 동전던지는 총 횟수가 확률변수 x가 됩니다. 이 확률변수는 동전 던지기 1회 당 앞면이 나오는 확률(p)가 앞면의 수(r)에 의존합니다. 이를 일반화하면 식 1과 같이 음이항분포의 확률변수는 성공횟수(r)와 베르누이 확률(p)을 매개변수로하는 확률분포로 나타낼 수 있습니다. X ~ NB(r, p) (식 1) 음이항 분포에서 최종 시행은 성공으로 시행이 종료되므로 식 2와 같이 마지막 시행을 제외한 경우에서 r - 1 횟수를 선택하는 이항확률로 간주할 수 있습니다(r은 성공횟수). \begin{align} f(x) &= P(X = x)\\&=\binom{x-1}{r-1}p^r(1-p)^{x-r}\\ x&=r, r+1, \cdots \end{align} (식 2) 식 2에서 성공횟수 r = 1인 경우는 기하분포가 됩니다. 예 1) 동전 던지기에서 4번 앞면이 발생하고 그 총 횟수가 10회가 되는 사건 A의 확률을 계산합니다. 사건 A의 확률은 식 3.1.32와 같이 나타낼 수 있습니다. A = {X = 10}, 10번 시행에 4번 앞면 (식 3.1.32) B = {X = 9}, 9번 시행에 3번 앞면 C = {X = 1}, 마지막 1번 시행이 앞면   P(A) = P(B ∩ C) 위 과정에서 P(C) = p(단일 시행에서 성공확률)가 되며 P(B)는 이항분포가 되므로 식 3과 같이 나타낼 수 있습니다. $$P(B) = \binom{9}{3}p^3(1-p)^6$$ (식 3) 결국 A의 확률질량함수는 식 3에서 나타낸 함수에 최후의 성공확률을 고려한 것으로 식 4와 같이 계산됩니다. \be...

[data analysis] 베르누이와 이항확률분포

베르누이분포(Bernoulli distribution)와 이항확률 분포 내용 베르누이분포(Bernoulli distribution) 이항확률분포(Binomial distribution) 베르누이분포(Bernoulli distribution) 한번의 시행에서 성공 또는 실패(1또는 0)의 결과만을 보이는 확률분포를 베르누이분포(Bernoulli distribution) 라고 합니다. 확률변수는 두개의 값만을 포함합니다. 확률변수는 두개의 값만을 포함하며 확률질량함수는 식 1과 같이 나타낼 수 있습니다. \begin{align}f(x)& = P(X=x)\\ &=\begin{cases}p&\quad \text{for}\; x=1\\1-p&\quad \text{for}\; x=0\end{cases}\end{align} (식 1) 위 확률질량함수(PMF)는 하나의 매개변수(parameter) 즉, 확률 p에 의해 결정됩니다. 그러므로 이 분포는 식 2와 같이 나타냅니다. X ~ Bernoulli(P) (식 2) import numpy as np import pandas as pd from scipy import stats from sympy import * import matplotlib.pyplot as plt 예 1) 1개의 주사위를 시행하는 경우 확률변수는 다음과 같습니다. 표 주사위 시행에서의 확률변수 주사위 눈 x 1 or 3 1 other 0 이 분포의 확률질량함수(PMF)와 E(x)? 확률함수와 기대값은 식 3과 같이 계산할 수 있습니다. \begin{align}f(x)&=\left(\frac{1}{3}\right)^x \left(\frac{2}{3}\right)^{1-x}\\ E(x)&=1\cdot \frac{1}{3}+0\cdot \frac{2}{3}\end{align} (식 3) ...

[data analysis]이산확률분포: 확률질량함수(pmf)와 누적분포함수 (cdf)

이산확률분포 내용 확률질량함수(PMF) 누적분포함수(Cumulative Distribution Function, CDF) 확률분포는 샘플공간의 각 값과 그에 대응하는 확률로 구현됩니다. 즉, 변수의 값들과 확률 사이의 관계를 함수로 표현할 수 있습니다. 그 변수가 이산변수(discrete variable) 일 경우 각 값에 대응하는 확률은 대상이 되는 값들의 빈도를 비율로 나타냅니다. 이 경우 한 지점에 대응하는 확률을 표현할 수 있으며 확률질량함수 (Probability Mass Function, PMF) 라고 합니다. 그러나 연속변수(continuous variable) 의 경우 한 지점에 대응하는 확률을 계산할 수 없습니다. 대신에 일정한 구간에 대응하는 확률은 계산될 수 있습니다. 즉, 전체에 대해 일정한 구간의 밀도로 확률을 표현합니다. 이 경우의 확률함수를 확률밀도함수 (Probability Density Function, PDF) 라고 합니다. 두 경우 모두 일정한 변수구간에서의 각 확률의 합을 확률누적분포함수 (Cumulative Distribution Function, CDF) 라고 합니다. 확률함수는 변수에 대응하는 확률의 집중, 퍼짐등의 정보를 포함합니다. 이러한 정보에 따라 나타나는 특징적인 형태를 확률분포(probability distribution)라고 합니다. 데이터의 수가 증가할수록 분포는 특정한 형태로 수렴합니다. 그 특정한 분포의 형태는 몇 가지의 확률질량함수 또는 확률밀도함수로 나타낼 수 있습니다. 이러한 분포와 함수들은 여러 통계 분석의 근거를 제공합니다. 확률질량함수(PMF) 표본공간(S)의 각 사건(x)에 대응하는 확률(p)을 함수로 나타낼 수 있습니다. 즉, 확률은 사건에 의존하는 함수로 p(x) = f(x)의 형태로 나타낼 수 있습니다(식 1). S = {x 1 , x 2 , x 3 , …} (식 1) f(x i ) = P(X = x i ),   i = 1, 2, 3, … 표본공간이 이산변...

Convolutional Neutral Network(CNN)

CNN Padding과 Stride CNN의 구조 CNN 모델 구축 Convolutional Neutral Network(CNN) CNN CNN(Convolutional Neural Networks)은 이미지 분류, 객체 감지, 분할 등과 같은 이미지 및 비디오와 관련된 기계 학습 문제를 해결하는 것으로 알려진 딥 러닝 모델 유형입니다. CNN은 학습 가능한 매개변수를 공유하는 함성곱충(convolutional layer)이라는 특수한 유형의 레이어를 사용하기 때문입니다. 가중치 또는 매개변수 공유는 이미지에서 학습할 패턴(예: 가장자리 또는 윤곽)이 이미지의 픽셀 위치와 무관하다고 가정하기 때문에 작동합니다. CNN의 구성; CONV: 합성곱 연산 → 활성화 함수:ReLU 등 → POOL:풀링연산 적용이유 다층 퍼셉트론 : 이미지를 1차원 텐서로 변환하여 입력층에 입력, 그러므로 공간적/지역적 구조의 정보(spatial/topological information)가 유실 합성곱 신경망: 공간적인 구조 정보를 보존하면서 학습할 수 있는 방법 공간 구조의 정보 : 이미지는 높이, 너비, 채널로 구성된 3차원 텐서 높이는 세로방향의 픽셀 수, 너비는 가로방향을 픽셀 수 채널은 색성분을 의미 예를들어 흑백이미지는 채널수가 1. 각 픽셀은 0~255사이의 값 CNN의 주요포인트는 이미지 전체 보다는 부분에 집중하며 집중한 정보와 주변정보들의 연관성을 찾는 것입니다. 예를 들어 새의 이미지에서 다른 형태들과 두드러진 특징은 부리에 있습니다. 그러므로 부리의 유무로 다른 형태들과의 구분할 수 있습니다. 이러한 이유로 전체를 파악하는 것보다는 부리부분 만을 조사하는 것이 더 효율적일 것입니다. 이와같은 중요부분을 이해하고자 하는 모델이 CNN입니다. 각 새들마다 부리의 위치에 차이가 있습니다. 그러므로 부리의 유무와 함께 주변 부분과의 연관성도 분석을 위한 대상...

지수와 로그 함수의 미분

내용 지수와 로그 함수의 미분 로그 곡선(Logarithmic Curve) 지수와 로그 함수의 미분 지수와 로그가 포함된 함수들을 미분합니다. 다음은 로그 함수입니다. $$\begin{equation} y = \log_ex \; \text{또는} \; \log(x) \end{equation}$$ 위 함수 y의 역함수는 지수함수가 됩니다. 지수 급수의 미분은 원래 형태와 같으므로 식 1과 같이 나타낼 수 있습니다. $$\begin{align}\tag{1} y &=\log_ex \rightarrow e^y=x\\ e^y &=\frac{dx}{dy}\\ \frac{dy}{dx}&=\frac{1}{\frac{dx}{dy}}\\ &=\frac{1}{e^y}\\ &=\frac{1}{x} \end{align}$$ 결과적으로 로그함수의 미분은 식 2와 같이 나타낼 수 있습니다. $$\begin{equation}\tag{2} \frac{d(\log_e x)}{dx}=\frac{dy}{dx}=x^{-1} \end{equation}$$ import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt 예 1)  $\displaystyle y=\log(x+a)$를 미분합니다. $$\begin{align} x+a&=e^y\\ \frac{d(x+a)}{dy}&=e^y \rightarrow \frac{dx}{dy}=e^y\\ \frac{dy}{dx}&=\frac{1}{e^y}\\ &=\frac{1}{x+a} \end{align}$$ a, x=symbols('a, x') y=log(x+a) diff(y, x) $\quad \small \color{blue}{\frac{1}{a + x}}$ 예 2)  $y = \log_{10}x$를 미분...