我无法从某些数据计算贝叶斯后验。我的数据基本上是一个标量:两个平均值之间的差异(df = ab),恰好等于0.27,我的先前应该记住df为正的直觉(a大于b),df越大,df越大很可能是。
library("LearnBayes")
df = 0.27
prior = seq(1, 21, by=1)
names(prior) = seq(-.5, .5, by=.05)
prior = prior/sum(prior) #normalizing sum to 1
然而discrete.bayes(dbinom, prior, df, size=1)
产生了NaNs。我试图将我的df矢量化,但这也不起作用:
y <- rep(0, 21)
names(y) <- seq(-.5, .5, by=.05)
y["0.25"] = 1
discrete.bayes(dbinom, prior, y, size=21)
它也返回NaNs
我做了一些根本错误的事吗? (即错误的采样密度方法)嗯,我给了很多想法,我觉得我已经解决了。如何使用不同格式的先验和数据?