如何建模价格?

机器算法验证 回归 预测 计量经济学
2022-01-31 08:53:35

在 matemathics stackexchange 网站上问了这个问题,建议在这里问。

我正在从事一个爱好项目,需要一些帮助来解决以下问题。

一点上下文

假设有一组带有功能描述和价格的商品。想象一下汽车和价格的清单。所有汽车都有一个功能列表,例如发动机尺寸、颜色、马力、型号、年份等。对于每个品牌,如下所示:

Ford:
V8, green, manual, 200hp, 2007, $200
V6, red, automatic, 140hp, 2010, $300
V6, blue, manual, 140hp, 2005, $100
...

更进一步,带有价格的汽车列表是按时间间隔发布的,这意味着我们可以访问历史价格数据。可能并不总是包括完全相同的汽车。

问题

我想了解如何根据此基本信息为任何汽车建模价格,最重要的是不在初始列表中的汽车。

Ford, v6, red, automatic, 130hp, 2009

上面这辆车,和榜单中的一辆几乎一样,只是马力和年份略有不同。要定价,需要什么?

我正在寻找的是实用且简单的东西,但我也想听听更复杂的方法如何建模这样的东西。

我试过的

到目前为止,这是我一直在尝试的:

1)使用历史数据查找汽车X。如果没有找到,没有价格。这当然是非常有限的,人们只能将其与一些时间衰减结合使用,以随着时间的推移改变已知汽车的价格。

2) 将汽车特征加权方案与定价样车一起使用。基本上,有一个基本价格和功能只是通过某些因素改变它。在此基础上推导出任何汽车的价格。

第一个被证明是不够的,第二个被证明并不总是正确的,我可能没有使用权重的最佳方法。这似乎对保持权重有点沉重,所以这就是为什么我认为也许有某种方法可以使用历史数据作为统计数据以某种方式获得权重或获得其他东西。我只是不知道从哪里开始。

其他重要方面

  • 集成到我拥有的一些软件项目中。通过使用现有库或自己编写算法。
  • 当新的历史数据出现时快速重新计算。

有什么建议可以解决这样的问题吗?所有的想法都非常受欢迎。

非常感谢您,并期待阅读您的建议!

4个回答

“实用”和“简单”建议使用最小二乘回归 它易于设置,易于使用大量软件(R、Excel、Mathematica、任何统计软件包)进行操作,易于解释,并且可以根据您想要的准确程度和难度以多种方式进行扩展愿意工作。

这种方法本质上是您的“加权方案”(2),但它很容易找到权重,保证尽可能高的准确性,并且更新简单快速。有很多可以执行最小二乘计算。

它不仅有助于包括您列出的变量——发动机类型、功率等——而且还包括汽车的年龄此外,一定要根据通货膨胀调整价格。

我同意@whuber 的观点,线性回归是一种可行的方法,但在解释结果时必须小心。问题在于,在经济学中,价格总是与需求相关。如果需求上升,价格就会上涨,如果需求下降,价格就会下降。所以价格是由需求决定的,反过来需求也是由价格决定的。因此,如果我们将价格建模为一些没有需求的属性的回归,则存在由于遗漏变量偏差导致回归估计错误的真正危险

我正在寻找的是实用且简单的东西,但我也想听听更复杂的方法如何建模这样的东西。

经过某种讨论,这是我对事情的完整看法

问题

目标:了解如何以更好的方式为汽车定价

背景:在他们的决策过程中,人们解决了几个问题:我是否需要一辆车,如果我需要,我最喜欢什么属性(包括价格,因为理性地说,我希望拥有一辆质量/价格比最好的汽车) ,比较不同汽车之间的属性数量,并选择共同评估它们。

从卖家的立场来说,我想把价格定的尽可能高,尽快把车卖掉。因此,如果我将价格设置得太高并且要等待几个月,那么它可能会被视为市场上没有需求,并且与非常需要的属性集相比标记为 0。

观察:将特定汽车的属性与讨价还价过程中设定的价格相关联的真实交易(关于前面的评论,重要的是要知道设定交易需要多长时间)。

优点:您确实会观察市场上实际购买的东西,因此您不会猜测是否存在具有足够高预订价格的人想要购买特定汽车

缺点:

  1. 您的假设是市场是有效的,这意味着您观察到的价格接近均衡
  2. 您忽略了未购买或花费太长时间来达成交易的汽车属性的变体,这意味着您的见解是有偏见的,因此您实际上确实使用了潜在变量模型
  3. 长时间观察数据,您需要对它们进行放气,尽管包含车龄部分弥补了这一点。

解决方法

whuber 建议的第一个是经典的最小二乘回归模型

优点:

  1. 确实是最简单的解决方案,因为它是计量经济学的主力

缺点:

  1. 忽略您确实观察到的事情不完整潜在变量
  2. 由于回归量彼此独立,因此基本模型忽略了您可能喜欢蓝色福特与蓝色梅赛德斯不同的事实,但它不是来自蓝色和福特的边际影响的总和

在经典回归的情况下,由于您不受自由度的限制,因此也可以尝试不同的交互项。

因此更复杂的解决方案将是tobitHeckman 模型,您可能需要咨询 AC Cameron 和 PK Trivedi Microeconometrics: methods and applications以获取有关核心方法的更多详细信息。

优点:

  1. 您确实将人们可能根本不喜欢某些属性集,或者某些属性集实际价格设置中购买的可能性很小的事实分开
  2. 您的结果没有偏见(或至少小于第一种情况)
  3. 在赫克曼的情况下,您将购买特定汽车的动机与我愿意为这辆车支付多少钱的定价决策分开:第一个受个人偏好的影响,第二个受预算约束的影响

缺点:

  1. 两种模型都更贪婪数据,即我们需要观察要价和出价之间的时间长度以平衡(如果它相当短,则为 1,否则为 0),或者观察被市场忽略的集合

最后,如果您只是对价格如何影响被购买的概率感兴趣,您可以使用某种logit模型。

我们同意,联合分析在这里不适合,因为您确实有不同的背景和观察结果。

祝你好运。

我看起来也像一个线性回归问题,但是 K 最近邻KNN呢。您可以提出每辆车之间的距离公式,并将价格计算为最近的 K(比如 3)之间的平均值。距离公式可以是基于欧几里德的,例如气缸的差异加上门的差异,再加上马力的差异等等。

如果您使用线性回归,我会建议几件事:

  • 将美元价值扩大到现代以应对通货膨胀。
  • 将您的数据划分为时期。我敢打赌,你会发现你需要一个模型用于二战前和二战后的模型。不过,这只是一种预感。
  • 交叉验证您的模型以避免过度拟合。将数据分成 5 个块。在 4 上训练并在第 5 块上运行模型。总结错误,冲洗,对其他块重复。

另一个想法是在模型之间进行混合。将回归和 KNN 都用作数据点,并将最终价格创建为加权平均值或其他东西。