首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合线性模型

混合线性模型
EN

Stack Overflow用户
提问于 2022-01-24 06:13:25
回答 1查看 325关注 0票数 1

我试图用以下数据创建一个混合线性模型。我试图用年龄和性别来预测赌博。我正在尝试使用python的状态模型,但是我不确定如何去做。

到目前为止,我已经尝试过:md = smf.mixedlm("acldep ~ Gambling", data, groups=data["Gambling"])

但是我不断地出错,我不知道如何用这种方式指定协变量。

以下是数据的开头:

{'IID': {0: 'Yale_0001', 1: 'Yale_0004', 2: 'Yale_0006', 3: 'Yale_0007', 4: 'Yale_0008'}, 'SEX': {0: 2, 1: 1, 2: 2, 3: 1, 4: 1}, 'AGE': {0: 27, 1: 39, 2: 41, 3: 45, 4: 44}, 'alcdep': {0: 2, 1: 2, 2: 2, 3: 2, 4: 2}, 'Gambling': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1}, 'Zero': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0}, 'Yes': {0: 'Yes', 1: 'Yes', 2: 'Yes', 3: 'Yes', 4: 'Yes'}, 'PRS': {0: 0.053486584299999994, 1: 0.0304387435, 2: 0.00917773968, 3: 0.016352741100000002, 4: 7.433452840000001e-05}}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 07:00:56

我稍微修改了你的数据,因为你给出了奇异矩阵的结果。

你几乎就在那里,被遗忘了一些东西。因此,有了这些数据:

代码语言:javascript
复制
data = {'IID': {0: 'Yale_0001', 1: 'Yale_0004', 2: 'Yale_0006', 3: 'Yale_0007', 4: 'Yale_0008'}, 'SEX': {0: 2, 1: 1, 2: 2, 3: 1, 4: 1}, 'AGE': {0: 27, 1: 39, 2: 41, 3: 45, 4: 44}, 'alcdep': {0: 2, 1: 2, 2: 2, 3: 1, 4: 1}, 'Gambling': {0: 1, 1: 1, 2: 2, 3: 1, 4: 2}, 'Zero': {0: 0, 1: 0, 2: 0, 3: 1, 4: 0}, 'Yes': {0: 'Yes', 1: 'Yes', 2: 'Yes', 3: 'Yes', 4: 'Yes'}, 'PRS': {0: 0.053486584299999994, 1: 0.0304387435, 2: 0.00917773968, 3: 0.016352741100000002, 4: 7.433452840000001e-05}}

你可以这样做:

代码语言:javascript
复制
import researchpy as rp
import statsmodels.api as sm
import scipy.stats as stats
import statsmodels.formula.api as smf
md = smf.mixedlm("alcdep ~ Gambling",groups="Gambling",data = df).fit()

md.summary()

这意味着:

代码语言:javascript
复制
      Mixed Linear Model Regression Results
=======================================================
Model:              MixedLM Dependent Variable: alcdep 
No. Observations:   5       Method:             REML   
No. Groups:         2       Scale:              0.3889 
Min. group size:    2       Log-Likelihood:     -3.7360
Max. group size:    3       Converged:          Yes    
Mean group size:    2.5                                
-------------------------------------------------------
             Coef.  Std.Err.   z    P>|z| [0.025 0.975]
-------------------------------------------------------
Intercept     1.833    1.630  1.125 0.261 -1.362  5.028
Gambling     -0.167    1.050 -0.159 0.874 -2.224  1.891
Gambling Var  0.389                                    
=======================================================

为了照顾独立变量,比如性,

代码语言:javascript
复制
md = smf.mixedlm("alcdep ~ Gambling+C(SEX)",groups="Gambling",data = df).fit()

md.summary()

这意味着:

代码语言:javascript
复制
     Mixed Linear Model Regression Results
=======================================================
Model:              MixedLM Dependent Variable: alcdep 
No. Observations:   5       Method:             REML   
No. Groups:         2       Scale:              0.2857 
Min. group size:    2       Log-Likelihood:     -2.5581
Max. group size:    3       Converged:          Yes    
Mean group size:    2.5                                
-------------------------------------------------------
             Coef.  Std.Err.   z    P>|z| [0.025 0.975]
-------------------------------------------------------
Intercept     1.714    1.400  1.225 0.221 -1.029  4.458
C(SEX)[T.2]   0.714    0.495  1.443 0.149 -0.256  1.684
Gambling     -0.286    0.904 -0.316 0.752 -2.057  1.485
Gambling Var  0.286                                    
=======================================================
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70829665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档