解释多元线性回归结果

数据挖掘 Python 线性回归
2021-10-07 10:06:59

我对这一切都很陌生,并且正在逐步学习这一点(所以请宽容)。

我已将我的 csv 文件导入 python,如下所示:

data = pd.read_csv("sales.csv")
data.head(10)

在此处输入图像描述

然后我在销售变量上拟合线性回归模型,使用结果中显示的变量作为预测变量。结果总结如下:

model_linear = smf.ols('sales ~ month + weekend + holiday + prod_function + prod_regime + prod_listprice + discount + stockout', data=data).fit()
print(model_linear.summary())

在此处输入图像描述

这是我有问题的部分。我应该如何解释和理解这个结果?例如,这说明折扣对销售的影响是什么?

1个回答

一个简单的 OLS 模型中发生了很多事情。我强烈建议您从教科书中了解更多关于它们的信息。最好的起点之一是免费在线书籍An Introduction to Statistical Learning (请参阅第 3 章关于回归,其中解释了模型摘要中的一些元素)。

同样在这篇博文中,他们解释了通过Statsmodel OLS 模型获得的模型摘要中的所有元素,例如 R-Squared、F-statistic 等(向下滚动)。在 blog.minitab 中还有一系列博文,比如这篇关于R-Squared和这篇关于F-test的博文,它们更详细地解释了这些元素中的每一个。您甚至可以探索更多信息并了解残差图,以便对回归模型进行后期分析(重要的是要检查)。

请注意,您通常不需要拥有所有这些元素来检查回归模型(其中一些像 BIC 或 F-stat 信息量不大,除非有人明确要求它们)。

第一张表即整体模型统计,可以了解一下:

  • R-Squared是对模型与介于 0(最差)和 1(最佳)之间的响应变量之间关系强度的估计,对于您的模型来说是0.278虽然从经验来看,这是相当低的,但不能仅仅看 R-Squared 就下结论!我认为你仍然可以做得更好。

  • F-Stat:这是一个统计测试,将仅截距模型与您的模型的拟合度进行比较。在简单的工作中,如果 F-Stat 的 P 值(此处为 Prob (F-Statistic) 小于您的显着性水平,则可以拒绝仅截距模型更好的零假设,这意味着您的模型更好更好的工作(老实说,这不是一个大惊喜)。

第二个表,即模型细分的统计信息摘要:

提供有关每个变量的大量信息。每个系数都有其对应的标准误差、t 统计量、p 值。例如,对于每个系数,如果 t 统计量很大(或者只是 p 值为零或非常非常小 < 0.05),则该特定系数像discountstockout一样值得信赖,否则误差很大并且不太可能从它们像模型中的prod_functionprod_regime分类变量的某些子级别一样可靠。*只是粗略地考虑一下模型中的这些变量,也许您对这些变量执行的分类编码类型表现不佳,这就是为什么这里的错误很大?!

如何解释您的模型:

这是一个有趣的部分。假设您的模型足够好(在定义的置信区间内),可以找出这些变量中的每一个对因变量(此处为sales)的贡献。阅读有关如何解释回归系数的更多信息或查看这个漂亮而简单的示例

特别是对于折扣变量,如果所有其他变量都是固定的,那么对于discount中每 1 个单位的变化销售额平均变化 0.4146 个单位(模型中的折扣系数)。

希望这些要点可以帮助您入门!