R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据

特别是在经济学/计量经济学中,建模者不相信他们的模型能反映现实。

由Kaizong Ye,Liao Bao撰写

比如:收益率曲线并不遵循三因素的Nelson-Siegel模型,股票与其相关因素之间的关系并不是线性的,波动率也不遵循Garch(1,1)过程,或者Garch(?,?)。

我们只是试图为我们看到的现象找到一个合适的描述。

模型的发展往往不是由我们的理解决定的,而是由新的数据的到来决定的,这些数据并不适合现有的看法。有些人甚至可以说,现实没有基本的模型(或数据生成过程)。正如汉森在《计量经济学模型选择的挑战》中写道。

“模型应该被视为近似值,计量经济学理论应该认真对待这一点”

所有的理论都自然而然地遵循 “如果这是一个过程,那么我们就显示出对真实参数的收敛性 “的思路。收敛性很重要,但这是一个很大的假设。无论是否存在这样的过程,这样的真实模型,我们都不知道它是什么。同样,特别是在社会科学领域,即使有一个真正的GDP,你可以认为它是可变的。

这种讨论引起了模型的组合,或者预测未来的组合。如果我们不知道潜在的真相,结合不同的选择,或不同的建模方法可能会产生更好的结果。

模型平均

让我们使用 3 种不同的模型对时间序列数据进行预测。简单回归 (OLS)、提升树和随机森林。一旦获得了三个预测,我们就可以对它们进行平均。


视频

Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例

探索见解

去bilibili观看

探索更多视频

在这种情况下,最准确的方法是提升。但是,在其他一些情况下,根据情况,随机森林会比提升更好。如果我们使用约束最小二乘法,我们可以获得几乎最准确的结果,但这不需要事先选择 Boosting 、Random Forest 方法。继续介绍性讨论,我们只是不知道哪种模型会提供最佳结果以及何时会这样做。

加权平均模型融合预测

y_t 是你的预测变量, \widehat{y}_{i,t} 是时间预测 吨 ,从方法 一世, 和 我 = 1 例如OLS, 我=2 提升树和 我 = 4 是随机森林。您可以只取预测的平均值:

[\frac{\sum^3_{i=1} \widehat{y}_{i,t} }{3}.]

通常,这个简单的平均值表现非常好。

在 OLS 平均中,我们简单地将预测投影到目标上,所得系数用作权重:

[\widehat{y}^{combined}_t = \widehat{w}_{0t} + \sum_{i = 1}^3 \widehat{w}_{i,t} \widehat{y}_{它}。]

这是相当不稳定的。所有预测都有相同的目标,因此它们很可能是相关的,这使得估计系数变得困难。稳定系数的一个不错的方法是使用约束优化,即您解决最小二乘问题,但在以下约束下:

[w_{0t} = 0 \quad \text{and} \quad \sum_{i = 1}^3 w_{it} = 1, \qquad \forall t.]

另一种方法是根据预测的准确程度对预测进行平均化,直到基于一些指标如根MSE。我们反转权重,使更准确的(低RMSE)获得更多权重。

[w_{it} = \frac{\left(\frac{RMSE_{i,t} }{\sum_{i = 1}^3 RMSE_{i,t}}\right)^{-1}}{ \sum_{i = 1}^3 \left(\frac{RMSE_{i,t} }{\sum_{i = 1}^3 RMSE_{i,t}}\right)^{-1} } = \ frac{\frac{1}{RMSE_{i,t}}}{\sum_{i=1}^3\frac{1}{RMSE_{i,t}}}.]

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析

阅读文章


您可以绘制各个方法的权重:


视频

从决策树到随机森林:R语言信用卡违约分析信贷数据实例

探索见解

去bilibili观看

探索更多视频

这是预测平均方法。


随时关注您喜欢的主题



可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds