728x90
반응형

1. 이항분포

 

==> 많이 사용하는 확률 모형 : 이항분포, 푸아송분포 , 초기하분포

 

 

1. 이항실험(Bionomial Experiment)

 

==> 실험은 N번의 시행

 

==> 실험 결과는 성공(S) , 실패(F)

 

==> 성공 확률 : p , 실패 확률 : q = 1- p ==> 확률 변수 X는 p의 베르누이 분포 이룬다.

 

==> 매 시행은 독립적, 이전 결과가 다음 시행에 영향 X

 

==> N번 중 성공 횟수 x에 관심

 

==> 베르누이 실험을 독립적으로 n번 시행 ==> 이항실험

 

EX) 주사위 3번 ==> 1이 나온 횟수에 관심

 

P(X =1 ) , P(X = 0 ) ==> 확률변수 X 는 1이 성공 0 이 실패

 

P(X = 1) = 1/6 , P(X = 0 ) = 5/6

 

 

2. 이항분포(Bionomial Distribution)

 

==> 매회 성공률이 p인 베르누이 시행을 독립적으로 n번 반복하여 시행

 

X ~ B(n , p)

 

이항 분포 식

 

EX-01 ) 5지 선다 10문제에서 임의로 답안 선택

 

1> 정답을 선택한 문제 수에 대한 확률함수

 

P(X = 1) = 0.2 P(X = 0) = 0.8

 

len(list(itertools.combinations(np.arange(10) , x)))*(math.pow(0.2 , x)) *(math.pow(0.8 , n-x)) #n은 전체 갯수 , x는 맞춘 갯수

==> x는 맞춘횟수 , n은 전체 횟수

 

2> 꼭 2문제를 맞힐 확률

X ~ B(10 , 0.2)

b = len(list(itertools.combinations(np.arange(10) , 2)))*(math.pow(0.2 , 2)) *(math.pow(0.8 , 8))
print(b)

p(x) = 10C2 * (0.2 ** 2) * (0.8 ** 8) =  0.302

 

3> 1문제 이상 맞힐 확률

 

==> 1 - 모든 문제를 틀릴 확률

 

x = 0 

b = 1- len(list(itertools.combinations(np.arange(10) , 0)))*(math.pow(0.2 , 0)) *(math.pow(0.8 , 10)) #n은 전체 갯수 , x는 맞춘 갯수
print(b)

p(x) = 1- 10C0 * (0.2 **0) * (0.8 ** 10) = 0.8926

 

 

 

EX-02 ) 매회 성공률이 0.3인 베르누이 시행을 독립적으로 4번 반복

 

1> 성공한 횟수에 대한 확률함수

 

P(X = 1) = 0.3 P(X = 0) = 0.7

 

f(x) = nCx * (0.3 ** x) * (0.7 ** (n-x))

 = 4Cx * (0.3 ** x) * (0.7 ** (4-x)) , x=0,1,2,3

 

2> 2번 성공할 확률

 

f(x = 2 ) = 4C2 * (0.3 **2) * (0.7 ** 2) = 0.2646

 

 

 

EX-03) 출국자수 1485만 , 30% 출국 ==> 10명 무작위 선정 

 

1> 출국 경험이 있는 사람이 4명 이하일 확률

P(X <= 4) = 0.8497

 

2>정확히 3명

P(X = 3) = P(X<=3) - P(X<=2) = 0.6496-0.3828 = 0.2668

 

3> 5명 이상일 확률

P(X>=5) = 1- P(X<= 4) = 1 - 0.8497 = 0.1503

 

p(X = 1) = p = 0.3

p(X = 0) = q=  0.7

 

EX-04) A는 6번 시도 , 상품을 판매할 확률 30% , B는 9번 시도 판매확률 30%

 

1> A,B 함께 판매한 상품이 5개일 확률

 

A  : X~ B(6 , 0.3)

B : X~ B(9, 0.3)

 

S : X ~ B(6+9 , 0.3) = X ~ B(15 , 0.3)

 

P(S = 5) = P(S<=5) - P(S<= 4) = 0.7216 -0.5155 = 0.2061 ==> 누적이항확률표 참고

 

 

