|
|
로또관련얘기는 아닌데
몇년전 같은 닉으로 몇개 질문했던 사람입니다. 두가지 질문하고 싶은게있는데 첫번째로는 도박사의 오류에 관련된 것입니다. 익히 들어 아는 개념인데, 최근들어 잘못된 개념이란 생각이드네요. 주사위를 1000번 던져 1000번 다 2가 나왔다면 1001번째 시행에서 1~6까지의 확률이 다 같다고 하기보다는 주사위의 오류라는 가설을 채택하고, 또 2가 나올 것이라 생각하는것이 바람직하지 않을까요? 1000번이 아니라 100번이라면? 10번이라면? 신뢰성이 낮아지긴 하겠지만, 나왔던 것이 또 나올 것이라고 생각하는 것이 꼭 "도박사의 오류"로 치부되어야만 하는것은 아니라고 생각합니다. 두번째 질문은 "두 봉투의 역설"이란 문제인데 기댓값과 확률에 관한 문제라 2주째 고민해도 답을 모르겠고 딱히 물어볼곳도 없고 하던중에 이 사이트가 생각났습니다. https://ppt21.com/pb/pb.php?id=qna&no=112235 문제는 이 게시글에 잘 설명되어있고, 문제만 읽으셔도 되고 댓글에 여러 의견도 있으니 읽어보셔도 괜찮습니다. 바쁘신건알지만 로또에관한 글이나 시뮬레이팅하시는 걸 보고 어 문제에대해 어떻게 생각하실지, 이 선택도 시뮬레이팅하여 대수의 법칙으로 답을 알아낼수는 없는지 하는 기대에 질문드립니다. 감사합니다.
|
11
2018-12-11 09:39
|
저도 궁금하네요. 근데 말씀하신 두가지 다 결국 기대 심리에 해당하는거 아닌가요? 결국 확률에는 아무런 영향을 주지 못함 이곳 관리자님께서 이해하기 쉽도록 설명 해주실 내용들이 벌써 기대 되네요.
|
|||||||
운영자
2018-12-14 00:21
|
1. 도박사의 오류 말씀하신 내용은 도박사의 오류보다는 통계에 따라 선택해야 하는 상황으로 보아야 할 것입니다. 보통 제품을 생산하는 공장에서 품질관리를 할 때, 그렇게 하겠죠. 말씀처럼 1,000번 동안 1,000번 모두 2가 나왔다면, 이미 확률의 영역을 벗어난 상황입니다. 도박사의 오류의 예는 라스베거스에서 룰렛 게임을 하는데, 블랙과 레드 중 선택하는 상황에서 20번 연속 블랙이 나왔었다고 합니다. 아마 5번 연속 이후부터는 사람들이 '다음에는 레드가 아닐까?'하는 생각을 계속 했을 것이고, 회를 거듭할수록 그 기대치는 계속 상승했을 것입니다. "어떻게 20번동안 계속 블랙이 나올 수가 있어? 이번에야 말로 레드가 분명할거야!" 하지만, 이후로도 블랙이 6번 더 나오고 27번째가 되어서야 블랙이 나왔다고 합니다. 말씀하신것처럼 20번까지 블랙이 나왔다면, 앞으로 계속 블랙이 나올것이라고 기대하고 블랙에 돈을 걸어야 할까요? 그 역시 도박사의 오류입니다. 20회의 결과만으로 오류를 간파하는 것이 가능한 일일까요? 아마도 27번째에는 큰 돈을 잃게 되었을 것입니다. 과거의 결과를 참고하여 미래를 예측하는 자체가 잘못된 믿음입니다. 독립시행은 과거의 결과가 미래에 어떠한 영향도 미치지 않기 때문입니다. 요약하자면, "~~했으니까 ~~할거야"라는 생각 자체가 오류라는 것입니다. 2. 두 봉투의 역설 고민할것 없이 이 역시 복불복입니다. 내가 열어본 봉투에 들어 있는 돈의 50%냐 200%냐로 따지는 부분에서 오류가 발생합니다. 존재하지 않는 허수가 기대값이 되기 때문입니다. 내가 본 돈을 기준으로 해서 다른 봉투에 들어 있는 돈이 그때마다 50%나 200%로 세팅되는 것이 아니라 χ와 2χ로 정해진 것을 놓고 선택한 다음 다른 것으로 바꾸냐 바꾸지 않느냐를 선택하는 상황이니까요. 즉, 내가 본 돈이 1,000원이고 다른 봉투의 돈이 500원일때에도 사람은 2,000원과 500원을 놓고 기대를 하게 됩니다. 그러면서 존재하지도 않는 2,000원과 500원을 두고 확률은 1/2라고 생각해서 두 경우의 결과의 합인 2,500원을 두고 기대값 1,250원을 계산합니다. 이런 상황으로 인지하면 무조건 바꾸는 것이 유리합니다. 실제로 시물레이션을 돌려보면 그렇지 않습니다. 수학식으로는 구현하지 못하겠고... case1tot = 0; // 봉투를 바꾸지 않을 경우의 누적 값 case2tot = 0; // 봉투를 항상 바꿀 경우의 누적 값 for(i=0;i<1000;i++) { // 1,000번 반복 r1 = rand(1,2); // r1은 1 또는 2 중 무작위로 선택되는 수 r2 = rand(1,2); // r2은 1 또는 2 중 무작위로 선택되는 수 // 봉투에 돈 넣기 a = 1000; // a봉투에 1,000원을 넣음 if(r1==1) b = 500; // r1이 1이면 b봉투에 a의 절반을 넣음 else b = 2000; // r1이 1이 아니면 b봉투에 a의 2배를 넣음 // 열어볼 봉투 선택 if(r2==1) c = a; // r2가 1이면 a 봉투를 선택한 것임 else c = b; // r2가 1이 아니면 b 봉투를 선택한 것임 // 봉투를 바꾸지 않을 경우의 합 case1tot = case1tot + c; // 선택한 금액 c를 누적 // 봉투를 항상 바꿀 경우의 합 if(c==a) c = b; // c가 a의 값과 같으면 b를 c에 대입 else c = a; // c가 a의 값과 같지 않으면 b를 c에 대입 case2tot = case2tot + c; // 바꿔 선택한 금액 c를 누적 } print(case1tot, case2tot); // case1tot, case2tot 의 값을 출력 이렇게 하면 두 경우가 똑같은 결과를 보이게 됩니다. 요약하자면, 이미 돈의 액수는 정해진 상태고 사람 혼자 망상하는 것입니다. 보고 선택하든, 보지 않고 선택을 하든, 바꾸든, 바꾸지 않든, 모두 의미 없습니다. |
|