最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用R語(yǔ)言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析

2020-12-25 23:22 作者:拓端tecdat  | 我要投稿

原文:http://tecdat.cn/?p=3609

?

讀時(shí)間序列數(shù)據(jù)

您要分析時(shí)間序列數(shù)據(jù)的第一件事就是將其讀入R,并繪制時(shí)間序列。您可以使用scan()函數(shù)將數(shù)據(jù)讀入R,該函數(shù)假定連續(xù)時(shí)間點(diǎn)的數(shù)據(jù)位于包含一列的簡(jiǎn)單文本文件中。

?

數(shù)據(jù)集如下所示:

僅顯示了文件的前幾行。前三行包含對(duì)數(shù)據(jù)的一些注釋,當(dāng)我們將數(shù)據(jù)讀入R時(shí)我們想要忽略它。我們可以通過(guò)使用scan()函數(shù)的“skip”參數(shù)來(lái)使用它,它指定了多少行。要忽略的文件頂部。要將文件讀入R,忽略前三行,我們鍵入:

在這種情況下,英國(guó)42位連續(xù)國(guó)王的死亡年齡已被讀入變量“國(guó)王”。

一旦將時(shí)間序列數(shù)據(jù)讀入R,下一步就是將數(shù)據(jù)存儲(chǔ)在R中的時(shí)間序列對(duì)象中,這樣就可以使用R的許多函數(shù)來(lái)分析時(shí)間序列數(shù)據(jù)。要將數(shù)據(jù)存儲(chǔ)在時(shí)間序列對(duì)象中,我們使用R中的ts()函數(shù)。例如,要將數(shù)據(jù)存儲(chǔ)在變量'kings'中作為R中的時(shí)間序列對(duì)象,我們鍵入:

您所擁有的時(shí)間序列數(shù)據(jù)集可能是以不到一年的固定間隔收集的,例如,每月或每季度。在這種情況下,您可以使用ts()函數(shù)中的'frequency'參數(shù)指定每年收集數(shù)據(jù)的次數(shù)。對(duì)于月度時(shí)間序列數(shù)據(jù),您設(shè)置頻率= 12,而對(duì)于季度時(shí)間序列數(shù)據(jù),您設(shè)置頻率= 4。

您還可以使用ts()函數(shù)中的“start”參數(shù)指定收集數(shù)據(jù)的第一年和該年度的第一個(gè)時(shí)間間隔。例如,如果第一個(gè)數(shù)據(jù)點(diǎn)對(duì)應(yīng)于1986年第二季度,則設(shè)置start = c(1986,2)。

?

同樣,? 1987年1月至1993年12月澳大利亞昆士蘭州海灘度假小鎮(zhèn)紀(jì)念品商店的月銷售額(來(lái)自Wheelwright和Hyndman的原始數(shù)據(jù), 1998)。我們可以通過(guò)輸入以下內(nèi)容將數(shù)據(jù)讀入R:

繪制時(shí)間序列

一旦你將時(shí)間序列讀入R,下一步通常是制作時(shí)間序列數(shù)據(jù)的圖,你可以用R中的plot.ts()函數(shù)做。

例如,為了繪制英國(guó)42位連續(xù)國(guó)王的死亡時(shí)間序列,我們輸入:

此搜索

我們可以從時(shí)間圖中看出,可以使用加性模型來(lái)描述該時(shí)間序列,因?yàn)閿?shù)據(jù)中的隨機(jī)波動(dòng)在大小上隨時(shí)間大致恒定。

同樣,為了繪制紐約市每月出生人數(shù)的時(shí)間序列,我們輸入:

圖像2

從這個(gè)時(shí)間序列我們可以看出,每月出生人數(shù)似乎有季節(jié)性變化:每年夏天都有一個(gè)高峰,每個(gè)冬天都有一個(gè)低谷。同樣,似乎這個(gè)時(shí)間序列可能是用加性模型來(lái)描述的,因?yàn)榧竟?jié)性波動(dòng)的大小隨著時(shí)間的推移大致不變,似乎并不依賴于時(shí)間序列的水平,隨機(jī)波動(dòng)似乎也是隨著時(shí)間的推移大小不變。

同樣,為了繪制澳大利亞昆士蘭州海灘度假小鎮(zhèn)紀(jì)念品商店每月銷售的時(shí)間序列,我們輸入:

圖像4

