이산확률변수

매일 공부(ML)·2022년 5월 13일
0

이어드림

목록 보기
41/146

확률변수를 이해하려면 필요한 것은?

  • 통계분석을 위한 기초 수학

  • Python 라이브러리를 활용한 데이터 분석


이산 확률 변수


이산형과 연속형

이산형은 셀 수 있는 데이터고 연속형은 값들 사이에서 무수히 많은 값들이 존재할 수 있기에 셀 수 없는 데이터이다.


확률변수

변수가 취할 수 있는 값과 그 값이 나오는 확률에 의해서 정의된다.


이산형 확률변수와 연속형 확률변수

이산형 확률변수는 확률변수로 취할 수 있는 값들이 셀 수 있는 데이터이고, 연속형 확률변수는 확률변수로 취할 수 있는 값들이 셀 수 없는 데이터를 말한다.


확률질량함수(Probability Mass Function)

확률변수 X가 취할 수 있는 값에 대한 집합을 {x1,x2,....}으로 가정을 한다면, 그때 확률변수 X가 xk라는 값을 취할 확률을 P(X=xk) = pk (k=1,2,...)로 정의된다.

확률은 변수가 취할 수 있는 값 x를 인수로 하는 함수로 f(x) = P(X=x)라고 표현이 가능하고 이를 확률질량함수 혹은 확률함수로 정의된다.


확률의 성질

  • 확률은 2가지 식을 만족해야 한다.

    • 확률이 절대적으로 0이상이어야 한다. f(xk) >= 0

    • 모든 확률을 더하면 1이 되어야 한다. sum of f(xk) = 1

  • 확률이 모두 0이상인지 모든 요소가 참일 때만 참을 반환하는 np.all 함수로 확인이 가능하다.


누적 분포함수(Cumulative Distribution Function:CDF)

  • 확률함수는 P(X=x)로 표현이 되지만, 누적분포함수는 P(X<=x)로 표현된다.

  • 정의: 확률변수 X가 x이하가 될 때의 확률을 반환하는 함수이다.

  • 특징

    • 확률함수는 소문자인 f(x)로 표현이 되고, 누적분포함수는 대문자인 F(x)로 표현이 된다.

    • F(x) = P(X<=x) = sum of f(xk) (xk<=x이다.)


확률변수의 변환

  • 확률변수의 X에 2를 곱하고 3을 더한 2X+3과 같은 연산하기

  • 2X +3이 변환이 되어도 확률변수의 X가 취할 수 있는 값만 변환일 뿐 확률값은 그대로 유지

  • [Python] 2X+3으로 변환된 확률변수 Y 계산


Code

## 코드로 보는 확률질량함수
#Python 확률질량함수로 표현

x_set = np.array([1,2,3,4,5,6])

def f(x):
    if x in x_set:
        return x/21
    else:
        return 0
import sys
print(sys.version)
3.7.13 (default, Apr 24 2022, 01:04:09) 
[GCC 7.5.0]
X = [x_set, f]
#확률 p_k = p(x_k) 계산
prob = np.array([f(x_k) for x_k in x_set])

#x_k와 p_k의 대응을 사전식으로 표시
dic_k = dict(zip(x_set, prob))
dic_k
{1: 0.048, 2: 0.095, 3: 0.143, 4: 0.190, 5: 0.238, 6: 0.286}
#확률 정의
np.all(prob >=0)
True
np.sum(prob)
1.000
#CDF

def F(x):
    return np.sum([f(x_k) for x_k in x_set if x_k <=x])
F(3)
0.286
#확률변수의 변환

y_set = np.array([2*x_k +3 for x_k in x_set])
prob = np.array([f(x_k) for x_k in x_set])
dict(zip(y_set, prob))
{5: 0.048, 7: 0.095, 9: 0.143, 11: 0.190, 13: 0.238, 15: 0.286}
profile
성장을 도울 아카이빙 블로그

0개의 댓글