python - Python:随机截取模型(必须复制 R 代码)
问题描述
我正在尝试从 R 中复制估计随机截距模型的代码。R代码是:
fit=lmer(resid~-1+(1|groupid),data=df)
我正在使用 lme4 包的 lmer 命令来估计变量 resid 的随机截距,以观察不同组(由 groupid 定义)中的观察值。没有“固定效果”部分,因此 (1|groupid) 之前没有变量。此外,我不想要一个常数估计,以便我得到每个组的截距。
不知道如何在 Python 中进行类似的估计。我试过类似的东西:
import pandas as pd
import numpy as np
import statsmodels.formula.api as smf
np.random.seed(12345)
df = pd.DataFrame(np.random.randn(25, 4), columns=list('ABCD'))
df['groupid'] = [1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5]
df['groupid'] = df['groupid'].astype('category')
###Random intercepts models
md = smf.mixedlm('A~B-1',data=df,groups=df['groupid'])
mdf = md.fit()
print(mdf.random_effects)
A 是前面示例中的残基,而 groupid 是相同的。
1)我不确定 mdf.random_effects 是否是我正在寻找的随机截距
2)我无法删除变量 B,我理解它是固定效应部分。如果我尝试:
md = smf.mixedlm('A~-1',data=df,groups=df['groupid'])
我收到“数组不能为空”的错误。
只是试图估计与 R 代码中完全相同的模型。任何建议将被认真考虑。
解决方案
推荐阅读
- linux - 关于 anaconda 的 Linux 环境变量设置
- visual-studio-code - VS代码如何在鼠标悬停时显示完整的打字稿定义
- amazon-web-services - Amazon Chime 开发工具包 | SQS通知详细解析
- javascript - jQuery 滚动延迟(滞后)在 chrome 上但在 Firefox 上平滑
- clojurescript - 无法在试剂中添加背景图像
- sql-server - Perl 脚本无法使用 ODBC 连接到 MS SQL:“连接字符串无效”
- model-view-controller - Kendo NumericTextBox 不接受 Unicode 数字(来自其他语言的数字)
- android - 在android studio中为图像添加自定义水印
- git - Azure Devops Server:如何设置构建管道以将 git 源作为任务而不是自动获取
- git - 是否必须将 .gitignore 文件包含到我的 git 存储库中?