在這種情況下,似乎加法模型不適合描述這個(gè)時(shí)間序列,因?yàn)榧竟?jié)性波動(dòng)和隨機(jī)波動(dòng)的大小似乎隨著時(shí)間序列的水平而增加。因此,我們可能需要轉(zhuǎn)換時(shí)間序列以獲得可以使用加法模型描述的變換時(shí)間序列。例如,我們可以通過(guò)計(jì)算原始數(shù)據(jù)的自然日志來(lái)轉(zhuǎn)換時(shí)間序列:

圖像5

在這里我們可以看到,對(duì)數(shù)變換時(shí)間序列中的季節(jié)性波動(dòng)和隨機(jī)波動(dòng)的大小似乎隨著時(shí)間的推移大致不變,并且不依賴于時(shí)間序列的水平。因此,可以使用加法模型來(lái)描述對(duì)數(shù)變換的時(shí)間序列。

分解時(shí)間序列

分解時(shí)間序列意味著將其分成其組成部分,這些組成部分通常是趨勢(shì)分量和不規(guī)則分量,如果是季節(jié)性時(shí)間序列,則是季節(jié)性分量。

分解非季節(jié)性數(shù)據(jù)

非季節(jié)性時(shí)間序列由趨勢(shì)分量和不規(guī)則分量組成。分解時(shí)間序列涉及嘗試將時(shí)間序列分成這些分量,即估計(jì)趨勢(shì)分量和不規(guī)則分量。

為了估計(jì)可以使用加性模型描述的非季節(jié)性時(shí)間序列的趨勢(shì)分量,通常使用平滑方法,例如計(jì)算時(shí)間序列的簡(jiǎn)單移動(dòng)平均值。

“TTR”R包中的SmA()函數(shù)可用于使用簡(jiǎn)單的移動(dòng)平均值來(lái)平滑時(shí)間序列數(shù)據(jù)。要使用此功能,我們首先需要安裝“TTR”R軟件包 。一旦安裝了“TTR”R軟件包,就可以輸入以下命令加載“TTR”R軟件包:

然后,您可以使用“SmA()”功能來(lái)平滑時(shí)間序列數(shù)據(jù)。要使用SmA()函數(shù),需要使用參數(shù)“n”指定簡(jiǎn)單移動(dòng)平均值的順序(跨度)。例如,要計(jì)算5階的簡(jiǎn)單移動(dòng)平均值,我們?cè)赟mA()函數(shù)中設(shè)置n = 5。

例如,如上所述,英國(guó)42位連續(xù)國(guó)王的死亡年齡的時(shí)間序列出現(xiàn)是非季節(jié)性的,并且可能使用加性模型來(lái)描述,因?yàn)閿?shù)據(jù)中的隨機(jī)波動(dòng)大小基本上是恒定的。時(shí)間:

此搜索

因此,我們可以嘗試通過(guò)使用簡(jiǎn)單移動(dòng)平均線進(jìn)行平滑來(lái)估計(jì)此時(shí)間序列的趨勢(shì)分量。要使用3階簡(jiǎn)單移動(dòng)平均值平滑時(shí)間序列,并繪制平滑時(shí)間序列數(shù)據(jù),我們鍵入:

image6

在使用3階簡(jiǎn)單移動(dòng)平均值平滑的時(shí)間序列中,似乎存在相當(dāng)多的隨機(jī)波動(dòng)。因此,為了更準(zhǔn)確地估計(jì)趨勢(shì)分量,我們可能希望嘗試使用簡(jiǎn)單的移動(dòng)平均值來(lái)平滑數(shù)據(jù)。更高階。這需要一些試錯(cuò),才能找到合適的平滑量。例如,我們可以嘗試使用8階的簡(jiǎn)單移動(dòng)平均線:

image7

使用8階簡(jiǎn)單移動(dòng)平均值進(jìn)行平滑的數(shù)據(jù)可以更清晰地顯示趨勢(shì)分量,我們可以看到英國(guó)國(guó)王的死亡年齡似乎已經(jīng)從大約55歲降至大約38歲在最后的20位國(guó)王中,然后在第40位國(guó)王在時(shí)間序列的統(tǒng)治結(jié)束之后增加到大約73歲。

分解季節(jié)性數(shù)據(jù)

季節(jié)性時(shí)間序列由趨勢(shì)組件,季節(jié)性組件和不規(guī)則組件組成。分解時(shí)間序列意味著將時(shí)間序列分成這三個(gè)組成部分:即估計(jì)這三個(gè)組成部分。

