2024. 1. 9. 18:17ㆍTIL
확률과 확률변수
통계학은 여러 사건(event)들을 수학적으로 모델링하고 분석하는 학문이다. 사건은 발생하기 전까지 알 수 없으므로 불확실성을 내포하고 있다. 이러한 불확실성을 표현할 수 있는 수단이 확률이다. 확률은 실험을 실시할 때, 나올 수 있는 모든 경우의 수(sample space)내에서 특정 사건이 발생하는 비율이다. 변수(variable)는 특정 조건에 따라 변하는 값으로 확률 변수는 확률에 따라 변하는 값이다. 이산 확률 변수(Discrete random variable)는 확률 변수 X가 이산값(정수)을 택하는 변수이다. 연속 확률 변수(Continuous random variable)는 확률 변수 X가 어떤 구간의 모든 실수값을 택하는 변수이다. 독립 변수(x, feature)는 다른 변수에 영향을 받지 않고 종속 변수에 영향을 주는 변수이다. 종속 변수(y, label)는 독립 변수의 영향을 받아서 변하는 변수이다.
확률 분포와 확률 함수
확률 분포란 모든 확률 변수의 값과 확률이 어떻게 분포하는지를 의미한다. 확률 함수(Probability function)는 확률 변수 x를 확률값에 대응시키는(연결시켜주는) 함수P(x)이다. 이산 확률 변수 X가 취할 수 있는 값 x0, x1, …의 각각에 대해 확률값 P(X=x0), P(X=x1), … 를 대응시켜 주는 확률 함수를 X의 확률질량함수(Probability Mass Function, pmf) f(x)라고 한다. 연속 확률 변수 X가 취할 수 있는 값의 범위 [a,b] 에 대해서 확률값 P(a≦X≦b)를 대응시켜 주는 확률함수를 X의 확률밀도함수(Probability Density Function, pdf) f(x)라고 한다. 연속 확률 변수의 경우, 사건이 발생하는 구간의 넓이를 계산하여 사건이 발생할 확률을 계산할 수 있다.
모집단, 모수, 표본
모집단은 통계학에서 관심의 대상이 되는 모든 개체 값의 집합이다. 모수(Population parameter, Parameter)는 모집단의 특성을 나타내는 통계적인 특성치이다. 모수는 모집단을 모두 조사(전수검사) 해야 얻을 수 있는 값이지만, 전수검사가 어렵기 때문에 ‘통계적 추론'을 한다. 통계적 추론은 모집단에서 추출한 표본들의 특성을 분석하여, 모수에 대해 추론하는 과정이다. 표본(sample)은 전체 모집단에 대해서 샘플링(sampling)을 통해 뽑히는 값으로, 모집단의 부분 집합을 의미한다. 모집단의 모수를 잘 추정하기 위해서 모집단에서 sample이 뽑힐 가능성을 모두 동일하게 부여하고, 객관적으로 무작위 추출해야 한다. 다른 말로 sample들을 서로 독립적이며(Independent) 동일한 분포(Identically Distributed), 흔히 말하는 i.i.d 를 따라야 된다. 이러한 sample을 random sample이라고 부른다. Sample들의 통계량은 추출할 때마다 달라지지만, 여러 번의 추출을 통해 얻어진 여러 통계량 값의 발생 분포를 그려보면 통계량을 확률 변수로 하는 확률 분포를 얻을 수 있다.
기댓값과 분산, 결합확률분포
기댓값(Expected value)은 어떤 확률적 사건이 평균적으로 가질 수 있는 값이다. (평균값, E(x), μ)


- 기댓값의 성질
- E(X + Y) = E(X) + E(Y)
- 임의의 실수 a, b, c에 대해서 E(aX+b) = aE(X)+b
- E(aX2 + bX + c) = aE(X2) + bE(X) + c
- E(aX + bY) = aE(X) + bE(Y)
- 서로 독립인 두 확률변수 X, Y에 대해서 E(XY) = E(X)E(Y)
분산(Variance)은 분포가 평균값으로부터 얼마나 산포 되어있는지를 나타낸다. (Var(X), σ2), Var(X) = E[(X-E(X))^2] = E[X^2] - E[X]^2



