時間序列分析(一)--移動平均

bjehp發表於2022-02-19

本系列文章翻譯自NIST(美國國家標準與技術研究院)的《Engineering Statistic Handbook》(工程統計手冊) 的第6章第4節關於時間序列分析的內容。本文的翻譯會先使用翻譯軟體進行初步翻譯,筆者在對不恰當之處進行修正。由於筆者水平有限,翻譯過程難免有疏漏之處,歡迎大家評論區指出。本站所有文章均為原創,轉載請註明出處。

英文版地址:https://www.itl.nist.gov/div898/handbook/pmc/section4/pmc4.htm

6.4 時間序列分析

時間序列資料在監視工業流程或跟蹤公司業務指標時經常出現。通過時間序列方法建模資料與使用本章前面討論的過程監控方法之間的本質區別如下:

時間序列分析解釋了這樣一個事實:隨著時間的推移,資料點可能有一個應該考慮的內部結構(如自相關、趨勢或季節變化)。

本節將簡要概述在時間序列建模和分析領域的豐富和快速增長的一些更廣泛使用的技術。

1 定義、應用和技術

時間序列的定義: 一個變數的值在等時間間隔內的有序序列。

應用:時間序列模型的使用是雙重的:

  • 獲得對產生觀測資料的潛在結構的理解;
  • 擬合一個模型,並繼續預測,監測,甚至反饋和前饋控制。

時間序列分析用於許多應用,例如:

  • 經濟預測
  • 銷售預測
  • 預算分析
  • 股票市場分析
  • 產量預測
  • 過程和質量控制
  • 庫存研究
  • 工作負載的預測
  • 效用研究
  • 統計分析

還有許許多多……

技術: 擬合時間序列模型可能是一項很有挑戰的事情。模型擬合的方法有很多,包括以下幾種:

  • Box-Jenkins ARIMA模型
  • Box-Jenkins多變數模型
  • Holt-Winters指數平滑(單、雙、三)

使用者的應用和偏好將決定適當技術的選擇。所有這些方法都超出了本手冊作者的範圍和意圖。這裡的概述將從一些基本的平滑技術開始:

  • 平均方法
  • 指數平滑技術。

本節稍後我們將討論Box-Jenkins建模方法和多元時間序列。

2 什麼是移動平均或平滑技術

隨著時間的推移,收集的資料中會存在某種形式的隨機變化。由於隨機變化的影響,有一些減小和消除的方法。工業上常用的一種技術是“平滑”。如果應用得當,這種技術可以更清楚地揭示潛在的趨勢、季節和迴圈成分。 有兩組不同的平滑方法:

  • 平均方法
  • 指數平滑方法

我們將首先研究一些平均法,如“簡單地” 平均所有過去資料。

倉庫經理想知道一個典型的供應商以1000美元的單位交付多少貨物。他隨機抽取了12家供應商的樣本,得到了以下結果:

Supplier $ Supplier $
1 9 7 11
2 8 8 7
3 9 9 13
4 12 10 9
5 9 11 11
6 12 12 10

資料的計算平均值= 10。經理決定使用它作為一個典型供應商的支出估算。 這是一個好估計還是壞估計?

我們將計算“均方誤差”:

  • “誤差”=實際花費的金額減去估計的金額。
  • “誤差平方”就是上面的誤差在取平方。
  • “SSE”是誤差平方的和。 (sum squared error)
  • MSE是誤差平方的均值。(mean squared error)

結果是: 誤差和平方誤差 估算值= 10

Supplier $ Error Error Squared
1 9 -1 1
2 8 -2 4
3 9 -1 1
4 12 2 4
5 9 -1 1
6 12 2 4
7 11 1 1
8 7 -3 9
9 13 3 9
10 9 -1 1
11 11 1 1
12 10 0 0

SSE = 36,MSE = 36/12 = 3.

那麼,對於每個供應商所花費的金額,估計器是否最優呢? 讓我們比較一下這個估計(10)和下面的估計:7、9和12。也就是說,我們估計每個供應商將花費7美元、9美元或12美元。

執行相同的計算,我們得到:

Estimator 7 9 10 12
SSE 144 48 36 84
MSE 12 4 3 7

均方誤差最小的估計量為最佳估計量。可以從數學上證明,使一組隨機資料的均方差最小的估計量是均值。

