对于回归,我想从(许多)右侧变量(它们是交互作用)中减去组特定的平均值。
如果没有组特异性,这当然很容易。
y, X = dmatrices('lhs ~ center(x1 * k1)', df)
我怎么能用组特定的方式做到这一点?问题是右侧包含许多我不能天真地预先创建的交互术语。
所以我想预先做这样的事情:
df['x1_times_k1'] = df['x1'] * df['k1']
df['x1_times_k1_centered'] = df.groupby('group')['x1_times_k1'].transform('mean')
y, X = dmatrices('lhs ~ x1_times_k1_centered', df)
但这不可行,有什么建议吗?
编辑 或者:有没有办法在 scikit 中按组标准化数据?