码迷,mamicode.com
首页 > 编程语言 > 详细

R语言中的prophet预测时间序列数据模型

时间:2019-10-10 17:30:52      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:div   挖掘   之间   contain   接下来   灰色   map   森林   kaa   

 原文链接:http://tecdat.cn/?p=7335

 

本文 将针对R进行的几次建模练习的结果,以魁北克数据为依据,分为13年的训练和1年的测试。prophet与基本线性模型(lm),一般加性模型(gam)和随机森林(randomForest)进行了比较。

首先,设置一些选项,加载一些库,并更改工作目录。

技术图片技术图片?

读取魁北克的出生文件,建立一个data.table 。创建培训和测试data.tables-使用前13年的每日数据进行培训,并使用第14年进行测试。

技术图片技术图片?

定义两个小函数来计算 均方根误差(rmse)和平均绝对百分比误差(mape),以评估预测模型的性能。越低越好。

技术图片技术图片?

现在开始拟合基本的lm线性模型。第一个回归整数日期(ds)的三次样条上的日出生(y)以捕获趋势。根据训练和测试数据计算rmse和mape。 

技术图片技术图片?

接下来运行一个星期几的每日出生率模型,以捕获一周内的季节性。在性能指标上,该模型似乎比第一个模型好,这表明一周中每天都有重要的季节性。

技术图片技术图片?

第三个模型基于月创建一个因子来处理每月的季节。这种季节性似乎不像一周中的一天那么强烈。

技术图片技术图片?

最后,运行一个包含上述所有三个变量的lm模型。请注意,预测的均方根较低的rmse和mape。

 

 

现在,使用gam程序包运行类似的3变量通用加性模型。毫不奇怪,训练和测试的均方根值和mape与最终的lm模型相当。

 

 

使用相似的趋势和季节性属性拟合randomForest ML模型。请注意,火车和测试性能之间的差异较大,表明火车数据过拟合。

 

 

最后将数据划分为训练并进行测试以适合先知并拟合其模型

 

在这一点上,让我们看一下上面安装的各种lm模型的预测-第一个趋势,然后是星期几,最后是一个月。

 

技术图片技术图片?

 

技术图片技术图片?

 

技术图片技术图片?

接下来,绘制 模型的组成部分,看起来与上图非常相似- 使用的是一年中的日期而不是月份。

技术图片技术图片?

技术图片技术图片?

最后,使用测试数据比较3属性lm模型,gam模型,先知模型和随机森林模型。在每个面板中,灰色表示实际值,而颜色表示模型预测。lm,gam和先知的表现相似,而随机森林滞后。

 

技术图片技术图片?

利用这些特定的数据,先知,lm和gam模型的测试预测非常相似,并且优于randomForest。 

 如果您有任何疑问,请在下面发表评论。 

 

技术图片?

 

  

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

 

技术图片?QQ交流群:186388004 技术图片

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

欢迎选修我们的R语言数据分析挖掘必知必会课程!

技术图片

 

R语言中的prophet预测时间序列数据模型

标签:div   挖掘   之间   contain   接下来   灰色   map   森林   kaa   

原文地址:https://www.cnblogs.com/tecdat/p/11649333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!