-
반응형
독립사건
주사위를 두 번 던졌을 때
A사건: 첫 번째가 짝수로 나오는 것,
B사건: 두 번째가 3의 배수로 나오는 것은
서로 영향을 주지 않는다.결합사건, 결합확률
둘이 '동시에' 발생하는 사건을 결합사건이라고 하며,
이때 확률을 결합확률이라고 한다.첫 번째가 짝수로 나옴과 동시에(?) 두 번째가 3의 배수로 나오는 것을 표로 나타내어 보자.
그런데 이게 왜 '동시' 인가... ㅎㅎㅎ 여기서 '동시'라는 말뜻이 이해가 되지 않는다.
시간적인 의미의 '동시' 라기 보다는
그냥 조건부가 아니다, 조건을 걸지 않았다라는 뜻으로 기억하는 게 더 쉽다.첫 번째 \ 두 번째 1 2 3 4 5 6 1 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 2 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 3 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 4 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 5 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 6 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 1 / 36 독립사건의 결합확률은 각 확률의 곱이 된다.
P(A∩B) = P(A) * P(B) = 1/2 * 1/3 = 1/6 이며
위 표 총 36개에서 빨간색 끼리의 교차에 해당되는 6개와 같다.조건부 확률
결합확률의 반대 의미로 조건부확률이 있다.
몬티 홀 문제
조건부 확률의 대표적인 문제로 몬티 홀 문제(Monty Hall problem)가 있다.
Suppose you’re on a game show, and you’re given the choice of three doors. Behind one door is a car, behind the others, goats. You pick a door, say #1, and the host, who knows what’s behind the doors, opens another door, say #3, which has a goat. He says to you, "Do you want to pick door #2?" Is it to your advantage to switch your choice of doors?
당신이 한 게임 쇼에서 3개의 문 중에 하나를 고를 수 있는 상황이라고 가정하자. 한 문 뒤에는 자동차가, 다른 두 문 뒤에는 염소가 있다. 당신이 1번 문을 고르자, 문 뒤에 무엇이 있는지 아는 사회자는 3번 문을 열어서 염소를 보여줬다. 그리고는 "2번 문으로 바꾸시겠습니까?"라고 물었다. 이 상황에서, 당신의 선택을 바꾸는 게 유리할까?본인도 처음에는 문제를 제대로 이해하지 못했었는데...
현실의 퀴즈 쇼에서는
확률이 낮은 방향으로 사회자가 유도하여
참여자를 후회시키는 전개가 종종 발생하기 때문에
그런 트릭이 있다고 착각을 해서 ㅠ,.ㅠ사실 이 문제에서
사회자의 염소 공개는
당첨 확률을 높여주는
고마운 행동이다.인생을 너무 속고만 살아서...
사회자가 그럴 리 없다고 생각...코딩을 하면서 한 번 더 읽어보고서야 문제를 제대로 이해할 수 있었고..
세부사항을 쳐내고 핵심적인 규칙만 말하자면 다음과 같다.
1. 닫혀 있는 문 3개가 있다.
2. 한 문 뒤에는 상품(=자동차)이 있고, 나머지 두 문은 꽝(=염소)이다.
3. 참가자는 이 3가지 문 중 하나를 골라야 상품을 얻을 수 있다.
4. 참가자가 문 하나를 고르면, "이미 상품이 어딨는지 알고 있는 사회자"는
남은 2가지 문 중에 하나를 열고 그게 '꽝'이라는 사실을 밝힌다.
5. 여기서 참가자에게 다른 문으로 바꿀 수 있는 기회가 주어진다.문제를 이해한 뒤에도
코딩을 하기 전에는첫 번째 선택은
아무 것도 모르는 상태에서 선택을 하기 때문에
1/3의 확률을 가지고... (이건 맞다.)두 번째 선택은
사회자가 염소를 하나 보여준 뒤에 선택을 하기 때문에
나머지는 염소 하나, 자동차 하나 중에서 선택을 하니
확률은 1/2가 된다고 생각했지만...그건 틀렸다 ㅠ.,ㅠ
하지만 이 정도까지만 생각하더라도
저 출연자의 입장에서 두 번째에 바꾸는 것이 무조건 이익이라는 걸 아니까
실생활에서 제대로 된 선택을 하는 데 지장이 없긴 하다. ^^하지만 정답은 2/3 인데..
두 번째 선택의 확률이 1/2이 되려면
첫 번째 선택과 상관없이 두 번째 선택을 해야 하는데
첫 번째 선택한 것을 두 번째는 선택할 수 없다.다시 말해서 두 번째 선택은
첫 번째 선택한 문, 사회자가 연 문을 피해서
선택해야 되기 때문에 이런 결과가 나온다.다음 코드를 참고하시기 바라며..
본인이 혹시 다르게 생각했다면
그 방식으로 코드를 변형해 본다면
뭐가 문제인지 알 수 있을 것이다.https://comdoc.tistory.com/entry/Monty-Hall-problem
나무위키에 좋은 설명이 많으니 참고하시길..
https://namu.wiki/w/%EB%AA%AC%ED%8B%B0%20%ED%99%80%20%EB%AC%B8%EC%A0%9C#s-3.1
베이즈 정리(Bayes' theorem)
https://namu.wiki/w/%EB%B2%A0%EC%9D%B4%EC%A6%88%20%EC%A0%95%EB%A6%AC
베이즈 정리는 본래 역확률(inverse probability) 문제를 해결하기 위한 방법이었다.
즉, 조건부 확률 P(B∣A)를 알고 있을 때,
전제와 관심 사건의 관계가 정반대인 조건부 확률
P(A∣B)를 구하는 방법이었다.P(A|B)는 B가 일어났을 때 A가 일어날 확률의 의미이다.
분수 A/B의 느낌과 비슷. (B와 A의 교집합) / (B가 일어난 모든 케이스)P(A) 또는 P(B)는 사전확률
P(B∣A) 또는 P(A∣B) 가
좌변에 있을 때는 사후확률, 우변에 있을 때는 가능도
라고 한다.아래의 예들로 베이즈를 생각해 보자.
쇼핑 센터에서 A, B 물건 구매에 대한 연관성을 파악하려고 한다.
P(A): A 물건을 살 확률: 1/4
P(B): B 물건을 살 확률: 1/3
P(B|A): A를 산 사람 중에, B를 산 비율(확률): 1/5B를 산 사람이 A를 살 확률:
P(A|B) = (1/4 * 1/5) / (1/3) = 3 / 20--------------------------------------------
유병률(전체 인구 중 병에 걸린 사람의 비율)은 1%.
환자를 검사했을 때 양성일 확률(P(양성|환자), 민감도, 양성 판정 정확도)은 95%이다.
건강인을 검사했을 때 음성일 확률(P(음성|건강), 특이도, 음성 판정 정확도)는 90%이다.https://ko.wikipedia.org/wiki/%EB%AF%BC%EA%B0%90%EB%8F%84%EC%99%80_%ED%8A%B9%EC%9D%B4%EB%8F%84
이 정보로 양성이 나왔을 때 환자일 확률을 계산할 수 있을까?
10000명을 기준으로 계산해 보자.
환자는 100명, 건강인은 9900명이다.양성 음성 환자 100 건강인 9900 환자를 검사했을 때 양성일 확률(민감도)은 95% = 95명.
환자를 검사했을 때 음성일 확률(위음성)은 5% = 5명.
건강인을 검사했을 때 음성일 확률(특이도) = 90% = 8910명
건강인을 검사했을 때 양성일 확률(위양성) = 10% = 990명양성 음성 환자 95 5 100 건강인 990 8910 9900 1085 8915 10000 양성인데 환자일 확률은 95 / 1085 * 100 = 8.76%이다.
주머니 속에 당첨제비가 3장, 꽝이 7장 들어있을 때, 갑이 1장을 뽑고 확인은 하지 않고 자기가 갖고 있는다. 그다음에 을이 1장을 뽑았는데 당첨이었다. 이때 갑도 당첨이었을 확률을 구하는 것인데, 갑이 당첨인 사건을 A라 하고 을이 당첨인 사건을 B라 한 다음 위 공식에 따라 계산하면 확률은 2/9 라는 것을 알 수 있다.
P(A) = 갑이 당첨될 확률 = 3/10
P(B) = 을이 당첨될 확률 = 3/10 * 2/9 + 7/10 * 3/9 = 27/90 = 3/10
P(B|A)= 갑이 당첨된 '모든 케이스 중'에 을이 당첨된 확률 = 3/10 * 2/9 / (3/10) = 2/9
# 주의 필요: P(B|A)를 갑이 당첨된 후 을이 당첨된 확률 (= 3/10 * 2/9)로 착각하기 쉽다.P(A|B) = P(B|A) * P(A) / P(B) = 2/9 * 3/10 / (3/10) = 2/9
from random import sample test_list = [1, 1, 1, 0, 0, 0, 0, 0, 0, 0] sample00 = 0 sample10 = 0 sample01 = 0 sample11 = 0 for __ in range(100000): temp = sample(test_list, 2) if temp == [0, 0]: sample00 += 1 elif temp == [0, 1]: sample01 += 1 elif temp == [1, 0]: sample10 += 1 elif temp == [1, 1]: sample11 += 1 print(sample00 / 1000, sample10 / 1000, sample01 / 1000, sample11 / 1000) print(sample11 / (sample01 + sample11))
46.567 23.409 23.367 6.657 0.22172262190247802
https://www.youtube.com/watch?v=Y4ecU7NkiEI
반응형