- 분산의 성질
- 서로 독립인 두 확률변수 X, Y에 대해서 Var(X + Y) = Var(X) + Var(Y)
- 임의의 실수 a, b, c에 대해서 Var(aX+b) = a^2*Var(X)
- Var(aX+bY) = a^2*Var(X)+ b^2*Var(Y)
결합확률분포(Joint probability distribution)는 두 개의 확률변수 X, Y에 대해 P(X=x, Y=y)=f(x,y)를 만족하는 f(x,y)를
확률변수 X, Y의 결합확률분포 혹은 결합확률{질량/밀도}함수(Joint pmf/pdf)라고 한다. 확률변수 X와 Y가 서로 독립이면 f(x,y) = f_x(x)*f_y(y)이다.


공분산
공분산(Covariance)은 두 개의 확률변수 X와 Y에 대해 X가 변할 때 Y가 변하는 정도 즉, X와 Y가 같이 변하는 정도를 나타내는 값이다. Cov(X, Y) = E[(X-μ_x)(Y-μ_y)] (편차의 곱의 기댓값), (X-μ_x), (Y-μ_y)를 편차라 한다.


기댓값의 성질 (E(XY) = E(X)E(Y), E(aX+b) = aE(X)+b)를 이용해 공분산을 유도해 보면
Cov(X, Y) = E[(X-μ_x)(Y-μ_y)] = E[XY -μ_yX -μ_xY +μ_xμ_y]
= E[XY] - μ_yE[X] - μ_xE[Y] + μ_xμ_y (μ_x, μ_y는 상수이므로)
= E[XY] - E[X]E[Y] (E(X) = μ_x ,E(Y) = μ_y이므로)
서로 독립인 X, Y에 대해서 E[XY] = E[X]E[Y]라고 했기 때문에 X와 Y가 서로 독립이면 Cov(X, Y) = 0이다.
베르누이분포, 이항분포
베르누이 시행은 어떤 시행의 결과가 1(성공) or 0(실패)인 실험으로 베르누이 시행에서 확률변수 X=1일 확률이 p, X=0일 확률이 q = 1-p 인 경우 확률변수 X는 베르누이 분포를 따른다.
- 기댓값 E(X) = 1*p + 0*(1-p) = p
- E[X^2] = 1^2*p + 0^2*(1-p) = p
- 분산 Var(X) = E[X^2] - E[X]^2 = p-p^2 = p(1-p)
베르누이 시행을 n번 반복했을 때 성공 횟수를 값으로 갖는 확률 변수 X에 대해 X는 이항확률변수(Binomial random variable)이라고 한다. 베르누이 시행의 결과가 성공일 확률이 p, 실패할 확률이 (1-p) 일 때 이 시행을 n번 반복했을 때 나타나는 확률분포를 이항분포(Binomial distribution)이라고 한다.
기댓값과 분산의 경우 이항확률변수 X는 n개의 베르누이 확률변수 Bi의 합이므로

포아송분포, 균등분포
포아송 분포에서 모수 λ는 ‘단위시간/단위공간에서의' 평균 발생 횟수이다. 단위시간/단위공간에서 어떤 사건이 발생하는 횟수를 확률변수 X라 할 때, X는 포아송 분포를 따른다. 포아송 분포의 기댓값과 분산은 모두 λ이다. 포아송 분포의 전제 조건은 3가지이다.
- 독립성: 단위 시간/공간에서 발생한 결과는 중복되지 않은 다른 시간/공간에서 발생한 결과와 독립이다.
- 일정성: 단위 시간/공간에서 발생한 확률/횟수는 그 시간/공간의 크기에 비례한다. 즉, 단위 시간/공간에서 발생한 평균발생 횟수는 일정하다.
- 비집락성: 매우 짧은(즉, 같은) 시간/공간에서 두 개 이상의 결과가 동시에 발생할 확률은 0이다.

