1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| a=1/4;b=3/4
k1=1/2;k2=1/4;k3=1/4
pC1=a*k1;pC1
> 1/8
pC2=b*k1+a*k2;pC2
> 7/16
pC3=b*k2+a*k3;pC3
> 1/4
pC4=b*k3;pC4
> 3/16
def bayesFormula(pcm1,pm1,pcm2,pm2):
# P(M=m|C=c) = P(C=c|M=m)*P(M=m) / ( P(C=c|M=a)*P(M=a) + P(C=c|M=b)*P(M=b) )
return pcm1*pm1/( pcm1*pm1+pcm2*pm2 )
pC1Ma=k1;pC1Mb=0;pC2Ma=k2;pC2Mb=k1;pC3Ma=k3;pC3Mb=k2;pC4Ma=0;pC4Mb=k3
pMaC1=bayesFormula( pC1Ma, a, pC1Mb, b);
pMaC2=bayesFormula( pC2Ma, a, pC2Mb, b);
pMaC3=bayesFormula( pC3Ma, a, pC3Mb, b);
pMaC4=bayesFormula( pC4Ma, a, pC4Mb, b);
[pMaC1,pMaC2,pMaC3,pMaC4]
> [1, 1/7, 1/4, 0]
pMbC1=bayesFormula( pC1Mb, b, pC1Ma, a);
pMbC2=bayesFormula( pC2Mb, b, pC2Ma, a);
pMbC3=bayesFormula( pC3Mb, b, pC3Ma, a);
pMbC4=bayesFormula( pC4Mb, b, pC4Ma, a);
[pMbC1,pMbC2,pMbC3,pMbC4]
> [0, 6/7, 3/4, 1]
|