# Reverence - https://www.youtube.com/watch?v=If6pU8BWb4A&t=114s - https://www.youtube.com/watch?v=4b5T7CRPtxw&t=32s - chatGPT4 # 分類1:白噪聲/平穩/非平穩 - **白噪聲序列**:隨機序列,無明顯規則,通常不進行分析。 - **平穩序列**:具有恆定均值和方差,可使用AR、MA、ARMA等模型。 - **非平穩序列**:需要轉換成平穩序列後分析,例如使用差分法後適用ARIMA模型。 # 分類2:單變量/多變量 - **單變量/一元時間序列(Univariate Time Series)**:使用ARMA、GARCH等模型。 - 一元時間序列分析的方法可能包括: - **自回歸模型(AR)**:模型假設當前值與之前的值相關。 - **移動平均模型(MA)**:模型假設當前值與之前的誤差項相關。 - **自回歸移動平均模型(ARMA)**:結合了AR和MA模型的特點。 - **自回歸積分移動平均模型(ARIMA)**:適用於非平穩序列,通過差分將數據轉換為平穩序列後,再應用ARMA模型。 - **季節性變動模型(SARIMA或季節性ARIMA)**:ARIMA的擴展,額外考慮了季節性影響。 - **多變量/多元時間序列(Multivariate Time Series)**:使用VAR、MGARCH等模型。 - 多元時間序列分析的方法可能包括: - **向量自回歸模型(VAR)**:模型假設系統中每個變量都是之前所有變量值的線性函數。 - **向量誤差修正模型(VECM)**:適用於存在共整合關係的多元非平穩序列。 - **向量自回歸移動平均模型(VARMA)**:VAR和VMA模型的組合。 - **向量自回歸移動平均與外生變量模型(VARMAX)**:VARMA模型的擴展,額外包含外生變量的影響。 # 分析思路Step1. **數據準備** 收集待分析的時間序列數據。 # 分析思路Step2. **平穩性檢驗** - 使用單位根檢驗(如ADF檢驗)判斷序列是否平穩。 - 非平穩序列需進行轉換(如差分)。 # 分析思路Step3. **ACF和PACF分析** 平穩序列(或非平穩也行啦)進行ACF和PACF分析以識別自相關和偏自相關的特性 - **典型非平穩序列**(例:單調增加序列和sin序列)這些序列通常顯示強烈的自相關性。 ![image](https://hackmd.io/_uploads/ByK5N43Up.png) 1. **單調增加序列**: - **ACF圖表**:顯示出隨著延遲階數增加,自相關係數逐漸下降但保持在較高水平。這表明序列中的每個值與其過去的值有強烈的相關性。 - **PACF圖表**:在初期的幾個延遲階數中顯示出顯著的相關性,但隨後迅速下降。 2. **Sin序列**: - **ACF圖表**:呈現明顯的周期性波動,這反映了Sin序列的周期性自相關特性。 - **PACF圖表**:也顯示出周期性波動,但與ACF相比,這些波動在PACF中可能更加明顯。 - **隨機白噪聲序列**:由於這是一個白噪聲序列,除了在0延遲(即自己與自己的相關性)之外,其他延遲的相關性應接近於零。 ![image](https://hackmd.io/_uploads/ByvO44nIa.png) # 分析思路Step4. **模型識別** - 根據ACF和PACF選擇AR、MA或ARMA模型。 | ACF | PACF | 適用模型 | | --- | ---- | -------- | | 截 | 拖 | MA | | 拖 | 截 | AR | | 拖 | 拖 | ARMA | - "截"表示該函數在某一階之後迅速變為零。 - "拖"則表示該函數逐漸下降但不為零。 - 使用統計軟體(如SAS)進行模型擬合和識別。 | Lags | MA1 | MA2 | ... | | ---- | ------- | ------- | --- | | AR0 | 數字... | 數字... | | | AR1 | 數字... | 數字... | | | .. | | | | - 討論最小信息準則(MIC)在模型選擇中的應用。例如,使用AIC或BIC來選擇最佳的ARMA模型。在ARMA模型的不同候選中,我們會選擇具有最小AIC或BIC值的模型,如ARMA(2,2)。 - 這個表格是用來展示不同延遲階數(Lags)對於自回歸(AR)和移動平均(MA)項的影響。具體的數字可以根據實際的時間序列數據進行計算。 # 分析思路Step5. **模型診斷/檢驗與優化** - 檢驗模型適配性和預測能力。 - 必要時進行優化。 參數估計後的步驟->模型診斷:來看準確性、改進方向 在一元和多元時間序列分析中,選擇合適的模型非常重要,因為它將直接影響預測的準確性和模型的解釋性。多元時間序列分析比一元分析更為複雜,因為它需要處理多個互相交互的時間序列。這可能包括尋找變量之間的領先-滯後關係、季節性模式和潛在的共整合關係。 ## 單變量/一元時間序列 一元時間序列只包含一個時間依賴的變量。它的分析關注於理解該單一變量的過去行為以及預測未來值。 - 殘差分析 - 過度擬合 ### 殘差分析 殘差分析的目的是檢查殘差(模型預測與實際觀測值之間的差異)是否表現為白噪聲,這意味著模型已經捕捉了數據中的所有規律性。 在時間序列分析中,殘差分析是檢驗模型擬合好壞的一個重要步驀。如果模型擬合得很好,殘差序列應該表現為白噪聲序列(純隨機性)。 白噪聲序列具有以下特性: - 均值為0:意味著殘差在時間上沒有系統偏差。=> 時間序列為0均值的正態分布 - 方差恆定:意味著殘差的波動範圍是一致的,沒有隨時間變化。 - 序列不相關:意味著殘差之間沒有自相關性,每個殘差值都是獨立的。 判斷重點: 1. 是否均值=0 2. 是否來自於正態分布 3. 檢驗自相關函數值 判斷步驟: 1. **殘差圖** 將標準化殘差隨時間的變化繪製成圖表,檢查是否存在趨勢或異常值。 如果殘差圖顯示出明顯的趨勢或季節性模式,則可能意味著模型沒有充分捕捉到數據中的所有資訊,需要進一步調整。 標準(化)殘差-時間plot看(如果存在,根本可以重新去擬合不要搞了) - 是否存在趨勢 - 是否存在異常:是因為模型擬合的問題or外部因素(如國際發生事件) 2. **殘差正態性檢驗**: - **QQ-plot(分位數-分位數圖)**:通過將殘差的分位數與標準正態分布的分位數進行比較來檢查殘差是否近似正態分布。理想狀況下,點應該落在一條直線上,中間的點較緊密,兩端的點較稀疏。 - 接近直線 - 中間密、兩頭疏 若同時符合=>不能拒絕殘差正態性假設 - **Shapiro-Wilk檢驗**:一種正態性檢驗,它會提供一個W統計量和相應的P值,用來檢驗殘差是否來自正態分布。 3. **殘差自相關檢驗**: - **ACF圖**:檢查殘差的自相關性。理想情況下,ACF值應該在滯後lag數K≥2時接近0,並且在±2/√n的範圍內。 - 這是一種基於殘差自相關的統計檢驗,用於檢驗殘差序列中是否存在自相關性。Q值是根據殘差的自相關函數值計算出來的,並且會與卡方分布進行比較,以決定是否存在顯著的自相關性。Ljung-Box檢驗是一種統計方法,用來檢查時間序列模型殘差中是否存在自相關性。如果時間序列模型合適,殘差應該沒有自相關性,即呈現出白噪聲的特性。 - 觀察這些棍子跟0的距離接不接近 - 如果不接近->就可以說沒有提供殘差非零自相關函數在統計上顯著的證據 - (序列不相關:希望自相關函數為0) - AR、MA適用 1. **計算Q統計量**:這個統計量是根據殘差的自相關係數(\( r_k \))計算的,公式如下:$$ Q = n(n+2)\sum_{k=1}^h \frac{r_k^2}{n-k} $$ - \( n \) 是樣本大小。 - \( r_k \) 是第 \( k \) 個滯後的殘差自相關係數。 - \( h \) 是檢驗的滯後數。 2. **比較Q統計量與卡方分布**:將計算出的Q值與卡方分布比較。這裡的卡方分布的自由度大約是 \( h-p-q \), - \( p \) 是AR項數 - \( q \) 是MA項數。 3. **檢驗假設**: - 原假設 \( H_0 \):殘差序列中不存在自相關性。 - 對立假設 \( H_a \):殘差序列中存在自相關性。 - 如果計算出的Q值大於或等於在給定顯著性水平下卡方分布的臨界值,則拒絕原假設,認為殘差中存在自相關性,這意味著模型可能未能捕捉到數據中的所有資訊。 - 這種檢驗對於確認模型是否已經充分捕捉到時間序列數據的信息是非常有用的。如果Ljung-Box檢驗表明存在自相關性,可能需要考慮使用更複雜的模型,或者尋找模型未能捕捉的季節性或趨勢成分。 ### 過度擬合 過度擬合發生在模型過於複雜,導致它學習到數據中的噪聲而非信號。這會導致模型在訓練集上表現良好,但在新的、未見過的數據上表現不佳。避免過度擬合的策略包括使用更簡單的模型、應用正則化技術、進行交叉驗證,以及利用信息準則如AIC和BIC進行模型選擇。 EX:AR(2)看起來還行還ok->提升一階->AR(3)過度擬合,那我們就可以確定是AR(2)就好,我們只要選更一般的模型就行了,因為AR(3)相當於AR(2)的一個特例 **判斷標準**: 1. 共同參數與原始估計相比無顯著改變(有沒有離原來數字很遠) 1. 額外參數不顯著也不為0(有沒有離0很遠) EX: | MODEL | 參數 | | | --------- | ---------- | ----------- | | AR(1) | ar1 0.5705 | | | AR(2) | ar1 0.5173 | ar2 0.1005 | | ARMA(1,1) | ar1 0.6721 | mal -0.1467 | 以判斷AR(1)是一個非常OK的模型擬合,我們看AR(2)的共同參數ar1:0.5705跟0.5173差不多->ok,然後我們看AR(2)的額外參數ar2:0.1005很接近0->ok,那應該沒有過擬合。 對數似然值:越大越好 AIC:有點像成本,越小越好 權衡:AIC的大降低跟對數似然值的小增長 TIPS:過度擬合注意點 參數冗餘:是什麼不重要,但要注意它的問題 1. 去擬合更複雜的模型前,要先確保簡單模型ok,所以要先檢驗簡單模型 2. 做過度擬合時不要同時去增加AR、MA的階數,一步一步來AR(1)、再做ARMA(2,1) 3. 依殘差分析的線索去做擴展,而非盲目擴展 避免過度擬合的方法包括: - 使用更簡單的模型 - 應用正則化技術 - 進行交叉驗證 - 利用信息準則(如AIC、BIC)來選擇模型 在時間序列分析的過程中,重要的是要平衡模型的複雜度和預測能力,避免過度擬合的同時也確保模型足夠捕捉數據中的結構信息。 ## 多變量/多元時間序列 多元時間序列包含兩個或多個相關的時間依賴變量。分析多元時間序列的目的是不僅要理解和預測每個變量,還要探究變量之間的動態關係。 - 殘差交叉相關性 - 多元混成統計 - ... # 分析思路Step6. **預測** - 使用優化後的模型進行未來值預測。