균등분포는 모든 확률변수 값에 대해 균일한 확률을 갖는 확률 분포이다.



정규분포
정규분포(Normal distribution, Gaussian distribution)는 가장 일반적으로 발견되는 양방향 대칭의 종 모양(Bell curve)으로 생긴 분포, 수집된 자료의 분포를 근사할 때 대부분 정규분포를 사용한다. 모수는 μ(평균)과 σ^2(분산)이다. 이항분포의 n을 극한으로 보내면 N(np, np(1-p))의 분포에 가까워진다.

표준 정규분포(Standard normal distribution)는 서로 다른 parameter를 가진 집단들을 비교하기 위해 정규분포를 표준화한 분포이다. 즉, 평균이 0이고 표준편차가 1인 분포로 표준화한 분포이다.

확률 변수 X가 정규분포를 따른다는 가정 하에 표준화를 통해서 z값을 구한 다음 표준 정규 분포표를 이용해 P(Z<z) 확률값을 구할 수 있다.
모집단으로부터 random sample을 n개 추출했을 때 n개의 random sample들의 평균과 분산을 각각 표본평균/표본분산이라고 한다. 단, 이때 random sample들은 iid(independent and identically distributed)여야 한다. 표본평균의 평균은 μ이고 표본평균의 분산은 σ^2/n이 된다.


추정량(Estimate)은 모수를 추정하기 위한 표본 통계량(e.g. 표본평균, 표본분산)이다. 불편향(Unbiased)은 표본 추정량의 기댓값이 모수가 같은 것을 의미한다. 표본분산을 n이 아닌 (n-1)로 나눠주는 이유는 만약 n으로 나눠지면 표본분산은 불편추정량(Unbiased estimate)이 아니게 되기 때문이다.(Bessel’s correction)
중심극한정리(Central Limit Theorem)는 평균 μ와 분산 σ^2인 임의의 모집단에서 크기가 n인 표본 (X1, …, Xn)에 대해 표본 평균의 분포는 n이 극한으로 갈 때(충분히 클 때, 보통 n>30) 정규분포에 근사하고 z의 분포는 표준정규분포에 근사하는 것을 의미한다.
기술통계
정량적 데이터 분석이란 숫자로 표현되는 수치 데이터를 이용하여 주어진 데이터를 분석하는 과정이다. 평균, 중앙값(median), 최빈값(mode)을 통해 데이터가 어느 값을 중심으로 뭉쳐있는지를 확인한다. 분산, 표준편차, 분위수, Q1(25분위수), Q3(75분위수) 를 통해 데이터가 어떤 형태로 퍼져있는지를 확인한다. 파이썬에서 함수를 이용해 다양한 기술통계값을 확인할 수 있다.
- df.describe() - 요약통계
- df.count() - 개수
- df.mean() - 평균
- df.median() - 중앙값(50분위수)
- df.sum() - 합계
- df.var() - 분산
- df.std() - 표준편차
- df.agg([통계함수1, …]) - 복수의 통계함수 적용
- df.quantile() - 주어진 데이터를 동등한 확률구간으로 분할하는 지점
- df.mode - 최빈값
- df.corr() - 상관관계
통계적 추정, 점추정
통계적 추정이란 모집단의 모수를 표본들의 통계값을 이용해서 추정하는 방법이다. 점추정은 모집단의 특성을 단일한 값으로 추정한다. 편향은 추정량의 기댓값과 모수의 차이이다.

우도함수(가능도함수, Likelihood function)는 확률변수 X_1, …, X_n의 결합확률밀도함수 f(x_1, …, x_n; θ)를 모수 θ에 대한 함수로 볼 때, 이를 우도함수 L(x_1, …, x_n; θ)라고 한다. 즉, 결합확률밀도함수가 모수에 대한 함수일 때 우도함수라고 한다. 확률 변수 X_1, …, X_n가 서로 독립이고 확률밀도함수 f(x;θ)에서 얻은 표본이라면 우도함수는 다음과 같다.

