R語言編程代寫中的prophet預測時間序列數據模型

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

 

本文 將針對R進行的幾回建模練習的結果,以魁北克數據爲依據,分爲13年的訓練和1年的測試。prophet與基本線性模型(lm),通常加性模型(gam)和隨機森林(randomForest)進行了比較。微信

首先,設置一些選項,加載一些庫,並更改工做目錄。dom


讀取魁北克的出生文件,創建一個data.table 。建立培訓和測試data.tables-使用前13年的每日數據進行培訓,並使用第14年進行測試。函數


定義兩個小函數來計算 均方根偏差(rmse)和平均絕對百分比偏差(mape),以評估預測模型的性能。越低越好。post


如今開始擬合基本的lm線性模型。第一個迴歸整很多天期(ds)的三次樣條上的日出生(y)以捕獲趨勢。根據訓練和測試數據計算rmse和mape。 性能


接下來運行一個星期幾的每日出生率模型,以捕獲一週內的季節性。在性能指標上,該模型彷佛比第一個模型好,這代表一週中天天都有重要的季節性。測試


第三個模型基於月建立一個因子來處理每個月的季節。這種季節性彷佛不像一週中的一天那麼強烈。大數據


最後,運行一個包含上述全部三個變量的lm模型。請注意,預測的均方根較低的rmse和mape。ui

 

 

如今,使用gam程序包運行相似的3變量通用加性模型。絕不奇怪,訓練和測試的均方根值和mape與最終的lm模型至關。url

 

 

使用類似的趨勢和季節性屬性擬合randomForest ML模型。請注意,火車和測試性能之間的差別較大,代表火車數據過擬合。spa

 

 

最後將數據劃分爲訓練並進行測試以適合先知並擬合其模型

 

在這一點上,讓咱們看一下上面安裝的各類lm模型的預測-第一個趨勢,而後是星期幾,最後是一個月。

 


 


 


接下來,繪製 模型的組成部分,看起來與上圖很是類似- 使用的是一年中的日期而不是月份。



最後,使用測試數據比較3屬性lm模型,gam模型,先知模型和隨機森林模型。在每一個面板中,灰色表示實際值,而顏色表示模型預測。lm,gam和先知的表現類似,而隨機森林滯後。

 


利用這些特定的數據,先知,lm和gam模型的測試預測很是類似,而且優於randomForest。 

若是您有任何疑問,請在下面發表評論。   

大數據部落 -中國專業的第三方數據服務提供商,提供定製化的一站式數據挖掘和統計分析諮詢服務

統計分析和數據挖掘諮詢服務:y0.cn/teradat(諮詢服務請聯繫官網客服

點擊這裏給我發消息QQ:3025393450

 

​QQ交流羣:186388004 

【服務場景】  

科研項目; 公司項目外包;線上線下一對一培訓;數據爬蟲採集;學術研究;報告撰寫;市場調查。

【大數據部落】提供定製化的一站式數據挖掘和統計分析諮詢

歡迎選修咱們的R語言數據分析挖掘必知必會課程!

 

 
歡迎關注 微信公衆號,瞭解更多數據乾貨資訊!
 
相關文章
相關標籤/搜索