#较大熵算法

#《 统计进修要领》较大熵,三硬币模子的R语言代码

   有3个硬币,漫衍为A、B、C,硬币正面的概率是pai,p,q。投币尝试如下,先投A,假如A是正面,即A=1,那么选择投B;A=0,投C。

  最后,假如B可能C是正面,那么y=1;是后面,那么y=0;

  投n次,n=0,功效序列是 :1,1,0,1,0,0,1,0,1,1

最大熵,三硬币模型的R语言代码

Θ是向量pai,p,q。

y是调查到的硬币最终的正后面。

Z是硬币A的抛掷功效,是没有未调查到的。

theta=c(0.4,0.6,0.7);

pai=theta[1];

p=theta[2];

q=theta[3];


y=c(1,1,0,1,0,0,1,0,1,1);

n=length(y);


u=seq(1,10,by=1);


for(i in 1:100)

{

  for( j in 1:n)

   { 

    t=pai*p^y[j]*(1-p)^(1-y[j]);

    s=(1-pai)*q^y[j]*(1-q)^(1-y[j]);

    u[j]= t/(t+s);    

  }

    

  pai=1.0*(sum(u))/n;  

  p=sum(u*y)/sum(u);  

  q=sum((1-u)*y)/sum(1-u);

}


pai

p

q


其他教程

2017-12-04


#最大熵算法#《 统计进修要领》最大熵,三硬币模子的R语言代码 有3个硬币,漫衍为A、B、C,硬币正面的概率是pai,p,q。投币尝试如下,先投A,假如A是正面,即A=1,那么选择投B;A=