기본 콘텐츠로 건너뛰기

통계관련 함수와 메서드 사전

A B C d E F G H I K L M N O P Q R S T U V W Z A statsmodels.ap.stats.anova_lm(x) statsmodels.formula.api.ols 에 의해 생성되는 모형 즉, 클래스 인스턴스(x)를 인수로 받아 anova를 실행합니다. np.argsort(x, axis=-1, kind=None) 객체 x를 정렬할 경우 각 값에 대응하는 인덱스를 반환합니다. Axis는 기준 축을 지정하기 위한 매개변수로서 정렬의 방향을 조정할 수 있음(-1은 기본값으로 마지막 축) pandas.Series.autocorr(lag=1) lag에 전달한 지연수에 따른 값들 사이의 자기상관을 계산 B scipy.stats.bernoulli(x, p) 베르누이분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 p: 단일 시행에서의 확률 scipy.stats.binom(x, n, p) 이항분포에 관련된 통계량을 계산하기 위한 클래스를 생성합니다. x: 랜덤변수 n: 총 시행횟수 p: 단일 시행에서의 확률 C scipy.stats.chi2.pdf(x, df, loc=0, scale=1) 카이제곱분포의 확률밀도함수를 계산 $$f(x, k) =\frac{1}{2^{\frac{k}{2}−1}Γ(\frac{k}{2})}x^{k−1}\exp\left(−\frac{x^2}{2}\right)$$ x: 확률변수 df: 자유도 pd.concat(objs, axis=0, join=’outer’, …) 두 개이상의 객체를 결합한 새로운 객체를 반환. objs: Series, DataFrame 객체. Axis=0은 행단위 즉, 열 방향으로 결합, Axis=1은 열단위 즉, 행 방향으

역함수의 미분

