1. 程式人生 > >R語言與資料分析之九:時間內序列--HoltWinters指數平滑法

R語言與資料分析之九:時間內序列--HoltWinters指數平滑法

今天繼續就指數平滑法中最複雜的一種時間序列:有增長或者降低趨勢並且存在季節性波動的時間序列的預測演算法即Holt-Winters和大家分享。這種序列可以被分解為水平趨勢部分、季節波動部分,因此這兩個因素應該在演算法中有對應的引數來控制。

Holt-Winters演算法中提供了alpha、beta和gamma 來分別對應當前點的水平、趨勢部分和季節部分,引數的去執法範圍都是0-1之間,並且引數接近0時,近期的觀測值的影響權重就越小。我們以澳大利亞昆士蘭州海濱紀念商品的月度銷售日子為分析物件,老套路,咱先錄入資料,並繪製出該時間序列,撈個整體印象:

souvenir <- scan("http://robjhyndman.com/tsdldata/data/fancy.dat")
souvenirtimeseries <- ts(souvenir, frequency=12, start=c(1987,1))
logsouvenirtimeseries <- log(souvenirtimeseries)
plot.ts(logsouvenirtimeseries)


我們採用R中提供的HoltWinters演算法進行預測,實現和結果如下:

souvenirtimeseriesforecasts <- HoltWinters(logsouvenirtimeseries)

Alpha=0.4,意味著當期預測基於平衡了最近和較遠期的觀測值。Beta 為0表明趨勢部分的斜率在整個時間序列上市不變的,且等於初始值,這個也符合我們的直觀感受,水平改變非常多,但是趨勢部分斜率是基本不變的,於此相反gamma=0.96表明當期季節部分預測僅僅基於最近的觀測值。

我們同時畫出預測值和觀測值來看下預測的效果如何:

plot(souvenirtimeseriesforecasts)

可見Holt-Winters演算法非常成功的預測了季節峰值,為了預測未來期數的值,我們同樣採用forecast函式包,以預測未來48個月銷售為例:

library("forecast")
souvenirtimeseriesforecasts2 <- forecast.HoltWinters(souvenirtimeseriesforecasts, h=48)
plot.forecast(souvenirtimeseriesforecasts2)


圖中藍色線條顯示的為預測值,深灰色部分為80%的置信區間,淺灰色為95的置信區間。

接下來老套路採用Ljung-Box 和畫出直方圖來檢查預測誤差的隨機性,就不重複貼程式碼了,有忘記的童鞋請轉前兩篇,我這裡就直接貼結果圖了:

三張圖的結果表示咱們R提供的Holt-Winters()演算法還是特別牛掰的,關於指數平滑就到此就徹底結束啦。



相關推薦

R語言資料分析時間序列--HoltWinters指數平滑

今天繼續就指數平滑法中最複雜的一種時間序列:有增長或者降低趨勢並且存在季節性波動的時間序列的預測演算法即Holt-Winters和大家分享。這種序列可以被分解為水平趨勢部分、季節波動部分,因此這兩個因素應該在演算法中有對應的引數來控制。 Holt-Winters演算法中提供

R語言資料分析分類演算法2

上期與大家分享的傳統分類演算法都是建立在判別函式的基礎上,通過判別函式值來確定目標樣本所屬的分類,這類演算法有個最基本的假設:線性假設。今天繼續和大家分享下比較現代的分類演算法:決策樹和神經網路。這兩個演算法都來源於人工智慧和機器學習學科。 首先和小夥伴介紹下資料探勘領域比

R語言資料分析主成分分析

主成份分析歷史: Pearson於1901年提出,再由Hotelling(1933)加以發展的一種多變數統計方法。通過析取主成分顯出最大的個別差異,也用來削減迴歸分析和聚類分析中變數的數目,可以使用樣本協方差矩陣或相關係數矩陣作為出發點進行分析。 通過對原始變數進行線性組合

R語言資料分析工具的安裝應用

實驗名稱 R語言大資料分析工具的安裝與應用 專  業 軟體工程 姓    名      學  

R語言資料探勘學習筆記(1)資料探勘相關包的介紹

