我正在尝试从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中,我们从具有形状参数的后伽玛中采样(这里是链接),
其中x是细胞频率,alpha是细胞超参数。
我想设置先验,以便我们从后伽马分布中采样,其中形状参数是,
所以我希望先前的超参数之和等于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)
我是否正确设置了先验以获得我想要的最终形状参数?