【问题标题】:Store regression coefficients, merge back into data-frame存储回归系数,合并回数据框
【发布时间】:2018-08-27 00:59:52
【问题描述】:

我正在尝试估计一个随机效应模型,并存储这些系数。然后我想将它们合并到数据框以预测因变量。

每个组都有一个随机效应系数。在数据框中,如果观察属于第 1 组,我希望在此处列出第 1 组系数。对于第 2 组的观察,第 2 组的系数等等。

我能够访问和存储系数。但我无法将它们合并回数据框。我不知道该怎么想。这是我到目前为止的代码:

md = smf.mixedlm('y ~ x', data=df, groups=train['GroupID'])
mdf = md.fit()

我尝试以三种方式存储系数:

re_coeffs = pd.Series(mdf.random_effects.values) #creates a series with shape (1,)

re_coeffs = [(k) for k in mdf.random_effects.values()] #creates a list with the coeffs

re_coeffs = np.array(mdf.random_effects.values) #creates array with shape ()

所有这些都有效,但没有一个让我将它们合并回原始数据框。我不确定使用字典或列表,或者通常如何考虑将这些系数合并回原始数据帧。

对此提出任何建议,我将不胜感激。

【问题讨论】:

    标签: pandas regression random-effects


    【解决方案1】:

    这似乎有效:

    md = smf.mixedlm('y ~ x', data=train, groups=train['GroupID'])
    mdf = md.fit()
    
    re_coeffs = [(k) for k in mdf.random_effects.values()]
    df = pd.DataFrame(re_coeffs)
    
    df['ConfigID'] = df.index 
    merged = pd.merge(train,df, on=['GroupID'])
    

    【讨论】:

      猜你喜欢
      • 2019-09-28
      • 2012-12-19
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 2015-03-17
      相关资源
      最近更新 更多