我正在构建一个简单的线性回归模型,该模型使用平方英尺、床数和浴室数来预测房价。
创建模型后,我注意到平方英尺和床数的系数是正的,这是有道理的,因为随着平方英尺/床数的增加,房价也会增加。然而,浴室数量的系数是负的,这是没有意义的,因为房价不会随着浴室数量的增加而下降!
我的问题是:负系数是我可以通过将更多数据合并到我的模型中来“修复”的东西,还是这只是线性回归中的一个怪癖?
我正在构建一个简单的线性回归模型,该模型使用平方英尺、床数和浴室数来预测房价。
创建模型后,我注意到平方英尺和床数的系数是正的,这是有道理的,因为随着平方英尺/床数的增加,房价也会增加。然而,浴室数量的系数是负的,这是没有意义的,因为房价不会随着浴室数量的增加而下降!
我的问题是:负系数是我可以通过将更多数据合并到我的模型中来“修复”的东西,还是这只是线性回归中的一个怪癖?
这里可能发生的是多重共线性——你的一些预测变量是相关的。在这种情况下,认为建筑面积、床位数和浴室数量都呈正相关是不无道理的。如果您的主要目标只是预测房价,这没什么大不了的,但多重共线性本质上的作用是它使估计实际系数值变得“更难”,因此您对系数的解释不能承载太多重量。我怀疑使用更多数据确实会减少这种情况发生的机会。
你可以对此做点什么,问题是你是否愿意。正如 rzch 所提到的,如果您只关心预测准确性,您可能希望让您的系数采用“不寻常的值”。这当然是您获得最低训练损失的方式(前提是您将自己限制在多线性模型中),但它可能不会给您最低的测试损失(您必须在交叉验证下检查这一点)。
如果您想了解有关数据的更多“物理”信息,您可以考虑以下分阶段方法。
1:对于你的每一个 M 特征,拟合一个线性模型(即使用一个特征来最好地预测目标)。查看您的哪些功能为您提供最低的测试损失,然后选择这个作为您的“最佳”功能。
2:使用适合您的最佳特征的模型(根据阶段 1),计算您的训练残差(),并且对于每个 (M-1) 个剩余特征,将线性模型拟合到残差。再次,选择可以提供最佳测试损失的功能。
3:继续该过程,直到没有您可以拟合的模型,这会增加测试损失(或测试损失的增加变得无关紧要)。
这使您可以提出以下解释:
您最重要的特征,即第一个模型中使用的特征,很容易解释,系数的大小和大小告诉您它与目标变量的关系。
在考虑第一个变量后,与第二个变量相关的系数的大小和符号告诉您该特征与目标的关系。
至少对于前几个功能,这更容易解释,并且当你有很多变量时,诚然变得不太容易处理。
与开箱即用的线性回归相比,此过程也可能对过度拟合更稳健。但是,如果对抗过度拟合是您唯一关心的问题,那么像岭/套索回归这样的方法的计算量要小得多。
我认为这个问题可能是由您的预测变量之间的相关性和非线性相关性引起的。你可以尝试计算皮尔逊用于检查每个预测器-房屋定价对的线性相关指标。
如果这意味着实际上 house_pricing(predictor) 很有可能是线性的。预测变量的增长导致房价的增长。如果是意味着几乎相同,但是预测变量的增长会导致房价下跌。如果低 - 略低于 0.3 0.4 那么你的 house_pricing(predictor) 并不是一个真正的线性函数。
我还会检查输入变量是否相互关联。我认为床和浴室的数量与平方英尺有关。也许 PCA(主成分分析)可以帮助您获得更好(或更直观)的结果。或者,也许您的数据只是例外,并且获得更多信息会使这变得干净。