回归的数据准备

机器算法验证 r 回归 预测模型 标准化
2022-04-08 18:24:30

我正在尝试预测房地产销售价格。

  • 在我的数据集中,有自变量既是名义变量又是数字变量(平方米、价格等)
  • 在将数据提供给任何回归算法之前,我想对其进行正确的预处理(分箱、归一化均值/标准偏差、离散化等)
  • 各种教科书上列出的许多方法让我不知所措,并试图找出哪些方法在实践中行之有效

尽管对这个问题最合理的答案可能是“视情况而定”,但您能否给我一些经验法则/战争故事/一般建议?

  • 您通常如何预处理数据以进行回归?
  • 你通常采用什么方法?
  • 哪些回归算法需要特殊处理?

作为我的工具,我使用的是 weka 和 R。

非常感谢!

4个回答

(您可以从后行部分开始,以获得更简短的答案)首先,您绝对正确地说它首先取决于的分析目的:预测平均价格(在宏观层面)或特定价格(在微观层面)、消费者偏好的因果分析(地区、大小、年龄、卧室数量、汽油、上班路途、噪音水平等)。其次,这种语言专业化将指导您选择适当的模型,最后指导您的数据要求。

根据您所写的,我假设您处理的是房地产定价模型快速谷歌搜索后显示有很多方法可以指定模型。Simon P. Leblond 的文章 比较房地产定价模型的预测准确性:蒙特利尔市的一项应用研究可能是一个很好的入门参考。从实际的角度来看,您必须在加法或乘法回归模型之间进行选择。与加法模型相比,后者有几个优点:

  • 参数估计(但截距项,垃圾回归参数)不受尺度变化的影响
  • 对数转换变量的参数具有很好的弹性解释,即...
  • 自然允许 规模收益递减限制(在房地产中,这可能是关键限制)
  • 如果一个人研究平均价格,更稳健的平均是加权几何平均值而不是平均值(尽管这在微观层面上并没有太大的相关性)
  • 您可以将价格设置为零,例如,如果您的公寓根本没有卧室(使用附加模型很难做到这一点)

在您继续之前,更重要的一件事是将您的每个观察结果视为一个独特的数据点,该数据点由决策者根据效用最大化行为共同设置在市场上。共同这意味着您不能将变量彼此分开(例如,对于大多数消费者而言,没有卧室的公寓的价值为零),但在那之后,消费者可能会也可能不喜欢所有属性捆绑在一起他或她的预算(口袋里的钱)才是最重要的。因此,标准化对于分析解释变量的相对重要性很有用,但要小心判断哪些变量不重要(所有因素都可能很重要)。在您观察的每种情况下,偏好和预算的异质性(购买者是不同的家庭)也说明了为什么微观层面的回归(不是平均水平左右)也可能具有误导性。最后,您有横截面(静态)数据。试图预测不同年份的价格(而不是您观察的年份),静态图片在不同时期效果不佳(假设您根据 2009 年的数据构建模型,追溯预测 2007 年或 2011 年的价格将不是很有用)。在这种情况下,至少尝试根据特定年份的平均价格变化来纠正结果。


关于您的特定问题(我个人为我的项目做的事情,或者至少假装做的事情):

  1. 列出您拥有的所有变量及其测量单位
  2. 检查并重新检查数据是否存在插补错误
  3. 对具有缺失值的点进行额外的插补(如果您有大量缺失值的数据集,您也可以简单地排除观察结果)
  4. 使相似变量(平方米、货币单位等)的所有测量单位相同
  5. 一下子想出一个简单的数据帧结构(需要与R方便)
  6. 仅将原始数据带到R, 使所有对数、差异、分数转换为R直接(对数对于乘法模型很重要,一些优点在上面的前奏中;分数也很好,你可能想立即消除尺度(大小)效应,并强调由其他因素引起的差异)
  7. 保留假人,但始终为截距项保留一级定性属性(如果不是,这将成为模型中纯多重共线性问题的根源)
  8. 出于您的目的,您可以应用普通最小二乘法 (OLS),尽管在定价模型中我也会考虑 tobit 或 Heckman 模型,它们确实需要特殊处理(我早期关于定价的可能不太成功的帖子之一是对这个)
  9. OLS 很简单,通常的残差分析(可在计量经济学教科书中找到)已完成。违反一些假设,您可能会采用广义方法、工具变量、脊回归、自回归残差治疗,但是......您真正需要知道的是:参数估计在理论上是否合理(值、符号等)?
  10. 只是一个不错的数字...欢迎来自社区的任何补充。

您要预测的房地产价格是连续/按时间顺序的值,即时间序列数据,还是不同类别的价格,例如今年同一时间范围内不同类别的价格。你可能想读一下我写的关于这两种问题的东西,因为它警告说,如果你正在处理纵向数据(时间序列),那么普通的横截面回归工具通常不会适用。它的标题是“回归 vs Box-Jenkins” http://www.autobox.com/pdfs/regvsbox.pdf

将数据分箱通常不是一个好主意,因为它会导致您丢失信息,这可能会导致断电。此外,我很少在进行回归之前对变量进行标准化,尽管有些人可能喜欢这样做。

如果可以的话,一本非常值得阅读的书是 Frank Harrell 的“Regression Modeling Strategies”。

对于预处理,我总是喜欢包括异常值检测和删除不良数据。如果您的数据具有不同的规模,那么标准化数据是一个好主意(标准化)。就技术而言,将所有变量以及预测变量相互绘制和绘制总是值得的。这将告诉您很多关于您可以对数据做出哪些假设,例如线性、方差相等、正态性,并且可以更好地帮助您选择一种技术。