몬테카를로 시뮬레이션을 이용하여 선거 결과를 만들기
선거 결과는 모의적 표본 추출법(simulated sampling technique)인 몬테카를로시뮬레이션을 이용하면 과거 선거결과나 여론조사를 토대로 간단히 선거 결과를 만들 수(예측할 수) 있습니다.
몬테카를로 시뮬레이션의 시행을 위한 절차로는
1 단계 확률변수의 확률분포를 얻고 (과거 선거결과나 여론조사)
2 단계 누적확률분포를 설정 단계(예: 성장곡선인 로지스틱함수)
(“그루터기추억”님의 로지스틱함수에 의해 사전에 계산된 ...)
3 단계 확률변수의 값이나 값의 범위를 나타내기 위해서 적절한 난 수의
집합-난수의 구간-을 할당한다.
4 단계 무작위표본추출을 이용하여 시뮬레이션실험을 실시
5 단계 마지막으로 행동방안을 설계·시행하고 통제한다.
에를 들어 A 후보의 지지율이 51.6 %
B 후보의 지지율이 48.0 % 로 예측 되는 경우(원하는 경우)
먼저 몬테카를로시뮬레이션의 이해를 돕기 위하여 간단한 예를 들어 본다면
컴퓨터에서 난수(random number)를 1,000개를 발생시켜 각 숫자를 투표로 간주하고 적절한 난 수의 집합-난수의 구간-을 할당한다. (1000표)
이 중 516개 숫자가 나오면 A 후보 표로
(예: 1~516 숫자(516개)를 A 후보에게 할당*)
이 중 480개 숫자가 나오면 B 후보 표로
(예: 520~999 숫자(480개)를 B 후보에게 할당*)
* 숫자는 자유자재로 할당 가능
** 난수(Random Number) 의 자리수가 많아지더라도(투표수가 많아져도)
난수(Random Number) 끝자리는 XXXOOO -> OOO은 000 에서 999 까지 입니다
할당하면 A 후보의 득표율이 51.6 %, B 후보의 득표율이 48.0 %가 됩니다.
실제 선거에 적용할 경우
A 후보에게
0~ 999 까지 숫자 중 모든 홀수(500개)를 할당하고
960~990 까지 숫자 중 모든 짝수(16개)를 할당하면(전체 숫자 516 개)
B 후보에게
0~ 958 까지 숫자 중 모든 짝수(480개) 에게 할당한 후 (전체 숫자 480 개)
개표에 적용하면 됩니다.
만일, 이와 같은 몬테카를로시뮬레이션을 선거 결과를 만드는데 활용하려면
단계 1, 확률변수의 확률분포를 얻고 (과거 선거결과나 여론조사)
단계 2, 누적확률분포를 설정 단계(예: 성장곡선인 로지스틱함수)
(“그루터기추억”님의 로지스틱함수에 의해 사전에 계산된 ...)
단계 3, 확률변수의 값이나 값의 범위를 나타내기 위해서 적절한 난 수의
집합-난수의 구간-을 할당한다.
단계 4, 무작위표본추출을 이용하여 시뮬레이션을 통하여
결과를 만들면 됩니다.
예를 들어 1번 투표함을 개표하여 22,550표가 개표 된 경우
컴퓨터에서 난수(random number)를 22,550개를 발생시켜 A 후보와 B 후보에게 할당된 숫자에 적용하면 A 후보의 득표율이 51.6 %, B 후보의 득표율이 48.0 %가 됩니다.
일반적으로 부정선거의 경우
개표결과 = 실제 득표 + 부정 득표
(Recorded Vote = True Vote + Fraud factor)
으로 이루어지기 때문에 몬테카를로 시뮬레이션을 할 때
여론조사결과 A 후보: 48.0 %, B 후보의 득표율이 48.0 % 인 경우
A 후보에게 480개 숫자를 할당하고,
B 후보 480개 숫자를 할당한 후,
나머지 숫자 중 36개를 A 후보에게 할당하면
A 후보: 51.6 %, B 후보의 득표율이 48.0 % 이 되게 됩니다.
이와 같은 원리를 전국 개표소에 적용하면 되고
전체득표 = ∑ Xi ? Yi
(Xi : i 개표소의 득표율, yi : i 개표소의 개표 수)
로 집계하면 됩니다.
첫댓글 아고라서 옮겨 놓습니다.
와우 ~ 이런식으로 하면 영구집권도 가능하겠네요.