quap(alist(Purple ~ dbinom(Total,p),Total〈- Total[ID],p〈- a[ID],:optim提供的非有限值

unhi4e5o  于 2023-04-09  发布在  其他
关注(0)|答案(1)|浏览(117)
library(rethinking)

G <- c("D","ND")
Purple <- c(670, 601)
Pink <- c(315,604)
Total <- c(985, 1205)
GID <- c(1,2)
Data <- data.frame(G, Purple, Pink, Total, GID)

model_1a <- quap(
  alist(
    Purple ~ dbinom(Total,p) , 
    Total <- Total[ID] ,
    p <- a[ID] ,
    a[ID] ~ dbeta(10,10)    
  ) , data = Data)
precis(model_1a, depth=2)

当我运行这个问题时,它会抛出错误:

# Error in quap(alist(Purple ~ dbinom(Total, p), Total <- Total[ID], p <- a[ID],  : non-finite value supplied by optim".

即使我和我的教授在他的一次讲座中有同样的事情,他的模型运行,我的没有。
我只是想按照我教授发布的帮助视频完成我的实验作业,我遇到了这个问题。

new9mtju

new9mtju1#

组装所有依赖项需要很长时间,但在运行代码并查看quap调用中的参数后,我注意到没有ID的定义,并想知道是否可能是三重拼写错误(ID-〉GID):

model_1a <- quap(
    alist(
        Purple ~ dbinom(Total,p) , 
        Total <- Total[GID] ,
        p <- a[GID] ,
        a[GID] ~ dbeta(10,10)    
    ) , data = Data)
precis(model_1a, depth=2)
#-----------------
     mean   sd 5.5% 94.5%
a[1] 0.68 0.01 0.65  0.70
a[2] 0.50 0.01 0.48  0.52

Seems to have been so.

相关问题