![](https://tecdat.cn/wp-content/uploads/2019/08/CCAR_Hero.jpg)
prophet与基本线性模型(lm),广义加性模型(gam)和随机森林(randomForest)进行了比较。
本文 将针对R进行的几次建模练习的结果,以魁北克数据为依据,分为13年的训练和1年的测试。首先,设置一些选项,加载一些库,并更改工作目录。
可下载资源
首先,设置一些选项,加载一些库,并更改工作目录。
![](https://img-blog.csdnimg.cn/2019101016595510.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-52.gif)
读取魁北克的出生文件,建立一个data.table 。创建培训和测试data.tables-使用前13年的每日数据进行培训,并使用第14年进行测试。
![](https://img-blog.csdnimg.cn/20191010170023712.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-53.gif)
定义两个小函数来计算 均方根误差(rmse)和平均绝对百分比误差(mape),以评估预测模型的性能。越低越好。
![](https://img-blog.csdnimg.cn/20191010170138448.png)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-57.gif)
现在开始拟合基本的lm线性模型。第一个回归整数日期(ds)的三次样条上的日出生(y)以捕获趋势。根据训练和测试数据计算rmse和mape。
![](https://img-blog.csdnimg.cn/20191010170153186.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-54.gif)
接下来运行一个星期几的每日出生率模型,以捕获一周内的季节性。在性能指标上,该模型似乎比第一个模型好,这表明一周中每天都有重要的季节性。
![](https://img-blog.csdnimg.cn/20191010170210922.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-55.gif)
第三个模型基于月创建一个因子来处理每月的季节。这种季节性似乎不像一周中的一天那么强烈。
![](https://img-blog.csdnimg.cn/20191010170234934.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-56.gif)
最后,运行一个包含上述所有三个变量的lm模型。请注意,预测的均方根较低的rmse和mape。
现在,使用gam程序包运行类似的3变量通用加性模型。毫不奇怪,训练和测试的均方根值和mape与最终的lm模型相当。
使用相似的趋势和季节性属性拟合randomForest ML模型。请注意,火车和测试性能之间的差异较大,表明火车数据过拟合。
最后将数据划分为训练并进行测试以适合先知并拟合其模型
在这一点上,让我们看一下上面安装的各种lm模型的预测-第一个趋势,然后是星期几,最后是一个月。
![](https://img-blog.csdnimg.cn/20191010170440811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-59.gif)
![](https://img-blog.csdnimg.cn/20191010170514897.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-60.gif)
![](https://img-blog.csdnimg.cn/20191010170533663.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-58.gif)
接下来,绘制 模型的组成部分,看起来与上图非常相似- 使用的是一年中的日期而不是月份。
![](https://img-blog.csdnimg.cn/20191010170608422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-62.gif)
![](https://img-blog.csdnimg.cn/2019101017062057.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-61.gif)
最后,使用测试数据比较3属性lm模型,gam模型,先知模型和随机森林模型。在每个面板中,灰色表示实际值,而颜色表示模型预测。lm,gam和先知的表现相似,而随机森林滞后。
![](https://img-blog.csdnimg.cn/20191010170652201.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NjAwMjkx,size_16,color_FFFFFF,t_70)
![](https://tecdat.cn/wp-content/uploads/2019/10/image-63.gif)
利用这些特定的数据,先知,lm和gam模型的测试预测非常相似,并且优于randomForest。
可下载资源
关于作者
Kaizong Ye是拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。
本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。
非常感谢您阅读本文,如需帮助请联系我们!