최대우도추정량(Maximum likelihood estimate)은 X_1, …, X_n를 표본으로 얻을 확률, 즉 우도함수 L(x_1, …, x_n ; θ)가 가장 높은 모수 추정량. 즉, MLE(최대우도추정량)은 주어진 관찰값을 가장 잘 설명하는 모수 추정량이 된다.

정규분포에서 μ와 σ^2의 MLE는 다음과 같으며 분산의 MLE는 편향추정량임을 알 수 있다.


구간추정, 카이제곱분포
점추정량은 추정된 값이 실제 모수와 얼마나 가까운지 알 수 없다. 구간추정(Interval estimation)은 모수가 있을 것으로 예상되는 구간을 정해놓고, 해당 구간에 실제 모수가 있을 것으로 예상되는 확률을 구한다. 신뢰도(Confidence level)는 설정한 구간에 실제로 모수 θ가 있을 확률이다. 예를 들어 확률구간 [a,b]에 대해 P(a<θ<b) = 1-α일 때 1-α를 신뢰도, (1-α)*100% 를 신뢰구간이라 한다.
연속확률변수 X의 확률밀도함수 f(x)가 다음과 같을 때 X는 자유도 v인 카이제곱 분포 𝝌^2(v)를 따른다.

연속확률변수 X ~ N(μ, σ^2)일 때 확률변수 Y = (X-μ)^2/σ^2 ~ 𝝌2(1) 이다. N(μ, σ^2)으로부터 n개의 표본을 추출해 구한 표본 X_1, X_2, … X_n에 대해 다음과 같다.

반대로, 𝝌^2 분포를 따르는 n개의 표본의 합은 n이 커질수록 중심극한정리에 의해 정규분포를 따른다.
t분포, F분포
확률변수 T의 확률밀도함수가 다음과 같을 때 T는 자유도 v를 가진 t-분포를 따른다.

표준정규분포 Z를 찾기 위해서는 모분산 σ^2를 알아야 하지만 현실적으로 모분산을 알 수 없으므로 표본분산 S^2를 사용하고, 이때 정규분포 대신 t-분포를 이용한다.(보통 n<30인 경우)
N(μ, σ^2)으로부터 n개의 표본(X_i)을 추출해 구한 표본분산 S^2에 대해 다음을 따른다.

정규분포를 이루는 모집단에서 독립적으로 추출한 표본들의 분산 비율을 나타낼 때 F-분포를 사용할 수 있다. F-분포는 2개 이상의 표본 평균들이 동일한 모평균을 가진 집단에서 추출되었는지나 서로 다른 모집단에서 추출된 것인지를 판단할 때 사용한다. 서로 독립인 두 확률변수 U와 V가 각각 자유도가 v_1, v_2인 카이제곱 분포를 따를 때, 새로운 확률 변수 F = (U/v_1)/(V/v_2) 는 자유도가 (v_1,v_2)인 F-분포를 따른다. 확률변수 F가 자유도 (v_1, v_2)인 F-분포를 따를 때, 1/F는 자유도 (v_2, v_1)인 F-분포를 따른다. 모분산이 각각 σ_1^2인, σ_2^2인 정규 모집단에서 서로 독립적으로 추출된 크기 (n_1, n_2)인 표본의 분산을 각각 S_1^2, S_2^2라 할 때 F = (S_1^2/σ_1^2)/(S_2^2/σ_2^2) = (S_1^2 * σ_2^2)/(S_2^2 * σ_1^2)는 자유도가 (n_1-1, n_2-1)인 F-분포를 따른다.
모평균 구간추정
모분산 σ^2이 알려진 경우 모평균 μ의 100(1-α)% 신뢰구간 (z_0.5α는 P(Z>z_0.5α) = 0.5α를 만족하는 z값)

모분산을 모르는 경우(표본분산을 이용하는) 모평균 μ의 신뢰구간 t_0.5α, (n-1)는 자유도가 (n-1)인 t-분포를 따르는 T에 대해 P(T> t_0.5α, (n-1)) = 0.5α를 만족하는 t값)

