首页 > 解决方案 > 如何在 patsy 中按组贬低变量?

问题描述

对于回归,我想从(许多)右侧变量(它们是交互作用)中减去组特定的平均值。

如果没有组特异性,这当然很容易。

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 中按组标准化数据?

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler

标签: pythonregressionpatsy

解决方案


推荐阅读