為了估計(jì)可以使用加性模型描述的季節(jié)性時(shí)間序列的趨勢(shì)分量和季節(jié)性分量,我們可以使用R中的“decompose()”函數(shù)。該函數(shù)估計(jì)時(shí)間序列的趨勢(shì),季節(jié)和不規(guī)則分量??梢允褂眉有阅P蛠?lái)描述。

函數(shù)“decompose()”返回一個(gè)列表對(duì)象作為結(jié)果,其中季節(jié)性組件,趨勢(shì)組件和不規(guī)則組件的估計(jì)值存儲(chǔ)在該列表對(duì)象的命名元素中,稱為“季節(jié)性”,“趨勢(shì)”和“隨機(jī)” “ 分別。

例如,如上所述,紐約市每月出生人數(shù)的時(shí)間序列是季節(jié)性的,每年夏季和每年冬季都會(huì)出現(xiàn)高峰,并且可能使用加性模型來(lái)描述,因?yàn)榧竟?jié)性和隨機(jī)波動(dòng)似乎是隨著時(shí)間的推移大小不變:

圖像2

為了估計(jì)這個(gè)時(shí)間序列的趨勢(shì),季節(jié)性和不規(guī)則成分,我們輸入:

季節(jié)性,趨勢(shì)和不規(guī)則成分的估計(jì)值現(xiàn)在存儲(chǔ)在變量birthstimeseriescomponents $ seasonal,birthstimeseriescomponents $ trend和birthstimeseriescomponents $ random中。例如,我們可以通過(guò)鍵入以下內(nèi)容輸出季節(jié)性組件的估計(jì)值:

估計(jì)的季節(jié)性因素是在1月至12月期間給出的,并且每年都是相同的。最大的季節(jié)性因素是7月份(約1.46),最低的是2月份(約-2.08),表明7月出生率似乎達(dá)到高峰,2月出生低谷。

我們可以使用“plot()”函數(shù)繪制時(shí)間序列的估計(jì)趨勢(shì),季節(jié)和不規(guī)則分量,例如:

image8

上圖顯示了原始時(shí)間序列(頂部),估計(jì)趨勢(shì)分量(從頂部開始的第二個(gè)),估計(jì)的季節(jié)性分量(從頂部開始的第三個(gè))和估計(jì)的不規(guī)則分量(底部)。我們看到估計(jì)的趨勢(shì)分量顯示從1947年的大約24小幅下降到1948年的大約22小幅下降,隨后從1959年開始穩(wěn)步增加到大約27。

季節(jié)性調(diào)整

如果您有可以使用附加模型描述的季節(jié)性時(shí)間序列,則可以通過(guò)估計(jì)季節(jié)性成分來(lái)季節(jié)性地調(diào)整時(shí)間序列,并從原始時(shí)間序列中減去估計(jì)的季節(jié)性成分。我們可以使用“decompose()”函數(shù)計(jì)算的季節(jié)性成分的估計(jì)來(lái)做到這一點(diǎn)。

例如,要季節(jié)性調(diào)整紐約市每月出生人數(shù)的時(shí)間序列,我們可以使用“decompose()”估算季節(jié)性成分,然后從原始時(shí)間序列中減去季節(jié)性成分:

然后我們可以使用“plot()”函數(shù)繪制經(jīng)季節(jié)性調(diào)整的時(shí)間序列,輸入:

圖像9

您可以看到季節(jié)性變化已從經(jīng)季節(jié)性調(diào)整的時(shí)間序列中刪除。經(jīng)季節(jié)性調(diào)整的時(shí)間序列現(xiàn)在只包含趨勢(shì)分量和不規(guī)則分量。

使用指數(shù)平滑的預(yù)測(cè)

指數(shù)平滑可用于對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行短期預(yù)測(cè)。

簡(jiǎn)單的指數(shù)平滑

如果您有一個(gè)時(shí)間序列可以使用具有恒定水平且沒(méi)有季節(jié)性的附加模型來(lái)描述,則可以使用簡(jiǎn)單的指數(shù)平滑來(lái)進(jìn)行短期預(yù)測(cè)。

簡(jiǎn)單指數(shù)平滑方法提供了一種估計(jì)當(dāng)前時(shí)間點(diǎn)的水平的方法。平滑由參數(shù)alpha控制;?用于估計(jì)當(dāng)前時(shí)間點(diǎn)的水平。alpha的值;?α值接近于0意味著在對(duì)未來(lái)值進(jìn)行預(yù)測(cè)時(shí),最近的觀察值很小。

?

image10

