“春節假期是難得的讀書充電的時間。”--來自某boss。假期能寫多少算多少,一個是題目中的這本書,另一個是《python核心編程》中的高級部分,再一個是拖着的《算法導論》。
------------------------------------------------------
一、時間序列研究目的主要有兩個:認識產生觀測序列的隨機機制,即建立數據生成模型;基於序列的歷史數據,也許還要考慮其他相關序列或者因素,對序列未來的可能取值給出預測或者預報。通常我們不能假定觀測值獨立取自同一總體,時間序列分析的要點是研究具有相關性質的模型。
二、下面是書上的幾個例子
1、洛杉磯年降水量
問題:用前一年的降水量預測下一年的降水量。
第一幅圖是降水量隨時間的變化圖;第二幅圖是當年降水量與去年降水量散點圖。
win.graph(width=4.875, height=2.5,pointsize=8) #這里可以獨立彈出窗口 data(larain) #TSA包中的數據集,洛杉磯年降水量 plot(larain,ylab='Inches',xlab='Year',type = 'o') #type規定了在每個點處標記一下 win.graph(width = 3,height = 3,pointsize = 8) plot(y = larain,x = zlag(larain),ylab = 'Inches',xlab = 'Previous Year Inches')#zlag函數(TSA包)用來計算一個向量的延遲,默認為1,首項為NA
從第二幅圖看出,前一年的降水量與下一年並沒有什么特殊關系。
2、化工過程
win.graph(width = 4.875,height = 2.5,pointsize = 8) data(color) plot(color,ylab = 'Color Property',xlab = 'Batch',type = 'o') win.graph(width = 3,height = 3,pointsize = 8) plot(y = color,x = zlag(color),ylab = 'Color Property',xlab = 'Previous Batch Color Property') len <- length(color) cor(color[2:len],zlag(color)[2:len])#相關系數 >0.5549
第一幅圖是顏色屬性隨着批次的變化情況。
第二幅圖畫一下前一批次與本批次是散點圖。
上面的圖顯示了稍微向上的趨勢,即數值較大的后一批次也趨向於更大的數值。但是並不明顯,相掛系數只有0.5549.
3、加拿大野兔年豐度
win.graph(width=4.875, height=2.5,pointsize=8) data(hare) plot(hare,ylab='Abundance',xlab='Year',type='o') win.graph(width=3, height=3,pointsize=8) plot(y=hare,x=zlag(hare),ylab='Abundance',xlab='Previous Year Abundance') len <- length(hare) cor(hare[2:len],zlag(hare)[2:len]) >0.7026
看一下下面的圖,明顯有周期性質。
上面的圖看出前一年的數值跟本年度數值相關關系較大。相關系數為0.7026.
4、艾奧瓦州迪比克市月平均氣溫
非常明顯的周期性。季節性模式。
5、濾油器月銷售量
win.graph(width=4.875, height=2.5,pointsize=8) data(oilfilters) plot(oilfilters,type='o',ylab='Sales') win.graph(width=4.875, height=2.5,pointsize=8) plot(oilfilters,type='l',ylab='Sales') Month=c("J","A","S","O","N","D","J","F","M","A","M","J")#注意這里是從1983年7月到1987年6月 points(oilfilters,pch=Month) plot(oilfilters,type='l',ylab='Sales') points(y=oilfilters,x=time(oilfilters),pch=as.vector(season(oilfilters)))#這里的season函數的返回值取決於傳入數值
“向作者提供數據時,經理說沒有理由認為銷售量存在季節性。”“假如各年1月與1月的數據之間存在關聯趨勢,2月與2月的數據之間存在關聯趨勢,那么就有季節性。”
上面的圖作者說沒有顯示明顯的季節性。其實……還好,季節性比較明顯了已經。
在加上月份的標識之后,確實比原來更能顯示出季節性規律。
總之,恰當和有益於發現特定模式的繪圖方法,有利於找到符合時間序列數據的合適模型。
三、建模策略
給時間序列尋找合適的模型並非易事,多步建模策略很有用,包括三個可反復使用的主要步驟:
1、模型識別
2、模型擬合
3、模型診斷
模型識別就是在時間序列模型類中選擇適合觀測值的模型。進一步可以觀察時間序列圖,計算一些統計量。選取的模型是有待考證的,選取原則是能表示模型的前提下選取參數少的。
第二步就是用數據將將選取模型中的參數估計出來,估計方法是最小二乘揮着極大似然。
最后就是對模型進行質量評估。針對一些問題對模型進行估計,看模型是否合理:比如模型對數據的擬合程度有多好,模型前提是否滿足等。如果沒有不足之處,就可以進行預測等任務,如果有不足之處,針對不足之處尋找其他模型,再進行上面三個步驟。
四、歷史上的時間序列圖
名言:“時間序列圖是圖形設計最常用的形式,其一個維度沿着秒、分、時、日、周、月、年、乃至千年等規則的時間節律延伸,時間標度的自然順序賦予了這種設計以解釋的力量和效率,這一點在其他圖形設計上了無痕跡。”