今天發現一個很不錯的部落格(http://www.RDataMining.com),博主致力於研究R語言在資料探勘方面的應用,正好近期很想系統的學習一下R語言和資料探勘的整個流程,看了這個部落格的內容,心裡久久不能平靜。決定從今天開始,只要晚上能在11點之前把碗洗好,就花一個小時的時間學習部落格上的內容,並把

R語言——電視劇資料分析

對如下資料進行描述性分析,其中包括:最大值,最小值,中位數,眾數等,求表的行數、列數。 讀入資料 > mydata<-read.csv("C:\\Users\\adwar\\Desktop\\soapdata.csv") 求表的行數: >

顛覆大資料分析Shark分散式系統上的SQL介面

顛覆大資料分析之Shark:分散式系統上的SQL介面 譯者:黃經業    購書 記憶體計算已經成為了海量資料分析的一個重要正規化。這一點可以從兩個方面來進行理解。一方面,儘管當要查詢的資料達到了PB級,但是由於時間和空間的侷限性,在一個叢集環境上僅需64GB的快取就能夠滿足絕大多數的查詢(95

R語言主成分分析SVD

#全資料集PCA all_col_mean = colMeans(data.learn.x) #計算訓練集每一列的均值 data.learn.PCAx = data.learn.x

R語言資料模型(3)-正態分佈

> x<-c(11,22,34,53,12,45,55,37,43,23,9) > dnorm(x,mean=mean(x),sd=sd(x)) [1] 0.011476566 0.020361888 0.023388233 0.010303998 0.

R語言迴歸分析學習筆記(bootstrap method)

           Bootstrap方法在之前的博文《R語言與點估計學習筆記(EM演算法與Bootstrap法)》裡有提到過,簡而言之,bootstrap方法就是重抽樣。為什麼需要bootstrap方法呢?因為bootstrap方法使得我們無需分佈理論的知識也可以進行假

R語言統計分析---湯銀才

關於R中的函式或關鍵字元 命令 > help(fun) 或 ?fun 會立即顯示名為“fun”函式的幫助頁 > apropos(fun) 或 apropos("fun") 找出所有在名字中含有指定字串“fun”的函式,但只會在被載入

LevelDB原始碼分析env

考慮到移植以及靈活性,LevelDB將系統相關的處理(檔案/程序/時間)抽象成Evn,使用者可以自己實現相應的介面,作為option的一部分傳入,預設使用自帶的實現。  env.h中聲明瞭: 虛基類env,在env_posix.cc中,派生類PosixEnv繼承自env

資料分析如何進行迴歸分析

1. 確定自變數與Y是否相關 證明:自變數X1,X2,....XP中至少存在一個自變數與因變數Y相關 For any given value of n(觀測資料的數目) and p(自變數X的數目), any statistical software  package

R語言資料模型(1)-平均,方差,中位數,分位數,極差

1.求平均數。> x<-c(1,10,20,30,40,50,NA,60)> xm<-mean(x)> xm[1] NA#na.rm表示允許缺失資料NA> xm<-mean(x,na.rm=TRUE)> xm[1] 30.142

R語言學習筆記(十三)時間序列

abs 以及 stat max 時間 aic air ror imp #生成時間序列對象 sales<-c(18,33,41,7,34,35,24,25,24,21,25,20,22,31,40,29,25,21,22,54,31,25,26,35) tsal

網站使用者行為資料統計分析資料寫入mongodb

    接著上一篇博文,我再補充一下:     在js中收集到使用者行為資料之後呢,我們要在後臺對資料進行處理,怎麼處理?在實際專案中我分兩條路走:     一、直接寫入mongodb,隨著電商網站規模越來越大,訪問量越來越高,這種非關係型資料庫可以有效地化解高併發的問題

玩轉大資料系列資料分析處理

經過了資料採集和同步之後,就可以在阿里雲上進行資料分析和處理,來玩轉您的資料了。本文向您介紹在阿里雲大資料各產品中,以及各產品之間怎樣來完成您的資料處理和資料分析。 MaxCompute 基於MaxCompute的大資料計算(MaxCompute + RDS) 使用MaxCompute分析IP

R語言實戰——機器學習資料分析

概率統計基礎知識要點: 樣本空間:由隨機試驗E的全部可能結果所組成的集合被稱為E的樣本空間S。 隨機變數Random Variable:是定義在樣本空間S之上的實驗結果的實值函式X。 離散型隨機變數:如果一個隨機變數最多有可數多個可能取值。 連續型隨機變數:如果隨機變數取值

R語言實戰——機器學習資料分析》讀書筆記

#程式功能:測試《R語言實戰——機器學習與資料分析》中的示例 #呼叫方法:R控制檯輸入:source("D:/xxx/R/test.R") #設定工作目錄,每次退出後再進都需要重新設定 setwd("d:/xxx/R") #讀入文字檔案格式的資料 # data <-

資料環境下整合R語言資料探勘平臺 介紹、資料上傳資料預處理

這個整合R語言的資料探勘平臺是當時為中國軟體杯比賽做的一個系統,由於時間太緊,當時開發只用了一週的時間,不過前前後後用了大半年來學習和熟悉R語言,深深感覺到R語言真的是資料分析的一個利器,內建的各種分析包大大簡化了資料分析的過程,只需要傳參呼叫即可,再也不需要讀