你可以從圖中看到大致恒定的水平(平均值保持恒定在25英寸左右)。隨著時(shí)間的推移,時(shí)間序列中的隨機(jī)波動(dòng)似乎大致不變,因此使用加性模型描述數(shù)據(jù)可能是合適的。因此,我們可以使用簡(jiǎn)單的指數(shù)平滑進(jìn)行預(yù)測(cè)。

為了使用R中的簡(jiǎn)單指數(shù)平滑進(jìn)行預(yù)測(cè),我們可以使用R中的“HoltWinters()”函數(shù)擬合一個(gè)簡(jiǎn)單的指數(shù)平滑預(yù)測(cè)模型。要使用HoltWinters()進(jìn)行簡(jiǎn)單的指數(shù)平滑,我們需要設(shè)置參數(shù)beta = FALSE和HoltWinters()函數(shù)中的gamma = FALSE(β和gamma參數(shù)用于Holt的指數(shù)平滑,或Holt-Winters指數(shù)平滑,如下所述)。

HoltWinters()函數(shù)返回一個(gè)列表變量,該變量包含多個(gè)命名元素。

例如,要使用簡(jiǎn)單的指數(shù)平滑來(lái)預(yù)測(cè)倫敦年降雨量的時(shí)間序列,我們輸入:

HoltWinters()的輸出告訴我們alpha參數(shù)的估計(jì)值約為0.024。這非常接近零,告訴我們預(yù)測(cè)是基于最近和最近的觀察結(jié)果(雖然對(duì)最近的觀察更加重視)。

默認(rèn)情況下,HoltWinters()僅對(duì)我們?cè)紩r(shí)間序列所涵蓋的相同時(shí)間段進(jìn)行預(yù)測(cè)。在這種情況下,我們的原始時(shí)間序列包括1813年至1912年倫敦的降雨量,所以預(yù)測(cè)也是1813年至1912年。

在上面的例子中,我們將HoltWinters()函數(shù)的輸出存儲(chǔ)在列表變量“rainseriesforecasts”中。HoltWinters()的預(yù)測(cè)存儲(chǔ)在這個(gè)名為“fits”的列表變量的命名元素中,因此我們可以通過(guò)輸入以下內(nèi)容來(lái)獲取它們的值:

我們可以通過(guò)鍵入以下內(nèi)容來(lái)繪制原始時(shí)間序列與預(yù)測(cè):

圖像11

該圖顯示原始時(shí)間序列為黑色,預(yù)測(cè)顯示為紅線。預(yù)測(cè)的時(shí)間序列比原始數(shù)據(jù)的時(shí)間序列要平滑得多。

作為預(yù)測(cè)準(zhǔn)確性的度量,我們可以計(jì)算樣本內(nèi)預(yù)測(cè)誤差的平方誤差之和,即我們?cè)紩r(shí)間序列所涵蓋的時(shí)間段的預(yù)測(cè)誤差。平方誤差之和存儲(chǔ)在名為“SSE”的列表變量“rainseriesforecasts”的命名元素中,因此我們可以通過(guò)鍵入以下內(nèi)容來(lái)獲取其值:

也就是說(shuō),這里的平方誤差之和為1828.855。

在簡(jiǎn)單的指數(shù)平滑中,通常使用時(shí)間序列中的第一個(gè)值作為級(jí)別的初始值。例如,在倫敦的降雨時(shí)間序列中,1813年降雨量的第一個(gè)值為23.56(英寸)。您可以使用“l(fā).start”參數(shù)指定HoltWinters()函數(shù)中水平的初始值。例如,要將級(jí)別的初始值設(shè)置為23.56進(jìn)行預(yù)測(cè),我們鍵入:

如上所述,默認(rèn)情況下,HoltWinters()僅對(duì)原始數(shù)據(jù)所涵蓋的時(shí)間段進(jìn)行預(yù)測(cè),即降雨時(shí)間序列為1813-1912。我們可以使用R“forecast”包中的“forecast.HoltWinters()”函數(shù)對(duì)更多時(shí)間點(diǎn)進(jìn)行預(yù)測(cè)。要使用forecast.HoltWinters()函數(shù),我們首先需要安裝“預(yù)測(cè)”R包(有關(guān)如何安裝R包的說(shuō)明,請(qǐng)參閱如何安裝R包)。

安裝“預(yù)測(cè)”R軟件包后,您可以鍵入以下命令加載“預(yù)測(cè)”R軟件包:

當(dāng)使用forecast.HoltWinters()函數(shù)作為其第一個(gè)參數(shù)(輸入)時(shí),您將使用HoltWinters()函數(shù)傳遞給您已經(jīng)擬合的預(yù)測(cè)模型。例如,在降雨時(shí)間序列的情況下,我們將使用HoltWinters()的預(yù)測(cè)模型存儲(chǔ)在變量“rainseriesforecasts”中。您可以使用forecast.HoltWinters()中的“h”參數(shù)指定要進(jìn)行預(yù)測(cè)的其他時(shí)間點(diǎn)數(shù)。例如,要使用forecast.HoltWinters()預(yù)測(cè)1814-1820(8年以上)的降雨量,我們輸入:

forecast.HoltWinters()函數(shù)為您提供一年的預(yù)測(cè),預(yù)測(cè)的預(yù)測(cè)間隔為80%,預(yù)測(cè)的預(yù)測(cè)間隔為95%。例如,1920年的預(yù)測(cè)降雨量約為24.68英寸,95%的預(yù)測(cè)間隔為(16.24,33.11)。

要繪制forecast.HoltWinters()所做的預(yù)測(cè),我們可以使用“plot.forecast()”函數(shù):

image12

這里1913-1920的預(yù)測(cè)繪制為藍(lán)線,80%預(yù)測(cè)間隔繪制為橙色陰影區(qū)域,95%預(yù)測(cè)間隔繪制為黃色陰影區(qū)域。

對(duì)于每個(gè)時(shí)間點(diǎn),“預(yù)測(cè)誤差”被計(jì)算為觀測(cè)值減去預(yù)測(cè)值。我們只能計(jì)算原始時(shí)間序列所涵蓋的時(shí)間段的預(yù)測(cè)誤差,即降雨數(shù)據(jù)的1813-1912。如上所述,預(yù)測(cè)模型準(zhǔn)確性的一個(gè)度量是樣本內(nèi)預(yù)測(cè)誤差的平方誤差和(SSE)。

樣本內(nèi)預(yù)測(cè)錯(cuò)誤存儲(chǔ)在forecast.HoltWinters()返回的列表變量的命名元素“residuals”中。如果無(wú)法改進(jìn)預(yù)測(cè)模型,則連續(xù)預(yù)測(cè)的預(yù)測(cè)誤差之間不應(yīng)存在相關(guān)性。換句話說(shuō),如果連續(xù)預(yù)測(cè)的預(yù)測(cè)誤差之間存在相關(guān)性,則可能通過(guò)另一種預(yù)測(cè)技術(shù)可以改進(jìn)簡(jiǎn)單的指數(shù)平滑預(yù)測(cè)。

為了弄清楚是否是這種情況,我們可以獲得滯后1-20的樣本內(nèi)預(yù)測(cè)誤差的相關(guān)圖。我們可以使用R中的“acf()”函數(shù)計(jì)算預(yù)測(cè)誤差的相關(guān)圖。要指定我們想要查看的最大滯后,我們?cè)赼cf()中使用“l(fā)ag.max”參數(shù)。

例如,為了計(jì)算倫敦降雨數(shù)據(jù)的樣本內(nèi)預(yù)測(cè)誤差的相關(guān)圖,我們輸入:

image13

您可以從示例相關(guān)圖中看到滯后3處的自相關(guān)剛剛觸及顯著邊界。為了測(cè)試是否存在滯后1-20的非零相關(guān)性的重要證據(jù),我們可以進(jìn)行Ljung-Box測(cè)試。這可以使用“Box.test()”函數(shù)在R中完成。我們想要查看的最大延遲是使用Box.test()函數(shù)中的“l(fā)ag”參數(shù)指定的。例如,要測(cè)試是否存在滯后1-20的非零自相關(guān),對(duì)于倫敦降雨數(shù)據(jù)的樣本內(nèi)預(yù)測(cè)誤差,我們鍵入:

這里的Ljung-Box檢驗(yàn)統(tǒng)計(jì)量為17.4,p值為0.6,因此幾乎沒(méi)有證據(jù)表明樣本預(yù)測(cè)誤差在1-20落后存在非零自相關(guān)。

為了確保預(yù)測(cè)模型無(wú)法改進(jìn),檢查預(yù)測(cè)誤差是否正態(tài)分布均值為零和恒定方差也是一個(gè)好主意。要檢查預(yù)測(cè)誤差是否具有恒定方差,我們可以制作樣本內(nèi)預(yù)測(cè)誤差的時(shí)間圖:

image18

