存储回归系数,合并回数据框

Store regression coefficients, merge back into data-frame

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

每组都有一个随机效应系数。在数据框中,如果观察值属于第 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 ()

它们都可以工作,但是 none 可以让我将它们合并回原始数据框。我不确定使用字典或列表,或者通常如何考虑将这些系数合并回原始数据框。

如果有任何建议,我将不胜感激。

这似乎有效:

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'])