역함수의 미분 함수 y = 3x의 종속 변수 y는 독립 변수 x에 의존합니다. 두 변수의 관계가 역전되는 경우는 다음과 같이 나타낼 수 있습니다. $\displaystyle x = \frac{y}{3}$ 이러한 형태를 역함수(inverse function) 이라고 합니다. 함수의 미분은 $\displaystyle \frac{dy}{dx}$가 되지만 역함수의 미분은 $\displaystyle \frac{dx}{dy}$가 됩니다. 이들의 곱은 1이 됩니다. 이 과정은 다음과 나타낼 수 있습니다. $$\begin{align} y = 3x & \rightarrow \frac{dy}{dx} = 3\\ x = \frac{y}{3} &\rightarrow \frac{dx}{dy} = \frac{1}{3}\\ \frac{dy}{dx}=\frac{1}{\frac{dx}{dy}} &\rightarrow \frac{dy}{dx}\cdot \frac{dx}{dy} = 1 \end{align}$$ 위 과정은 다음과 같이 코드화 할 수 있습니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt x, y=symbols('x y') eq=y-3*x eq −3x+y y1=solve(eq, y) y1 [3*x] y1[0].diff(x) 3 x1=solve(eq, x) x1 [y/3] x1[0].diff(y) $\quad \small \color{blue}{\frac{1}{3}}$ y1[0].diff(x)*x1[0].diff(y) 1 식 $y = 4x^2$에 대해 역함수의 미분을 시행해 봅니다. x, y=symbols("x, y", real=True) eq=4*x**2-y eq 4x 2 -2 y1=solve(eq, y) y1 [4*x**2] dy=[i.diff(x) for

부분분수의 미분

내용 방법 1 방법 2 방법 3 부분분수의 미분 분수의 미분은 일정한 공식 을 적용하여 계산할 수 있습니다. 그러나 분수 자체가 단순한 표현으로 이루어지지 않았다면 미분 과정이나 결과는 매우 복잡할 수 있습니다. 만약 복잡한 분수 함수를 간단한 분수들로 분해할 수 있다면 계산이 보다 간편해질 것입니다. 이와 같이 분해된 간단한 분수들을 부분분수 라고 합니다. 예를 들어 다음 두 분수의 합을 계산해 봅니다. $$\begin{align} \frac{1}{x+1}+\frac{2}{x-1}&=\frac{x-1+2(x+1)}{(x+1)(x-1)}\\ &=\frac{3x+1}{x^2-1} \end{align}$$ 위 과정은 3개 이상의 여러 분수에서도 이루어질 수 있습니다. 또한 역으로 진행될 수 있습니다. 즉, 분수를 부분 분수로 분할할 수 있습니다. 그러나 이러한 과정은 대수분수 (분자의 가장 큰 차수가 분모의 최고의 차수보다 작은 분수)에서만 이루어질 수 있습니다. 예를 들어 $\displaystyle \frac {x^2+2}{x^2-1}$의 경우는 분자와 분모의 차수는 2차로 같습니다. 이러한 경우 다음과 같이 분리할 수 있습니다. $$\frac{x^2+2}{x^2-1}=1+\frac{3}{x^2-1}$$ 위의 식 중 $\displaystyle \frac{3}{x^2-1}$은 분자의 차수가 분모의 차수 보다 낮은 대수 분수이므로 부분 분수로 분리할 수 있습니다. 이와같이 부분 분수로 분해하는 방법은 다음과 같이 몇 가지로 구분할 수 있습니다. 방법 1 위 예의 결과 $\displaystyle \frac{3x+1}{x^2-1}$의 경우를 역으로 생각해 봅니다. 분모의 인수분해가 가능하면 그 분모의 인수에 의해 다음과 같이 분해할 수 있습니다. $$\begin{align} \frac{3x+1}{x^2-1}&=\frac{3x+1}{(x+1)(x-1)}\\ &=\frac{A}{x+1

극소와 극대의 결정

내용 1차와 2차 미분 계수와 극값 극대와 극소의 결정 곡선으로부터 계산되는 $\displaystyle \frac{dy}{dx}$는 곡선의 기울기를 의미합니다. 기울기를 다시 한번 더 미분한 결과 $\displaystyle \frac{d^2y}{dx^2}$는 그 기울기의 단위 길이 당 변화하는 비율(rate) 을 의미합니다. 간단히 말해서 경사의 곡률(curvature) 을 측정 한 것입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt 그림 1의 (a)는 직선과 (b)는 곡선을 나타낸 것입니다. plt.figure(dpi=60) x=np.linspace(-1, 5, 100) y1=x+1 y2=x**2+1 plt.plot(x, y1, label="(a)") plt.plot(x, y2, label="(b)") plt.xlabel('x', size=12, weight="bold") plt.ylabel('y', size=12, weight="bold") plt.legend(loc="best", prop={"weight":"bold"}) plt.xticks([]) plt.yticks([]) plt.show() 그림 1. (a)$\displaystyle \frac{d^2y}{dx^2}=0$, (b)$\displaystyle \frac{d^2y}{dx^2}>0$. plt.figure(dpi=60) x=np.linspace(-1, 5, 100) y1=x+1 y2=x**2+1 plt.plot(x, y1, label="(a)") plt.plot(x, y2, label="(b)") plt.xlabel('x', size=1

카이제곱분포(chi-squared distribution)

카이제곱 분포(Chi-square distribution) 이항분포는 두 개의 상호 배타적인 (독립인) 변수들에 적용되며 근사적으로 정규분포로 전환될 수 있습니다. 이러한 이항분포와 정규분포를 따르는 2개 이상의 독립된 변수들에 확장할 수 있는 분포를 카이제곱($\chi^2$)분포 라고 합니다. $\chi^2$분포 Z 1 , Z 2 , Z 3 , …가 독립이고 표준 정규분포를 따르는 확률변수라면 그들의 합으로 구성된 확률변수 X는 다음과 같이 정의됩니다. $$X=Z^2_1+Z^2_2+\cdots+Z^2_k$$ 위와 같이 정의된 확률변수 X는 자유도 k를 가진 $\chi^2$분포를 따릅니다. 이를 다음과 같이 나타냅니다. $$X \sim \chi^2_k$$ 카이-제곱 분포는 X 1 및 X 2 가 각각 k 1 및 k 2 자유도를 갖는 독립적인 카이-제곱 확률 변수인 경우 X 1 +X 2 가 k 1 + k 2 자유도를 갖는 카이-제곱이라는 가산 특성을 갖습니다. 이것은 모멘트 생성 함수를 사용하거나 가장 쉽게 X 1 + X 2 가 k 1 + k 2 독립 표준 정규의 제곱의 합이므로 k 1 + k 2 자유도의 카이-제곱 분포를 갖는다는 점에 주목함으로써 공식적으로 나타낼 수 있습니다. X가 자유도가 n인 카이제곱 확률 변수인 경우 임의의 α ∈(0, 1)에 대해 양 $\chi^2_{\alpha, n}$은 다음과 같이 정의됩니다. $$P\{X \ge \chi^2_{\alpha, k}\} = \alpha$$ $\chi^2$분포는 scipy.stats 모듈의 chi() 클래스로 구현할 수 있으며 이 클래스내의 다양한 메소드를 적용하여 이 분포의 통계량들을 계산할 수 있습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats 다음은 자유도 3

확률과 주요통계량: 왜도와 첨도

내용 왜도 첨도 확률과 주요통계량: 왜도와 첨도 확률분포의 특성을 나타내는 통계량으로 평균과 분산 외에 왜도(skewness) 와 첨도(kurtosis) 역시 빈번하게 사용합니다. 왜도는 분포의 중심 즉, 평균을 기준으로 좌우의 비대칭성의 정도를 나타내고 첨도는 분포의 peak 즉 봉우리의 뾰족한 정도를 표시하는 지표입니다. 왜도와 첨도는 각각 식 1과 식 2와 같이 정의됩니다. 이 통계량들은 확률변수와 평균의 차이에 대해 3제곱과 4 제곱을 적용한 새로운 확률변수에 대한 기대값입니다. 결과적으로 왜도와 첨도는 각각 3차와 4차 모멘트 를 사용하여 계산됩니다. 왜도 표준정규분포의 왜도 = 0 skewness > 0: 분포가 오른쪽으로 기울어진 형태(skewed to right) skewness < 0: 분포가 왼쪽으로 기울어진 형태(skew to left) $$\begin{align}\tag{1} \text{Skewness(왜도)}&=E\left(\frac{X-\mu}{\sigma} \right)^3\\&=\frac{E(X-\mu)^3}{\sigma^3 } \end{align}$$ 첨도 표준정규분포의 첨도는 0 kurtosis > 0: 표준정규분포 보다 더 뾰족합니다. kurtosis < 0: 표준정규분포 보다 덜 뾰족합니다. $$\begin{align}\tag{2} \text{Kurtosis(첨도)}&=E\left(\frac{X-\mu}{\sigma} \right)^4-3\\&=\frac{E(X-\mu)^4}{\sigma^4}-3 \end{align}$$ import numpy as np import pandas as pd from scipy import stats import matplotlib.pyplot as plt 예 1)  성공확률 p

확률과 주요통계량: 분산

내용 분산 (Variance) 확률과 주요통계량: 분산 분산 (Variance) 분산(variance) 은 데이터 변동성 을 나타내는 것으로 식 1과 같이 계산되며 분산의 제곱근이 표준편차(standard deviation, $\sigma$) 가 됩니다. $$\begin{align}\tag{1}\sigma^2&=E(X-\mu)^2\\&=(x_1-\mu)^2P(X=x_1)+ \cdots+(x_k-\mu)^2P(X=x_k)\\&=\sum^k_{i=1} (x_k-\mu)^2P(X=x_k) \end{align}$$ 자료 분포에 대한 퍼짐의 척도인 분산은 각 데이터와 평균사이의 편차 제곱에 대한 가중 평균입니다. 식 1은 다음과 같이 간략하게 정리됩니다. $$\begin{align}&\begin{aligned}\sigma^2&=\sum (x-\mu)^2P(X=x)\\&=\sum(x^2-2x\mu+\mu^2)f(x)\\&=\sum x^2f(x) -2\mu \sum xf(x)+ \mu^2\\&=\sum x^2f(x)-\mu^2\\&=E(X^2)-(E(X))^2 \end{aligned}\\ & \because \sum xf(x)=\mu \end{align}$$ 위 식과 같이 분산의 계산은 변수의 제곱에 대한 기대값과 평균의 제곱으로 구성됩니다. 그 변수 제곱의 기대값은 2차 모멘트 라고 합니다. 다시말하면 변수의 차수에 따른 기대값은 그 차수에 대한 모멘트 로 표현합니다. 그러므로 분산은 2차 모멘트와 1차 모멘트의 제곱의 차로 계산되며 모두 기대값이므로 식 2와 같은 선형결합이 성립합니다. $$\begin{align}\tag{2} Var(aX+b)&=\sigma^2_{ax+b}\\&=E[((aX+b)-\mu_{aX+b})^2]\\ &=E[((aX+b)-E(aX+b))^2]\\&=E[((aX+b)-aE(X)+b)^2]\\&=E[(a(X-\mu))^

확률과 주요통계량: 모멘트와 기대값

내용 모멘트(Moment) 기대값(Expected Value) 기대값의 선형결합 확률과 주요통계량 모멘트(Moment) 확률변수와 확률 분포의 특징과 형태를 수학적으로 설명하기 위한 정량적 지표를 모멘트(moment) 라고 하며 식 1과 같이 정의합니다. $$\begin{align}\tag{1}&\text{n 차 모멘트}= E(x^n)\\ &n= 1, 2, \cdots \end{align}$$ 모멘트는 평균 , 분산 과 함께 왜도, 첨도 등 다양한 통계량의 유도에 사용됩니다. 기대값(Expected Value) 평균은 변수들의 특성을 파악하기 위해 가장 많이 사용되는 통계량입니다. 이 통계량은 각 변수값에 대한 확률을 고려하는 것으로 기대값(expected value, E(X)) 이라고 합니다. 확률변수 X의 각 값은 다른 값들에 비해 그 값이 나타날 것을 가정하는 상대 가능도(relative likelihood) 즉, 확률은 특정한 함수에 의해 특정지을 수 있습니다. 그 확률함수는 변수가 이산형일 경우에는 확률질량함수(probability mass function) 이라하고 연속형일 경우에는 확률밀도함수(probability density function) 라고 구분하는데 구분없이 확률밀도함수라고 하기도 합니다. 확률밀도함수는 f(x)로 나타내며 그 함수의 합(적분)인 누적확률함수는 F(x)로 표현합니다. 이 확률밀도 함수를 사용하여 1차모멘트인 평균은 식 2와 같이 공식화 할 수 있습니다. $$\begin{align}\tag{2}&\mu=E(X)=\sum^n_{i=0} x_iP(X=x_i), \qquad P(X):\text{변수 X의 발생확률}\\ &\qquad \Updownarrow \\ &E(X^n)=\begin{cases}\sum_{x \in \mathbb{R}}x^n f(x)& \text{이산변수}\\ \int^\infty_{-\infty}x^n