該圖顯示樣本內(nèi)預(yù)測(cè)誤差似乎隨時(shí)間變化大致不變,盡管時(shí)間序列(1820-1830)開始時(shí)波動(dòng)的大小可能略小于后期日期(例如1840年) -1850)。

為了檢查預(yù)測(cè)誤差是否正態(tài)分布為均值為零,我們可以繪制預(yù)測(cè)誤差的直方圖,其中覆蓋的正態(tài)曲線具有平均零和標(biāo)準(zhǔn)差與預(yù)測(cè)誤差的分布相同。為此,我們可以在下面定義一個(gè)R函數(shù)“plotForecastErrors()”:

您必須將上述功能復(fù)制到R中才能使用它。然后,您可以使用plotForecastErrors()繪制降雨預(yù)測(cè)的預(yù)測(cè)誤差的直方圖(具有重疊的正常曲線):

image19

該圖顯示預(yù)測(cè)誤差的分布大致以零為中心,并且或多或少地正態(tài)分布,盡管與正常曲線相比,它似乎略微偏向右側(cè)。然而,右傾斜相對(duì)較小,因此預(yù)測(cè)誤差通常以均值0分布是合理的。

Ljung-Box測(cè)試表明,樣本內(nèi)預(yù)測(cè)誤差中幾乎沒(méi)有非零自相關(guān)的證據(jù),預(yù)測(cè)誤差的分布似乎正常分布為均值為零。這表明簡(jiǎn)單的指數(shù)平滑方法為倫敦降雨提供了一個(gè)充分的預(yù)測(cè)模型,這可能無(wú)法改進(jìn)。此外,80%和95%預(yù)測(cè)區(qū)間基于的假設(shè)(預(yù)測(cè)誤差中沒(méi)有自相關(guān),預(yù)測(cè)誤差通常以均值零和恒定方差分布)可能是有效的。

霍爾特的指數(shù)平滑

如果您的時(shí)間序列可以使用趨勢(shì)增加或減少且沒(méi)有季節(jié)性的加法模型來(lái)描述,則可以使用Holt的指數(shù)平滑來(lái)進(jìn)行短期預(yù)測(cè)。

霍爾特的指數(shù)平滑估計(jì)當(dāng)前時(shí)間點(diǎn)的水平和斜率。平滑由兩個(gè)參數(shù)α控制,用于估計(jì)當(dāng)前時(shí)間點(diǎn)的水平,β用于估計(jì)當(dāng)前時(shí)間點(diǎn)的趨勢(shì)分量的斜率b。與簡(jiǎn)單的指數(shù)平滑一樣,參數(shù)alpha和beta的值介于0和1之間,接近0的值意味著在對(duì)未來(lái)值進(jìn)行預(yù)測(cè)時(shí),對(duì)最近的觀察值的重要性很小。

時(shí)間序列的一個(gè)例子可以使用具有趨勢(shì)和沒(méi)有季節(jié)性的加法模型來(lái)描述女性裙子在1866年到1911年的年度直徑的時(shí)間序列。?過(guò)輸入以下內(nèi)容讀入并繪制R中的數(shù)據(jù):

image14

從圖中我們可以看出,直徑從1866年的約600增加到1880年的約1050,之后在1911年,下擺直徑減少到約520。

為了進(jìn)行預(yù)測(cè),我們可以使用R中的HoltWinters()函數(shù)擬合預(yù)測(cè)模型。要使用HoltWinters()進(jìn)行Holt的指數(shù)平滑,我們需要設(shè)置參數(shù)gamma = FALSE(gamma參數(shù)用于Holt-Winters指數(shù)平滑,如下所述)。

例如,要使用Holt的指數(shù)平滑來(lái)擬合裙擺直徑的預(yù)測(cè)模型,我們鍵入:

α的估計(jì)值為0.84,β的估計(jì)值為1.00。這些都很高,告訴我們水平的當(dāng)前值和趨勢(shì)分量的斜率b的估計(jì)主要基于時(shí)間序列中的最近觀察。這具有良好的直觀感,因?yàn)闀r(shí)間序列的水平和斜率都會(huì)隨著時(shí)間的推移而發(fā)生很大變化。樣本內(nèi)預(yù)測(cè)誤差的平方和誤差的值是16954。

我們可以將原始時(shí)間序列繪制為黑色線條,其中預(yù)測(cè)值為紅線,通過(guò)鍵入:

image15