接下來,我們將檢驗均值,看看它在預測淨利潤方面的表現。 下一個表格給出了個人電腦製造商在1985年到1994年之間的稅前收入。

Year $ (millions) Mean Error Squared Error
1985 46.163 48.676 -2.513 6.313
1986 46.998 48.676 -1.678 2.814
1987 47.816 48.676 -0.860 0.739
1988 48.311 48.676 -0.365 0.133
1989 48.758 48.676 0.082 0.007
1990 49.164 48.676 0.488 0.239
1991 49.548 48.676 0.872 0.761
1992 48.915 48.676 0.239 0.057
1993 50.315 48.676 1.639 2.688
1994 50.768 48.676 2.092 4.378

MSE = 1.8129.

問題來了:如果我們懷疑一種趨勢,我們能使用平均值來預測收入嗎?下面的圖表清楚地表明,我們不應該這樣做。

總之,我們指出:

  1. 過去所有觀測的“簡單”平均數或平均值,只有在沒有趨勢的情況下,才對預測有用。如果有趨勢,需要使用不同的估計考慮到趨勢。

  2. 過去所有觀測結果的平均“權重”都是相等的。例如,3、4、5的平均值是4。當然,我們知道,平均值是通過將所有數值相加,然後除以數值的個數來計算的。另一種計算平均值的方法是將每個數值乘數值的個數的倒數在相加,如:

    3/3 + 4/3 + 5/3 = 1 + 1.3333 + 1.6667 = 4。

    乘數1/3稱為權重。一般來說:

(1/n)是權重,當然,它們加起來等於1。

2.1 單次移動平均(Single Moving Average)

總結過去資料的另一種方法是按如下方法計算連續較小的過去資料集的平均值。

回想一下這組數字 9, 8, 9, 12, 9, 12, 11, 7, 13, 9, 11, 10 是隨機選擇的12個供應商的金額。設“小集合”的大小M為3。那麼前3個數字的平均值是:(9 + 8 + 9)/ 3 = 8.667。

這被稱為“平滑”(即某種形式的平均)。這個平滑過程繼續前進一個週期,計算三個數字的下一個平均值,去掉第一個數字。

下表總結了這個過程,它被稱為移動平均。移動平均的一般表示式是:

移動平均結果

Supplier $ MA Error Error squared
1 9
2 8
3 9 8.667 0.333 0.111
4 12 9.667 2.333 5.444
5 9 10.000 -1.000 1.000
6 12 11.000 1.000 1.000
7 11 10.667 0.333 0.111
8 7 10.000 -3.000 9.000
9 13 10.333 2.667 7.111
10 9 9.667 -0.667 0.444
11 11 11.000 0 0
12 10 10.000 0 0

MSE = 2.42,而前面情況的MSE為3。

2.2 中心移動平均(Centered Moving Average)

在之前的例子中,我們計算了前3個時間週期的平均值,並將其放在週期3旁邊。我們可以把平均值放在三個時段的中間,也就是,在時段2旁邊。對於奇數時間段,這種方法很有效,但對於偶數時間段就不那麼有效了。當M = 4時,我們應該把第一個移動平均值放在哪裡?

從技術上講,移動平均值將在t = 2.5, 3.5,… 為了避免這個問題,我們使用M = 2平滑MA。因此我們需要平滑已經平滑過的值!

下表顯示了M = 4時的結果。中間步驟:

Period Value MA Centered
1 9
1.5
2 8
2.5 9.5
3 9 9.5
3.5 9.5
4 12 10.0
4.5 10.5
5 9 10.750
5.5 11.0
6 12
6.5
7 11

這是最終的表格:

Period Value Centered MA
1 9
2 8
3 9 9.5
4 12 10.0
5 9 10.75
6 12
7 11

線性趨勢過程中的雙移動平均Double Moving Averages for a Linear Trend Process

不幸的是,無論是所有資料的平均值,還是最近M個值的移動平均,當用作下一時期的預測時,都不能處理具有顯著趨勢的資料。

存在一個變化的MA程式,可以更好地處理具有趨勢的資料。它被稱為線性趨勢過程的雙移動平均。它從原始移動平均計算第二個移動平均,使用相同的M值。只要單和雙移動平均是可用的,計算機程式使用這些平均來計算斜率和截距,然後進行預測。

相關文章