t-분포는 표본수<30인 경우 사용한다. 표본수가 30개 이상인데 모분산을 모르는 경우에도, 표본 수가 충분히 많으면
모집단이 정규분포라는 조건 없이도 표본분산은 모분산에 매우 가까워지므로 z-분포를 이용해 신뢰구간을 구할 수 있다.
모분산, 모비율 구간추정
모분산 σ2의 100(1-α)% 신뢰구간 (𝝌^2_0.5α, 𝝌^2_1-0.5α 는 자유도가 (n-1)인 카이제곱분포에서 P(X>𝝌^2_0.5α) = 0.5α, P(X>𝝌^2_1-0.5α) = 1-0.5α를 만족하는 𝝌^2 값)

이항분포를 따르는 모비율이 p인 사건이 n개의 표본 중 X개가 나타났을 때 표본비율 X/n의 분포는 n이 극한으로 갈 때 정규분포 N(p, p*(1-p)/n)을 따르고 Z 값은 근사적으로 표준정규분포 N(0,1^2)를 따른다. 표본비율의 기댓값은 p이고 분산은 p*(1-p)/n이다.
모비율이 p인 이항분포에서 충분히 많은 n개의 표본으로부터 나온 표본비율에 대해 모비율 p의 100(1-α)% 신뢰구간

가설검정
통계적 가설 검정은 표본에서 얻은 사실을 근거로 하여 모집단에 대한 가설이 맞는지 통계적으로 검정하는 분석 방법이다. 귀무가설(Null hypothesis, H_0)은 직접 검정대상이 되는 가설이다. 먼저 증명된 적 없는 이 귀무가설이 일단 옳다는 가정 하에 검정을 시작하며, 보통은 귀무가설이 진실일 가능성이 적기에 기각(reject)을 목표로 가설을 세운다. 대립가설(Alternative hypothesis, H_1)은 귀무가설의 반대가 되는 가설이다. 보통은 새로운 주장 혹은 실제로 입증시키고 싶은 가설이며 귀무가설이 기각되면 자동적으로 채택되도록 설계한다.
가설검정에서 발생하는 두 가지 오류는 제1종 오류(type 1 error): 귀무가설이 참임에도 이를 기각하는 오류와 제2종 오류(type 2 error): 귀무가설이 거짓임에도 이를 채택하는 오류이다. α(유의 수준) = P(type 1 error) = P(H_0를 기각 | H_0는 참)
β = P(type 2 error) = P(H_0를 채택 | H_0는 거짓)

단측검정, 양측검정
단측검정(One-sided test)은 대립가설 H_1이 어떤 특정값 이상 / 이하라고 설정되는 경우의 검정이다. 단측검정의 경우 유의 수준을 잡고, 임계점을 계산해 기각영역을 설정한다. 양측검정(Two-sided test)은 H_0: μ=μ0, H1: μ!=μ0(μ>μ0 이거나 μ<μ0)이다. 이 경우 유의 수준을 반으로 나누고 기각역을 양쪽에 설정한다.
모평균, 모분산 가설검정
모분산을 아는 경우 검정통계량 Z는

단측검정인 경우 Z > z_α이거나 Z < -z_α면 귀무가설 기각하고 양측검정인 경우 |Z| > z_0.5α이면 귀무가설 기각한다.
모분산을 모르는 경우에는 t-분포를 이용해서 기각역을 구해야 된다. 검정통계량 T는 표본분산을 이용해서

단측검정인 경우 T > t_α,(n-1)이거나 T < -t_α,(n-1)면 귀무가설 기각하고 양측검정인 경우 |T| > T_0.5α,(n-1)이면 귀무가설 기각한다.
두 개의 모집단에 대한 가설검정도 진행할 수 있다. X ~ N(μ_1,σ_1^2), Y ~ N(μ_2,σ_2^2)에서 각각 n_1, n_2개 표본 추출하면 두 표본평균을 얻을 수 있다.



따라서 두 표본평균의 차이값은 정규분포를 따른다.