2> A가 판매한 상품수가 x(x = 0 , 1 , 2 ,3 ,4 ,5)개이고 B가 판매한 상품 수 가 5- x개일 확률

 

이항분포:

 

A  : X~ B(6 , 0.3) ==> P(X) = 6Cx * (0.3 ** x) * (0.7 ** 6-x)

B : X~ B(9, 0.3) ==> P(X) = 9Cx * (0.3 ** 5-x) * (0.7 ** 9-(5-x))

 

P(A = 0 ) = 0.1176

P(B = 5-0) = 0.0735

 

for x in range(6):
    a = len(list(itertools.combinations(np.arange(6) , x)))*(math.pow(0.3 , x)) *(math.pow(0.7 , 6-x))
    b = len(list(itertools.combinations(np.arange(9) , 5-x)))*(math.pow(0.3 , 5-x)) *(math.pow(0.7 , 9-(5-x)))
    # print('a : {}'.format(a))
    # print('b : {}'.format(b))
    s = a*b
    print('P(x = {} , y = {}) , s : {}'.format(x , 5-x , s))

P(x = 0 , y = 5) , s : 0.008648827173881995
P(x = 1 , y = 4) , s : 0.05189296304329196
P(x = 2 , y = 3) , s : 0.08648827173881993
P(x = 3 , y = 2) , s : 0.04942186956503996
P(x = 4 , y = 1) , s : 0.009266600543444992
P(x = 5 , y = 0) , s : 0.0004118489130419996

 

 

3> A,B 함께 판매한 상품이 모두 5개일때 A가 판매한 상품이 3개일 확률

sume = 0
for x in range(6):
    a = len(list(itertools.combinations(np.arange(6) , x)))*(math.pow(0.3 , x)) *(math.pow(0.7 , 6-x))
    b = len(list(itertools.combinations(np.arange(9) , 5-x)))*(math.pow(0.3 , 5-x)) *(math.pow(0.7 , 9-(5-x)))
    # print('a : {}'.format(a))
    # print('b : {}'.format(b))
    s = a*b
    sume += s
    print('P(x = {} , y = {}) , s : {}'.format(x , 5-x , s))
print(sume)

P(x = 3 , y = 2) , s : 0.04942186956503996

 

P(X+Y = 5 ) = 0.2061

 

P(X = 3 | X + Y = 5) = 0.0494 / 0.2061

 

 

EX-05) A,B 공장 불량률 5% , A,B 각각 5대씩 판매할 때 불량품이 꼭 하나 있을 확률 , 적어도 하나 있을 확률

 

불량품이 꼭 하나 있을 확률 : P(X+Y = 1)

불량품이 적어도 하나 있을 확률 : P(X+Y >= 1)  = 1-  + P( X+Y = 0))

 

A : X ~ B (5 , 0.05)

B : X ~ B (5 , 0.05)

 

p(A) = 5Cx  * (0.05 ** x) * (0.95 ** 5-x)

p(B) =  5Cx  * (0.05 ** x) * (0.95 ** 5-x)

 

sume = 0
for x in range(2):
    a = len(list(itertools.combinations(np.arange(5) , x)))*(math.pow(0.3 , x)) *(math.pow(0.7 , 5-x))
    b = len(list(itertools.combinations(np.arange(5) , 1-x)))*(math.pow(0.3 , 1-x)) *(math.pow(0.7 , 5-(1-x)))

    s = a*b
    sume += s
    print('P(x = {} , y = {}) , s : {}'.format(x , 1-x , s))
print(sume)


print(1- len(list(itertools.combinations(np.arange(5) , 0)))*(math.pow(0.3 , 0)) *(math.pow(0.7 , 5))**2)

P(X+Y = 1 ) = 0.1210

P(X+Y >= 1) = 0.9717

 

3. 이항분포의 평균과 분산

평균
분산

 

EX-01> A,B 공장 불량률 5% ,  10 대의 TV에 포함된 불량품 수의 평균과 표준편차

 

n = 10 p = 0.05 q = 0.95

print(10 * 0.05)
print(math.sqrt(0.5 * 0.95))

m = 5

s = 0.6892

 

출처 :  [쉽게 배우는 생활속의 통계학]  [북스힐 , 이재원] 

※혼자 공부 정리용

728x90
반응형

+ Recent posts