我們從圖中可以看出,樣本內(nèi)預(yù)測(cè)與觀測(cè)值非常吻合,盡管它們往往略微落后于觀測(cè)值。

如果需要,可以使用HoltWinters()函數(shù)的“l(fā).start”和“b.start”參數(shù)指定趨勢(shì)分量的級(jí)別和斜率b的初始值。通常將水平的初始值設(shè)置為時(shí)間序列中的第一個(gè)值(裙邊數(shù)據(jù)為608),并將斜率的初始值設(shè)置為第二個(gè)值減去第一個(gè)值(裙邊數(shù)據(jù)為9)。例如,為了使用Holt的指數(shù)平滑擬合裙邊折邊數(shù)據(jù)的預(yù)測(cè)模型,水平的初始值為608,趨勢(shì)分量的斜率b為9,我們輸入:

對(duì)于簡(jiǎn)單的指數(shù)平滑,我們可以使用“forecast”包中的forecast.HoltWinters()函數(shù)對(duì)原始時(shí)間序列未涵蓋的未來(lái)時(shí)間進(jìn)行預(yù)測(cè)。例如,我們的裙擺下擺的時(shí)間序列數(shù)據(jù)是1866年至1911年,因此我們可以預(yù)測(cè)1912年至1930年(另外19個(gè)數(shù)據(jù)點(diǎn)),并通過(guò)輸入以下內(nèi)容繪制:

image16

預(yù)測(cè)顯示為藍(lán)線,80%預(yù)測(cè)區(qū)間為橙色陰影區(qū)域,95%預(yù)測(cè)區(qū)間為黃色陰影區(qū)域。

對(duì)于簡(jiǎn)單的指數(shù)平滑,我們可以通過(guò)檢查樣本內(nèi)預(yù)測(cè)誤差是否在滯后1-20處顯示非零自相關(guān)來(lái)檢查是否可以改進(jìn)預(yù)測(cè)模型。例如,對(duì)于裙邊折邊數(shù)據(jù),我們可以制作一個(gè)相關(guān)圖,并通過(guò)鍵入以下內(nèi)容來(lái)執(zhí)行Ljung-Box測(cè)試:

image17

此處相關(guān)圖顯示滯后5處的樣本內(nèi)預(yù)測(cè)誤差的樣本自相關(guān)超過(guò)了顯著性邊界。然而,我們預(yù)計(jì)前20個(gè)國(guó)家中20個(gè)自相關(guān)中有一個(gè)僅僅偶然地超過(guò)95%的顯著性界限。實(shí)際上,當(dāng)我們進(jìn)行Ljung-Box檢驗(yàn)時(shí),p值為0.47,表明在1-20落后的樣本內(nèi)預(yù)測(cè)誤差中幾乎沒(méi)有證據(jù)表明存在非零自相關(guān)。

對(duì)于簡(jiǎn)單的指數(shù)平滑,我們還應(yīng)檢查預(yù)測(cè)誤差隨時(shí)間的變化是否恒定,并且通常以均值0分布。我們可以通過(guò)制作預(yù)測(cè)誤差的時(shí)間圖和預(yù)測(cè)誤差分布的直方圖以及覆蓋的正常曲線來(lái)做到這一點(diǎn):


預(yù)測(cè)誤差的時(shí)間圖表明預(yù)測(cè)誤差隨時(shí)間變化大致不變。預(yù)測(cè)誤差的直方圖表明,預(yù)測(cè)誤差通常以均值零和常數(shù)方差分布是合理的。

因此,Ljung-Box測(cè)試表明,預(yù)測(cè)誤差中幾乎沒(méi)有自相關(guān)的證據(jù),而預(yù)測(cè)誤差的時(shí)間圖和直方圖表明,預(yù)測(cè)誤差通常以均值零和常數(shù)方差分布是合理的。因此,我們可以得出結(jié)論,霍爾特的指數(shù)平滑為裙擺直徑提供了足夠的預(yù)測(cè)模型,這可能無(wú)法改進(jìn)。此外,這意味著80%和95%預(yù)測(cè)區(qū)間所基于的假設(shè)可能是有效的。

Holt-Winters指數(shù)平滑

如果您有一個(gè)時(shí)間序列可以使用增加或減少趨勢(shì)和季節(jié)性的加法模型來(lái)描述,您可以使用Holt-Winters指數(shù)平滑來(lái)進(jìn)行短期預(yù)測(cè)。