두 집단의 모분산을 아는 경우와 모르는 경우를 구분하여 검정통계량을 계산 후 가설 검정을 할 수 있다.
두 모집단에서 나온 모분산이 같은지를 알아보는 가설 검정도 가능하다. 귀무가설 H_0을 두 모집단의 분산이 같다 (σ_1^2=σ_2^2)로 설정한다. 이때 σ_1^2=σ_2^2이므로 두 분산의 비율 S_1^2/S_2^2 = (S_1^2/σ_1^2)/(S_2^2/σ_2^2)는 자유도가 (n_1-1, n_2-1)인 F-분포를 따른다. 그래서 검정통계량을 F = S_1^2/S_2^2로 설정 후 검정을 실시할 수 있다.
ANOVA(분산 분석)
ANOVA는 n개의 집단을 비교하는 통계적 분석이다(n>2). n>2인 경우 n개의 집단에서 t 검정을 하는 경우 type 1 error이 누적되는 문제 발생을 해결하기 위해 ANOVA를 사용한다. 분산분석은 사용하기 전 3가지 조건을 만족해야 한다.
- 정규성(normality): 모든 데이터가 정규분포를 따르는 모집단으로부터 추출
정규분포를 따르지 않는 것으로 보이는 경우 Log 변환 등의 전처리가 필요할 수 있다. - 독립성(independency): 모든 데이터가 모집단으로부터 독립적으로 추출
- 등분산성(homoscedasticity): 모든 데이터는 분산이 동일한 모집단들로부터 추출
(보통은 가장 큰 분산과 작은 분산의 비가 4:1 정도를 넘지 않으면 ANOVA를 적용해도 괜찮은 것으로 봄)
일원 분산분석(one-way ANOVA)은 집단의 종류(독립변수)가 하나이고 집단들이 가지는 평균값(종속 변수)이 하나인 경우
그 집단간 모평균의 차이의 여부를 검증하는 방법이다. 귀무가설 H_0은 μ_group1 = ... = μ_group m = μ (m = 그룹 수),
대립가설 H1은 적어도 한 쌍의 모평균은 같지 않음으로 설정한다. m개의 그룹에서, 각 그룹에서 추출한 n개의 표본에 대해서 X_ik를 i번째 그룹의 k번째 표본, X_i hat를 i번째 그룹 내 평균, 전체 평균을 X hat 이라고 할 때 Sum of square(제곱합)값들을 다음과 같이 구할 수 있다.



Sum of squares 값들을 이용해서 그룹 내 분산, 그룹 간 분산, 그리고 분산비를 구할 수 있다. (df: degree of freedom, 자유도) 분산비 F는 자유도가 (k-1, n-k)인 F분포를 따른다.
- MSB(Mean squares between, 그룹간 분산) = SSB / dfB = SSB/(m-1)
- MSE(Mean squares error, 그룹내 분산) = SSE / dfE = SSE/m(n-1)
- 분산비 F = MSB / MSE
H_0는 ‘각 집단간 평균이 같다’ 이므로 맞다면 MSB가 MSE보다 작아야 된다. 즉, 이 F값과 유의 수준 α, 자유도 (k-1, n-k)를 이용해서 우측 단측검정(F=MSB/MSE>1)을 진행하면 된다. 우측 단측검정: F ≧ F_α(k-1, n-k)
공부하며 어려웠던 내용
대학교 1년 동안 배우는 강의를 하루 만에 다 배웠다. 대학생때 했던 내용들이라 익숙했지만 오랜만에 다시 하니 개념이 확실하지 않았다. 우도함수부터 끝까지는 이해가 잘 되지 않는다.
'TIL' 카테고리의 다른 글
| 데이터 분석 과정 학습 및 시각화 실습(3)-2 (1) | 2024.01.10 |
|---|---|
| 데이터 분석 과정 학습 및 시각화 실습(3)-1 (1) | 2024.01.10 |
| 데이터 분석 과정 학습 및 시각화 실습(1) (2) | 2024.01.08 |
| Python 프로그래밍 및 Pandas 활용 실습(5)-2 (1) | 2024.01.07 |
| Python 프로그래밍 및 Pandas 활용 실습(5)-1 (1) | 2024.01.06 |