R中prophet包說明文件(二)
阿新 • • 發佈:2018-11-11
Prophet
名稱:自動預測過程版本:0.2.1
日期:2017-11-08
描述:實現了一個時間序列的預測過程,基於能夠擬合年度、周等週期以及假期等因素的非線性趨勢的加法模型。模型要求至少一年以上的週期性歷史資料。prophet模型對於缺失值、趨勢突變以及大量離群點的資料有較好的魯棒性。
平臺:R(3.2.3以上版本),Rcpp(0.12.0以上版本)
載入包: dplyr, extraDistr, ggplot2, grid, rstan, scales, stats, tidyr
作者: Sean Taylor [cre, aut] , Ben Letham[aut]
主要聯絡人:Sean Taylor <
----------------------------------------------------------------------------------------------------------
下面是分別介紹包中方法的具體使用,共12個方法:
(七)add_regressor —— 在原資料框中增加一列解釋變數用於擬合和預測
方法描述:原資料框中會增加一列作為解釋變數,當引數standardize='auto'時,這個解釋變數將會被標準化(除非它是二進位制),給定浮動比例引數時迴歸係數也就確定了,降低浮動比例會產生較大的調整,當不指定浮動比例時,預設為holidays.prior.scale的值。
用法:
add_regressor ( m, name, prior.scale = NULL, standardize = 'auto' )
引數說明:
m Prophet預測物件
name 解釋變數的名字,字串
prior.scale 對歷史資料的浮動比例,不指定時預設選擇holidays.prior.scale的值
standardize
輸出值:
增加解釋變數的prophet模型
(八)add_seasonality —— 在原資料框中增加一個特定時間段季節因素
方法描述:增加傅立葉成分的數量會使季節性的變化更快(有過擬合的風險),預設情況下,年和周的季節性引數值分別取10和3.
用法:
add_seasonality ( m, name, period, fourier.order, prior.scale = NULL )
引數說明:
m Prophet預測物件
name 季節成分名稱,字串
Period 一個時間段中的天數
fourier.order 傅立葉成分的個數
prior.scale 對歷史資料的浮動比例 ,增大浮動比例引數的值將會使得季節因素更有彈性,不指定引數值時,使用seasonality.prior.scale的值(預設為10)
輸出值:
增加季節因素的prophet模型
(九)cross_validation —— 時間序列的交叉驗證
描述:將原始資料集分成若干個部分,計算預測值進行交叉驗證
用法:
cross_validation ( model, horizon, units, period = NULL, initial = NULL )
引數說明:
model 擬合的Prophet模型
horizon 範圍,整數大小
units 單位,字串,如‘days’,‘secs’
period 各個集的大小,若不指定,值預設選擇0.5*horizon
輸出值:
資料框,包含預測值、實際值、劃分點
(十)fit.prophet —— 擬合prophet模型
描述:這個方法設定prophet模型中的m$params特徵包含擬合的引數,引數列表包括以下元素:k (M陣列):M個初始斜率的後驗樣本;m(M陣列):初始截距;delta(M*N矩陣):在每N個變點處斜率發生變化;beta(M*K矩陣):K個季節特徵的係數;sigma_obs(M陣列):噪聲水平。注意,最大後驗概率(MAP)估計時,M=1
用法:
fit.prophet ( m, df , … )
引數說明:
m Prophet物件
df 資料框
units 單位,字串,如‘days’,‘secs’
period 各個集的大小,若不指定,值預設選擇0.5*horizon
輸出值:
資料框,包含預測值、實際值、劃分點
(十一)predictive_samples —— 後驗預測樣本
描述:後驗預測樣本
用法:
predictive_samples ( m, df )
引數說明:
m Prophet模型物件
df 包含預測日期(column ds),邏輯增長時需要容量(column cap),如果不指定則在歷史資料基礎上預測 【make_future_dataframe()返回的資料框】
輸出值:
返回一個列表,專案有‘trend’、‘seasonal’和‘yhat’,後驗預測樣本產生的結果,‘seasonal’是所有季節效應的疊加、節假日、其他解釋變數。
(十二)simulated_historical_forecasts —— 模擬歷史預測
描述:從k個歷史截斷點進行預測,後向預測(從最後開始)以每個截斷點間的距離為跨度。
用法:
simulated_historical_forecasts (model, horizon, units, k, period = NULL)
引數說明:
model 擬合的Prophet預測模型
horizon 整型,時間範圍
units 字串,時間範圍的單位,如“day”,“secs”
k 整型,預測點數
period 時間段,截斷日期之間的時間跨度,單位同上,預設選擇0.5*horizon
輸出值:
返回一個數據框,包含預測值、實際值和截斷日期。