在r中设置bipf函数的先验

时间:2017-04-17 02:09:43

标签: r

我正在尝试从cat包中为bipf函数设置先验。该函数运行Schafer(1997)Bayesian Iterative Proportional Fitting。

我的交叉表有三个二进制变量(A,B,C),

data<-matrix(sample(c(0,1), replace=TRUE, size=300),nrow=100,ncol=3)

colnames(data)<-c(A,B,C)

freq<-xtabs(~data[,1]+data[,2]+data[,3])

在bipf中,我们从具有形状参数的后伽玛中采样(这里是链接), Schafer shape parameter

其中x是细胞频率,alpha是细胞超参数。

我想设置先验,以便我们从后伽马分布中采样,其中形状参数是, shape parameter wanted

所以我希望先前的超参数之和等于1.

由于我有3个二进制变量,我将先验设置为等于0.5(1/2),与三个变量一样,我们有两个交叉表(分成第三个变量)。

freq

priors<-0.5

bipftheta<-bipf(freq,c(1,2,0,1,3),start=freq,prior=priors,steps=1,showits=FALSE)

我是否正确设置了先验以获得我想要的最终形状参数?

0 个答案:

没有答案