Home

프로그래머를위한확률과통계

1장 확률이란?

2장 여러 확률변수의 조합

3장 이산값의 확률분포

4장 연속값의 확률분포

5장 공분산행렬과 다변량 정규분포와 타원

5.1 공분산과 상관계수

5.1.1 공분산

두개의 확룰 변수 X,YX, Y에 대한 공분산 Cov[X,Y]\mathrm{Cov}[X, Y] → 식의 모양은 분산과 비슷하지만, 식을 계산하면 분산과는 조금 다르다.
공분산이 양수 → 한쪽이 크면 다른 쪽도 큰 경향이 있다.
공분산이 음수 → 한쪽이 크면 다른 쪽은 반대로 작은 경향이 있다.
공분산이 0 → 한쪽이 크다고 해서 다른 쪽이 크거나 작거나 하는 경향이 없다.
확률변수 X,YX, Y의 기댓값이 각각 μ,ν\mu, \nuX,YX, Y의 공분산(covariance)
Cov[X,Y]=E[(Xμ)(Yν)]\mathrm{Cov}[X, Y] = E[(X-\mu)(Y-\nu)]
{(Xμ)와 (Yν)의 부호가 같은 경우(Xμ)(Yν)는 양수(Xμ)와 (Yν)의 부호가 반대인 경우(Xμ)(Yν)는 음수\begin{cases} (X-\mu)\text{와 }(Y-\nu)\text{의 부호가 같은 경우} \rightarrow (X-\mu)\text{와}(Y-\nu)\text{는 } \text{양수}\\ (X-\mu)\text{와 }(Y-\nu)\text{의 부호가 반대인 경우} \rightarrow (X-\mu)\text{와}(Y-\nu)\text{는 } \text{음수} \end{cases}
공분산이 양수가 되는 경우는
한쪽이 (기댓값보다) 큰 값이면 다른 한쪽도 (기댓값보다) 큰 값이 나올 때가 많음
한쪽이 (기댓값보다) 작은 값이면 다른 한쪽도 (기댓값보다) 작은 값이 나올 때가 많음
공분산이 음수가 되는 경우는
한쪽이 (기댓값보다) 큰 값이면 다른 한쪽은 (기댓값보다) 작은 값이 나올 때가 많음
한쪽이 (기댓값보다) 작은 값이면 다른 한쪽은 (기댓값보다) 큰 값이 나올 때가 많음
위와 같은 이러한 경향이 없을 때는 공분산이 0이 됩니다.

5.1.2 공분산의 성질

Cov[X,Y]=E[(Xμ)(Yν)]Cov[X,Y]=Cov[Y,X]Cov[X,X]=V[X]Cov[X+a,Y+b]=Cov[X,Y]Cov[aX,bY]=abCov[X,Y]Cov[X,Y]=E[XY]E[X]E[Y]\mathrm{Cov}[X, Y] = E[(X-\mu)(Y-\nu)]\\ \mathrm{Cov}[X,Y] = \mathrm{Cov}[Y, X]\\ \mathrm{Cov}[X,X] = \mathrm{V}[X]\\ \mathrm{Cov}[X+a, Y+b] = \mathrm{Cov}[X, Y]\\ \mathrm{Cov}[aX, bY] = ab\mathrm{Cov}[X, Y]\\ \mathrm{Cov}[X, Y] = E[XY] - E[X]E[Y]\\
확률변수 XXYY가 독립인 경우 공분산의 0이다.

5.1.3 경향이 뚜렷한 상태와 상관계수

XX가 크고 YY도 큰 경향 → Cov[X,Y]>0\mathrm{Cov}[X, Y] > 0
XX가 크고 YY도 작은 경향 → Cov[X,Y]<0\mathrm{Cov}[X, Y] < 0
그런 경향이 없다 → Cov[X,Y]=0\mathrm{Cov}[X, Y] = 0
ρXY=Cov[X,Y]V[X]V[Y]\rho_{XY}=\frac{\mathrm{Cov}[X, Y]}{\sqrt{V[X]}\sqrt{V[Y]}}
상관계수는 -1에서 +1까지의 값을 가진다.
상관계수가 +1에 가까울수록 (X,Y)(X, Y)는 오른쪽으로 올라가는 직선에 가깝게 위치한다.
상관계수가 -1에 가까울수록 (X,Y)(X, Y)는 오른쪽으로 내려가는 직선에 가깝게 위치한다.
X,YX, Y가 서로 독립이면 상관계수는 0이다.

5.1.4 공분산이나 상관계수에서 측정할 수 없는 것

두 개의 확률변수를 비교할 때, 상관계수만 가지고 모든 것을 판단할 수 없다. → 데이터의 모양을 보기 위해서 산점도 부터 보는 것을 추천.

5.2 공분산행렬

상관계수는 두 개의 확률변수를 가지고 설명 → 변수를 네 개로 확장한다면?

5.2.1 공분산행렬 = 분산과 공분산의 표

i=ji=j(대각 성분일 때)라면 분산 V[Xi](=Cov[Xi,Xi])V[X_{i}](=\mathrm{Cov}[X_{i}, X_{i}])
iji \ne j(대각 성분이 아닐 때)라면 공분산 Cov[Xi,Xj](=Cov[Xj,Xi])\mathrm{Cov}[X_{i}, X_{j}](=\mathrm{Cov}[X_{j}, X_{i}])
공분산행렬은 대칭행렬(전치해도 마찬가지)
공분산행렬의 대각 성분은 모두 0\ge0

5.2.2 벡터로 정리해서 쓰면

X=(X1X2Xn)\mathbf{X} = \begin{pmatrix} X_1 \\ X_2 \\ \vdots \\ X_n \end{pmatrix}
XX를 사용하면 공분산행렬을 벡터 및 행렬식으로 만들 수 있다.
V[X]=E[(Xμ)(Xμ)T]단,μE[X]V[X] = E[(X-\mu)(X-\mu)^{T}]\quad \text{단,}\mu \equiv E[X]

5.2.3 벡터·행렬의 연산과 기댓값

XXnn차원의 열벡터로 가정
XX의 기댓값
E[X]=E([X1X2Xn])(E[X1]E[X2]E[Xn])E[X] = E \begin{pmatrix}\begin{bmatrix} X_1 \\ X_2 \\ \vdots \\ X_n \end{bmatrix} \end{pmatrix} \equiv \begin{pmatrix} E[X_1] \\ E[X_2] \\ \vdots \\ E[X_n] \end{pmatrix}
상수 c, 상수 벡터 a, 벡터확률 변수 Y에 대해
E[cX]=cE[X],E[X+a]=E[X]+a,E[X+Y]=E[X]+E[Y],E[a]=aE[cX]=cE[X],\quad E[X+a]=E[X]+a,\\ E[X+Y]=E[X]+E[Y],\quad E[a]=a
상수 벡터 a가 주어졌을 때, a와 X의 내적의 기댓값
E[aX]=E[aTX]=aTE[X]=aE[X]E[a \cdot X]=E[a^{T}X]=a^{T}E[X]=a\cdot E[X]
상수 벡터가 아닌 일반 행렬(AA)도 성립
E[AX]=AE[X]E[AX]=AE[X]
여기서 ARm×nA \in \R^{m \times n}을 차원이다. 이 형태를 옆으로 잘라서 행벡터를 쌓아올린 형태로 만들면
A=(a1TamT)A= \begin{pmatrix} a_{1}^{T}\\ \vdots \\ a_{m}^{T}\\ \end{pmatrix}
XX에 연산가능한 형태로 변형가능하다. 실제로 형태를 바꾸는게 아니고 맞는 형태로 맞춰서 보는것이다.
변화하는 행렬 RR
E[AR]=AE[R]E[AR]=AE[R]
RR행렬을 세로로 분리해서 열벡터의 형태로 만들어서 계산한다.
변하지 않는 양의 곱셈은 기댓값 밖으로 꺼낼 수 있다.

5.2.4 벡터 확률변수에 대해 좀 더 알아보자🫥

5.2.5 변수를 바꾸면 공분산행렬이 어떻게 달라질까?

XXnn차원의 변화하는 열벡터, XX의 기댓값 벡터를 μ=E[X]\mu=E[X]일때 → XX의 공분산행렬은
V[X]=E[(Xμ)(Xμ)T]V[X] = E[(X-\mu)(X-\mu)^T]
상수 aaXX에 곱하면 그 공분산행렬은
V[aX]=a2V[X]V[aX] = a^2V[X]
열벡터 aa인 경우는
V[aTX]=aT[V]aV[a^TX]=a^T[V]a
AA가 행렬인 경우
V[AX]=AV[X]ATV[AX]=AV[X]A^T

5.2.6 임의 방향에서의 편차

분산, 공분산 → 행렬, 도형적 해석
확률변수 X=(X1,,Xn)TX=(X_1, \dots, X_n)^Tnn차원의 열벡터
공분산행렬 V[X]V[X] → 대각 성분에 대해 각 성분의 분산 V[X1],V[X2],,V[Xn]V[X_1], V[X_2], \dots, V[X_n]
x1,x2x_1, x_2와 다르게, 비스듬한 방향의 편차를 구하는 방법?
공분산행렬을 이용해서 구함 → 방향은 길이가 1인 벡터 uu를 사용
XXuu에 사영 → 새로운 위치 ZZ
Z=uTX=uX=uXcosθZ=u^TX=u \cdot X = ||u||||X||cos \theta
u=1||u||=1이라는 전제에 의해 uTX=Xcosθu^TX=||X||cos\theta

5.3 다변량 정규분포

단변량 정규분포 → 정규분포의 다차원 버전
수식으로 다루기 쉽고, 깔끔한 이론적 결과를 얻기 쉽다.
현실의 대상에서 다변량 정규분포로 되어 있는(다변량 정규분포라고 생각/근사할 수 있는) 것이 많다.

5.3.1 다변량 표준정규분포

표준정규분포를 따르는 i.i.d. 한 확률변수들 Z1,,ZnZ_1, \dots, Z_n의 열벡터 Z=(Z1,,Zn)TZ = (Z_1, \dots, Z_n)^TZZ가 따르는 분포를 n차원 표준정규분포, ZZn×1n \times 1 차원(열벡터)
2차원 표준정규분포를 예를 들어서 설명
원점 주위가 나오기 쉽고, 원점에서 멀어 질 수록 나오기 어렵다. 그리고 위쪽, 오른쪽 아래, 또는 특정 방향으로 어긋나기 쉬운 것이 아니라, 어느 방향에서도 균등하다.
Z1,,ZnZ_1, \dots, Z_n이 독립적이라는 전제하에 ZZ의 확률밀도함수는
fZ(z)=g(z1)g(z2)g(zn)단, z=(z1,z2,zn)T,g는 표준정규분표의 확률밀도함수f_Z(z)=g(z_1)g(z_2)\dots g(z_n)\\ \text{단, }z = (z_1, z_2 \dots, z_n)^T, g\text{는 표준정규분표의 확률밀도함수}
다변량 정규분포의 증명 유도 과정
각 성분의 표준편차는 모두 1이다.(이는 만드는 방법에서부터 당연한 사실이다.)
게다가 좌표축 방향에 국한되지 않고 어떤 방향의 표준편차도 모두 1이다.

5.3.2 일반적인 다변량 정규분포

1차원일 때는 표준정규분포를 따르는 확률변수 ZN(0,1)Z \sim N(0, 1)을 확대 축소하거나 평행이동함으로써 여러 정규분포를 따르는 확률변수 X=σZ+μN(μ,σ2)X = \sigma Z + \mu \sim N(\mu, \sigma^2)을 만들었다. → nn차원 표준정규분포를 따르는 확률변수 ZN(o,I)Z \sim N(o, I)를 변환해서 여러 가지를 변화를 만들어 낸다.
확대 축소와 평행이동
σ\sigma는 양의 정수, μ\munn차원의 상수 벡터 → Z=σZ+μZ = \sigma Z + \mu
E[X]=σE[Z]+μ=μV[X]=σ2V[Z]=σ2I=(σ2σ2)(빈 칸은 모두 0)E[X] = \sigma E[Z] + \mu = \mu \\ V[X] = \sigma^2V[Z] = \sigma^2I= \begin{pmatrix} \sigma^2 & & \\ & \ddots & \\ & & \sigma^2 \end{pmatrix} \quad (\text{빈 칸은 모두 0})
XX의 분포는 기댓값 μ\mu, 공분산행렬 σ2I\sigma^2Inn차원 정규분포, XN(μ,σ2I)X \sim N(\mu, \sigma^2I)
종횡 신축
위의 확대 축소는 모든 방향으로 균등하게 σ\sigma배가 되었다. → 만약 축에 의해 늘어나고 줄어드는 배율을 바꾸면?
기준인 원도 연동되어 타원으로 변환된다.
확대 축소를 축 단위로 다르게 적용한다고 이해하면 좋다.
V[X]=V[DZ]=DV[Z]DT=DIDTV[X] = V[DZ] = DV[Z]D^T = DID^T
추가 회전
확대 축소 + 평행이동 + 종횡 시축 + (추가 회전) → 추가적으로 회전을 주는 방법은?
회전이라는 조작은 일반적으로 직교행렬을 곱하는 모습으로 표현된다.
1.
다변량 표준정규분포를 따르는 ZN(o,I)Z \sim N(o, I)에 어떤 대각행렬 DD를 곱해서 X=DZN(o,D2)X=DZ \sim N(o, D^2)을 만든다.
2.
XX에 어떤 직교행렬 QQ를 곱해서 Y=QXY=QX를 만든다.
3.
E[Y]=QE[X]=0V[Y]=QV[X]QT=QDIDTQTE[Y]=QE[X]=0\\ V[Y]=QV[X]Q^T=QDID^TQ^T
이렇게 만들어진 YY의 분포가 (기댓값이 oo인) 일반적인 다변량 정규분포다.
반대로 원하는 공분산행렬 VV를 가진 다변량 정규분포를 만들고 싶다면
V=QD2QTV=QD^2Q^T
대각행렬 DD, 직교행렬 QQQTVQ=D2Q^TVQ = D^2, 공분산행렬 V는 대칭행렬
두어진 대칭행렬 VV에 대해 알맞은 직교행렬QQ를 찾아 QTVQQ^TVQ가 대각행렬이 되면 된다.
QTVQ=diag(λ1,,λn)Q^TVQ = \mathrm{diag}(\lambda_1, \dots, \lambda_n)
D=(λ1λn)(빈 칸은 모두 0)D=\begin{pmatrix} \sqrt{\lambda_1} & &\\ & \ddots &\\ & & \sqrt{\lambda_n}\\ \end{pmatrix} \quad (\text{빈 칸은 모두 0})
DDQQ를 사용 → 다변량 정규분포 N(o,V)N(o, V)를 얻을 수 있다.
대칭행렬의 직교행렬에 의한 대각선화란 무엇인가?
대칭행렬의 성징: HH가 대칭행렬이라면 알맞은 직교행렬 QQ를 취해 QTHQQ^THQ가 반드시 대각행렬이 되도록 할 수 있다.
QQ를 사용해서 얻어지는 대각행렬을 Λ=diag(λ1,,λn)\Lambda = \mathrm{diag}(\lambda_1, \dots, \lambda_n)이고, QQ는 직교행렬이고 QT=Q1Q^T=Q^{-1}
QTHQ=ΛQ^THQ =\Lambda, HQ=QΛHQ=Q\Lambda 일 때,
QQ의 각 열벡터 q1,,qnq_1, \dots, q_nHH의 고유벡터다.
위 식을 열마다 확인해보면 Hqi=λiqiHq_i=\lambda_iq_iqiq_iHH의 고유벡터(고윳값은 λi\lambda_i)
1.
주어진 대칭행렬 VV의 고윳값 λ1,,λn\lambda_1, \dots, \lambda_n을 구한다.
2.
각 고윳값 λn\lambda_n의 고유벡터 qiq_i를 구한다.
3.
고유벡터의 길이를 1로 일치시킨다. 구체적으로는 qi=pipiq_i= \frac{p_i}{||p_i||}로 둔다.
4.
고유백터가 나란히 늘어선 QQ를 만든다.
Q=(q1qn)Q = \begin{pmatrix} q_1 \Big| \cdots \Big| q_n \end{pmatrix}
완성된 QQ는 직교행렬이 되는 것이 보증됩니다.그리고 이 QQVV를 변환하면
QTVQ=(λ1λn)(빈 칸은 모두 0)Q^TVQ=\begin{pmatrix} \lambda_1 & &\\ & \ddots &\\ & & \lambda_n\\ \end{pmatrix} \quad (\text{빈 칸은 모두 0})
처럼 대각행렬이 된다.

5.3.3 다변량 정규분포의 확률밀도함수

기댓값이 oo인 경우
fZ(z)=12πnexp(12z2)f_Z(z)=\frac{1}{\sqrt{2\pi}^{n}}\mathrm{exp}\left(-\frac{1}{2}||z||^2\right)
V=QD2QTV=QD^2Q^T의 공분산행렬을 가진 nn차원 정규분포 N(o,V)N(o, V)
Y=AZ(A=QD)Y=AZ \quad (A=QD)
QQ는 직교행렬, DD는 대각행렬
fY(y)=1detAfZ(A1y)=1detA12πnexp(12A1y2)f_Y(y)=\frac{1}{|\mathrm{detA}|}f_Z(A^{-1}y) =\frac{1}{|\mathrm{detA}|} \cdot \frac{1}{\sqrt{2\pi}^n}\mathrm{exp}\left(-\frac{1}{2}||A^{-1}y||^2\right)
우변을 정리해서 VV식으로 나타내고 싶은데,
V=V[AZ]=AV[Z]AT=AIAT=AATV = V[AZ]=AV[Z]A^T=AIA^T=AA^T
detV=det(AAT)=(detA)(detAT)=(detA)2detA=detV\mathrm{det}V = \mathrm{det}(AA^T) = (\mathrm{det}A)(\mathrm{det}A^T) = (\mathrm{det}A)^2\\ |\mathrm{det}A|=\sqrt{\mathrm{det}V}
V1=(AAT)1=(AT)1A1=(A1)TA1V^{-1}=(AA^T)^{-1}=(A^T)^{-1}A^{-1}=(A^{-1})^{T}A^{-1}
A1y2=(A1y)T(A1y)=yT(A1)TA1y=yTV1y||A^{-1}y||^{2}=(A^{-1}y)^{T}(A^{-1}y)=y^{T}(A^{-1})^{T}A^{-1}y=y^{T}V^{-1}y
fY(y)=1(2π)2detVexp(12yTV1y)f_{Y}(y)=\frac{1}{\sqrt{(2\pi)^{2}\mathrm{det}V}}\mathrm{exp}\left(-\frac{1}{2}y^{T}V^{-1}y\right)
nn차원 정규분포 N(o,V)N(o, V)
fY˜(y˜)=fY(y˜μ)=1(2π)2detVexp(12(y˜μ)TV1(y˜μ))f_{\~Y}(\~y)=f_{Y}(\~y-\mu)=\frac{1}{\sqrt{(2\pi)^{2}\mathrm{det}V}}\mathrm{exp}\left(-\frac{1}{2}(\~y-\mu)^{T}V^{-1}(\~y-\mu)\right)
nn차원 정규분포 N(μ,V)N(\mu, V)
f(x)=1(2π)2detVexp(12(xμ)TV1(xμ))f(x)=\frac{1}{\sqrt{(2\pi)^{2}\mathrm{det}V}}\mathrm{exp}\left(-\frac{1}{2}(x-\mu)^{T}V^{-1}(x-\mu)\right)
xx로 정리하면

5.3.4 다변량 정규분포의 성질