서로 독립인 다차원 확률변수
2개 이상의 확률변수가 서로 영향을 끼치지 않으면서 관계가 없을 나타내는 개념
2차원 확률변수(X,Y)의 경우, 다음과 같은 관계식이 성립할 때 독립
fX,Y(x,y) = fX(x)fY(y)
독립: 확률변수가 다른 확률변수에 서로 영향을 미치지 않음
독립의 중요성: 통계분석에서 사용하는 데이터의 대부분이 독립이면서 다차원인 확률변수로 가정하고 분석 진행
독립동일분포(i.i.d:independently and identically distributed)
- 서로 독립이고 각각 동일한 확률분포를 따르는 다차원 확률변수를 말함
- 통계분석에서 가장 기본적이고 중요한 조건
n개의 확률변수(X1,X2,...Xn)가 다음을 만족할 때, X1,X2...,Xn은 서로 독립이다
식
- fx1,x2,x3...xn(x1,x2,...,xn) = fx1(x1)fx2(x2)...fxn(xn)
- 단 f가 이상형이면 주변확률함수이고 연속형이면 주변확률밀도함수이다.
공분산과 상관계수의 개념은 그 값이 0일 때, 무상관임을 표현한다.(즉 선형관계가 없다)
독립일 때 무상관성을 만족하지만 무상관성이라고 반드시 독립인 것은 아니다.
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
np.random.seed(0)
%precision 3
%matplotlib inline
linestyles = ['-','--',':','-.']
def E(XY, g):
x_set, y_set, f_XY =XY
return np.sum([g(x_i, y_j) * f_XY(x_i,y_j) for x_i in x_set for y_j in y_set])
def Cov(XY):
x_set, y_set, f_XY =XY
mean_X = E(XY, lambda x, y:x)
mean_Y = E(XY, lambda x, y:y)
return np.sum([(x_i-mean_X) * (y_j-mean_Y) * f_XY(x_i,y_j) for x_i in x_set for y_j in y_set])
def f_X(x):
return np.sum([f_XY(x,y_k) for y_k in y_set])
def f_Y(y):
return np.sum([f_XY(x_k,y) for x_k in x_set])
#독립성과 무상관성
x_set = np.array([1,2,3,4,5,6])
y_set = np.array([1,2,3,4,5,6])
def f_XY(x,y):
if x in x_set and y in y_set:
return x*y /441
else:
return 0
XY = [x_set, y_set, f_XY]
Cov(XY)
-0.000
#각각 확률이 동일한 경우
#fX,Y(x,y) = 1/3 {(x,y) is (0,0) ,(1,1),(1,-1)}
#fX,Y(x,y) = 0 {otherwise}
x_set = np.array([0,1])
y_set = np.array([-1,0,1])
def f_XY(x,y):
if (x,y) in [(0,0),(1,1),(1,-1)]:
return 1/3
else:
return 0
XY = [x_set, y_set, f_XY]
Cov(XY) #0.00