Python statsmodels - 按组显示回归结果
Python statsmodels - display regression results by group
我正在尝试按组 运行 线性回归并分别显示每个 material 组的结果,包括特定 material 的名称。
我的数据集有一个变量 ActYTDVol,我正在对 UnitPrice 进行回归。我使用 statsmodels 和 for-in.
分别对每个 Material (=group) 执行回归
我能够 运行 上面的回归,但是回归输出没有显示我正在分析的 Material 的名称,因此我无法说出是哪个 Material回归输出指的是。
有没有办法在回归输出旁边显示 Material(=组)名称?
这是我目前使用的代码:
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
for Materials in df.Material.unique():
tempdf = df[df.Material == Materials]
X = sm.add_constant(tempdf['UnitPrice'])
y = tempdf['ACTYTDVol']
model = sm.OLS(y, X)
results = model.fit()
print(results.summary())
我当前的输出显示了我拥有的 10 个 Material 中的每一个的 10 个 OLS 回归结果表。但是,它没有说明进行回归的 Material 的名称,因此我不知道结果指的是哪个 Material。
非常感谢您的帮助!
你可以在循环中打印Materials
。
此外,summary 有一个 yname 关键字,用于将响应变量的名称添加到汇总表中
http://www.statsmodels.org/dev/generated/statsmodels.regression.linear_model.OLSResults.summary.html#statsmodels.regression.linear_model.OLSResults.summary
我正在尝试按组 运行 线性回归并分别显示每个 material 组的结果,包括特定 material 的名称。
我的数据集有一个变量 ActYTDVol,我正在对 UnitPrice 进行回归。我使用 statsmodels 和 for-in.
分别对每个 Material (=group) 执行回归我能够 运行 上面的回归,但是回归输出没有显示我正在分析的 Material 的名称,因此我无法说出是哪个 Material回归输出指的是。
有没有办法在回归输出旁边显示 Material(=组)名称?
这是我目前使用的代码:
import statsmodels.api as sm
from statsmodels.iolib.summary2 import summary_col
for Materials in df.Material.unique():
tempdf = df[df.Material == Materials]
X = sm.add_constant(tempdf['UnitPrice'])
y = tempdf['ACTYTDVol']
model = sm.OLS(y, X)
results = model.fit()
print(results.summary())
我当前的输出显示了我拥有的 10 个 Material 中的每一个的 10 个 OLS 回归结果表。但是,它没有说明进行回归的 Material 的名称,因此我不知道结果指的是哪个 Material。
非常感谢您的帮助!
你可以在循环中打印Materials
。
此外,summary 有一个 yname 关键字,用于将响应变量的名称添加到汇总表中 http://www.statsmodels.org/dev/generated/statsmodels.regression.linear_model.OLSResults.summary.html#statsmodels.regression.linear_model.OLSResults.summary