BRM 模型编译但返回模型对象
BRM model compiling but returning model object
我正在使用 R 中的 BRMS 包构建分层模型,但无法成功拟合模型。当 运行 代码输出“Compiling Stan program...”时,运行大约五分钟,然后停止。没有其他消息或错误,但没有模型对象。
一些来自在线示例的可重现代码,但我认为这与代码无关,因为我的模型中出现了同样的问题,而这个问题是从教程中下载的。当运行以下代码时,唯一的控制台输出是:
Compiling Stan program...
>
> summary(interceptonlymodeltest)
Error in summary(interceptonlymodeltest) :
object 'interceptonlymodeltest' not found
# Reproducible code
library(brms) # for the analysis
library(haven) # to load the SPSS .sav file
library(tidyverse) # needed for data manipulation.
library(RColorBrewer) # needed for some extra colours in one of the graphs
library(ggmcmc)
library(ggthemes)
library(ggridges)
popular2data <- read_sav(file = "https://github.com/MultiLevelAnalysis/Datasets-third-edition-Multilevel-book/blob/master/chapter%202/popularity/SPSS/popular2.sav?raw=true")
interceptonlymodeltest <- brm(popular ~ 1 + (1 | class),
data = popular2data,
warmup = 100,
iter = 200,
chains = 2,
inits = "random",
cores = 2) #the cores function tells STAN to make use of 2 CPU cores simultaneously instead of just 1.
summary(interceptonlymodeltest)
我卸载并重新安装了 r 和 rtools,以及 brms 及其所有依赖项。 运行 find_rtools() 来自 devtools 包 returns 正确,据我所知,安装包的所有内容都已解决。
感谢任何帮助!
经过进一步挖掘,发现这是最新版本的 rstan (v 2.21.1) 中引入的错误,恢复到上一版本 (2.19.3) 已经为我解决了这个问题。
我刚刚尝试降级到 2.19.3(没有用),然后再次升级到上一个版本 (2.21.2)。它仍然没有用。
事实证明,在我的家庭论证中,添加 link = "identity" 使模型开始采样。
family = gaussian(link="identity")
最初,我的代码是 family = gaussian()
。
阅读文档后,我了解到“默认情况下,应用线性高斯模型”(brm function documentation)。
所以我只是不再指定家庭。
但是,我仍然不明白为什么 family = gaussian()
不起作用。
我正在使用 R 中的 BRMS 包构建分层模型,但无法成功拟合模型。当 运行 代码输出“Compiling Stan program...”时,运行大约五分钟,然后停止。没有其他消息或错误,但没有模型对象。
一些来自在线示例的可重现代码,但我认为这与代码无关,因为我的模型中出现了同样的问题,而这个问题是从教程中下载的。当运行以下代码时,唯一的控制台输出是:
Compiling Stan program...
>
> summary(interceptonlymodeltest)
Error in summary(interceptonlymodeltest) :
object 'interceptonlymodeltest' not found
# Reproducible code
library(brms) # for the analysis
library(haven) # to load the SPSS .sav file
library(tidyverse) # needed for data manipulation.
library(RColorBrewer) # needed for some extra colours in one of the graphs
library(ggmcmc)
library(ggthemes)
library(ggridges)
popular2data <- read_sav(file = "https://github.com/MultiLevelAnalysis/Datasets-third-edition-Multilevel-book/blob/master/chapter%202/popularity/SPSS/popular2.sav?raw=true")
interceptonlymodeltest <- brm(popular ~ 1 + (1 | class),
data = popular2data,
warmup = 100,
iter = 200,
chains = 2,
inits = "random",
cores = 2) #the cores function tells STAN to make use of 2 CPU cores simultaneously instead of just 1.
summary(interceptonlymodeltest)
我卸载并重新安装了 r 和 rtools,以及 brms 及其所有依赖项。 运行 find_rtools() 来自 devtools 包 returns 正确,据我所知,安装包的所有内容都已解决。
感谢任何帮助!
经过进一步挖掘,发现这是最新版本的 rstan (v 2.21.1) 中引入的错误,恢复到上一版本 (2.19.3) 已经为我解决了这个问题。
我刚刚尝试降级到 2.19.3(没有用),然后再次升级到上一个版本 (2.21.2)。它仍然没有用。
事实证明,在我的家庭论证中,添加 link = "identity" 使模型开始采样。
family = gaussian(link="identity")
最初,我的代码是 family = gaussian()
。
阅读文档后,我了解到“默认情况下,应用线性高斯模型”(brm function documentation)。
所以我只是不再指定家庭。
但是,我仍然不明白为什么 family = gaussian()
不起作用。