Holt-Winters指數(shù)平滑估計(jì)當(dāng)前時(shí)間點(diǎn)的水平,斜率和季節(jié)性分量。平滑由三個(gè)參數(shù)控制:α,β和γ,分別用于當(dāng)前時(shí)間點(diǎn)的水平估計(jì),趨勢(shì)分量的斜率b和季節(jié)分量。參數(shù)alpha,beta和gamma都具有介于0和1之間的值,并且接近0的值意味著在對(duì)未來(lái)值進(jìn)行預(yù)測(cè)時(shí)對(duì)最近的觀察值的權(quán)重相對(duì)較小。

可以使用具有趨勢(shì)和季節(jié)性的附加模型描述的時(shí)間序列的示例是澳大利亞昆士蘭州的海灘度假小鎮(zhèn)紀(jì)念品商店的月銷售日志的時(shí)間序列(如上所述):

為了進(jìn)行預(yù)測(cè),我們可以使用HoltWinters()函數(shù)擬合預(yù)測(cè)模型。例如,為了擬合紀(jì)念品商店每月銷售日志的預(yù)測(cè)模型,我們輸入:

α,β和γ的估計(jì)值分別為0.41,0.00和0.96。α(0.41)的值相對(duì)較低,表明當(dāng)前時(shí)間點(diǎn)的水平估計(jì)是基于最近的觀察和更遠(yuǎn)的過(guò)去的一些觀察。β的值為0.00,表示趨勢(shì)分量的斜率b的估計(jì)值不在時(shí)間序列上更新,而是設(shè)置為等于其初始值。這具有良好的直觀感,因?yàn)樗皆跁r(shí)間序列上發(fā)生了相當(dāng)大的變化,但趨勢(shì)分量的斜率b保持大致相同。相反,伽馬值(0.96)很高,表明當(dāng)前時(shí)間點(diǎn)的季節(jié)性成分估計(jì)僅基于最近的觀察。

對(duì)于簡(jiǎn)單的指數(shù)平滑和Holt的指數(shù)平滑,我們可以將原始時(shí)間序列繪制為黑色線條,預(yù)測(cè)值為紅線,頂部為:

我們從圖中看到,Holt-Winters指數(shù)法非常成功地預(yù)測(cè)了季節(jié)性峰值,這種峰值大致發(fā)生在每年的11月。

為了對(duì)未包含在原始時(shí)間序列中的未來(lái)時(shí)間進(jìn)行預(yù)測(cè),我們?cè)凇邦A(yù)測(cè)”包中使用“forecast.HoltWinters()”函數(shù)。例如,紀(jì)念品銷售的原始數(shù)據(jù)是從1987年1月到1993年12月。如果我們想要預(yù)測(cè)1994年1月至1998年12月(48個(gè)月以上),并繪制預(yù)測(cè)圖,我們將輸入:


還有問(wèn)題嗎? 聯(lián)系我們!

?

最受歡迎的見(jiàn)解

1.在python中使用lstm和pytorch進(jìn)行時(shí)間序列預(yù)測(cè)

2.python中利用長(zhǎng)短期記憶模型lstm進(jìn)行時(shí)間序列預(yù)測(cè)分析

3.使用r語(yǔ)言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析

4.r語(yǔ)言多元copula-garch-模型時(shí)間序列預(yù)測(cè)

5.r語(yǔ)言copulas和金融時(shí)間序列案例

6.使用r語(yǔ)言隨機(jī)波動(dòng)模型sv處理時(shí)間序列中的隨機(jī)波動(dòng)

7.r語(yǔ)言時(shí)間序列tar閾值自回歸模型

8.r語(yǔ)言k-shape時(shí)間序列聚類方法對(duì)股票價(jià)格時(shí)間序列聚類

9.python3用arima模型進(jìn)行時(shí)間序列預(yù)測(cè)

使用R語(yǔ)言進(jìn)行時(shí)間序列(arima,指數(shù)平滑)分析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
哈巴河县| 噶尔县| 桃源县| 雅安市| 浦北县| 龙南县| 哈尔滨市| 平和县| 武宁县| 扶沟县| 莱州市| 平潭县| 楚雄市| 安乡县| 龙口市| 慈溪市| 图木舒克市| 全椒县| 罗定市| 呼和浩特市| 萨嘎县| 南投县| 旺苍县| 乌拉特后旗| 吉首市| 筠连县| 南部县| 诸暨市| 苏尼特右旗| 洛南县| 浏阳市| 赤壁市| 宁陵县| 鸡东县| 平定县| 古交市| 达尔| 泰安市| 高州市| 灵寿县| 马山县|