机器学习笔记:(时间序列中的线性回归)如何选择预测变量
當有許多可能的預測變量時,我們需要一些策略來選擇用于回歸模型的最佳預測變量。
1 不推薦的方法
????????不推薦的一種常見方法是針對特定預測變量繪制預測結果和預測變量之間的關系圖,如果沒有明顯的關系,則從模型中刪除該預測變量。
????????這是不一定有用的,因為并不總是可以從散點圖中看到關系,尤其是在未考慮其他預測變量的影響時。
????????另一種同樣無效的常見方法是對所有預測變量進行多元線性回歸,并忽略 p 值大于 0.05 的所有變量。
2 本篇前言?
????????在本篇中,我們將使用預測準確性的度量。在R語言中,使用CV()函數實現
y<-ts(c(5,3,3.1,3.2,3.3,3.4,3.5,3.3,3.2,4,4.1,4.2,6,4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5,10,9,8,8.5,8.4,8.5,8.6,8.7,8.8,8.9,9,9.5),start = 2020,frequency = 12)library(forecast)CV(tslm(y~y)) # CV AIC AICc BIC AdjR2 # 5.690735 64.569914 64.933550 67.736952 0.000000????????我們將這些值在選擇不同預測變量的模型之間進行比較。
???????? 對于 CV(R語言中MSE的說法)、AIC、AICc 和 BIC 度量,我們希望找到具有最小值的模型;
???????? 對于adjusted R2,我們尋找具有最大值的模型。
3 R2 與adjusted R2
? ? ? ? 回歸模型的R2 值并不是衡量模型預測能力的好方法。 它衡量模型與歷史數據的擬合程度,而不是模型預測未來數據的程度。
?????????此外,R2 不允許“自由度”。 添加任何變量都會增加 R2 的值,即使該變量無關緊要。 由于這些原因,預測者不應使用 R2 來確定模型是否會給出良好的預測,因為它會導致過度擬合。
????????一個等效的想法是選擇給出最小誤差平方和 (SSE) 的模型,由下式給出
????????
? ? ? ? 但是,最小化 SSE 等效于最大化 R2,并且總是會選擇具有最多變量的模型,因此不是選擇預測變量的有效方法。
????????旨在克服這些問題的替代方案是調整后的 R2(也稱為“R-bar-squared”): ?
????????
?????????其中 T 是觀察數,k是預測變量數。 這是對的改進,因為它不再隨著每個添加的預測變量而增加。 使用這個度量,最好的模型將是具有最大 的模型。 最大化 等效于最小化標準誤差 。
4 赤化信息準則??Akaike’s Information Criterion
????????一個和adjusted R^2密切相關的方法是 Akaike 信息準則
?????????T 是用于估計的觀測數,k 是模型中的預測變量數。
????????不同的計算機包對 AIC 的定義略有不同,盡管它們都應該導致選擇相同的模型。
? ? ? 這里的 k+2 部分是因為模型中有 k+2 個參數:預測變量的 k 個系數、截距和殘差的方差。 (有些地方比如算法筆記:ARIMA_UQI-LIUWJ的博客-CSDN博客?就直接使用k了【同時那個博客中,L指的是似然函數,所以是希望越大越好,這邊是誤差之和SSE,希望越小越好】)
????????這里的想法是用需要估計的參數數量來懲罰模型的擬合(SSE)。
????????我們的目標是讓AIC越小越好,也就是模型的參數(k)越少越好(模型越簡單越好),同時模型的誤差(SSE)越小越好
4.1 修正的池化準則
????????對于較小的 T 值,AIC 傾向于選擇過多的預測變量,因此開發了 AIC 的偏差校正版本,
????????
?????????與 AIC 一樣,AICc 應該被最小化。
5 施瓦茨貝葉斯信息理論?Schwarz’s Bayesian Information Criterion
????????與 AIC 一樣,最小化 BIC 旨在提供最佳模型。
???????? BIC 選擇的模型要么與 AIC 選擇的模型相同,要么比AIC具有更少的項。 這是因為 BIC 對參數數量的懲罰比 AIC 更重。
????????
?6 使用哪種準則來選擇模型(參數)?
????????雖然被廣泛使用,并且比其他度量存在的時間更長,但它傾向于選擇相對更多的預測變量使其不太適合預測。
????????許多統計學家喜歡使用 BIC,因為它的特點是,如果存在真正的基礎模型,BIC 會在有足夠數據的情況下選擇該模型。 然而,實際上,很少有真正的基礎模型,即使有真正的基礎模型,選擇該模型也不一定能提供最佳預測(因為參數估計可能不準確)。
???????? 因此,我們建議使用 AICc、AIC或CV,其中每個統計數據都以預測為目標。 如果 T 的值足夠大,它們都會導致相同的模型。?
7 舉例說明
????????在預測美國消費的多元回歸示例中,我們考慮了四個預測變量。 有四個預測變量,就有 16 個可能的模型。
???????? 現在我們可以檢查所有四個預測變量是否真的有用,或者我們是否可以刪除其中一個或多個。
???????? 所有 16 個模型均已擬合,結果匯總在表 5.1 中。 “1”表示預測變量包含在模型中,“0”表示預測變量未包含在模型中。
????????
?????????最好的模型包含所有四個預測變量。 然而,仔細觀察結果會發現一些有趣的特征。
???????? 前四行的模型和下面的模型之間有明顯的區別。 這表明收入和儲蓄都是比生產和失業更重要的變量。
???????? 此外,前兩行的 CV、AIC 和 AICc 值幾乎相同。 因此,我們可能會刪除 Production 變量并獲得類似的預測。 請注意,Production 和 Unemployment 高度(負)相關,如圖 5.5 所示【第五行第三列】,因此 Production 中的大部分預測信息也包含在 Unemployment 變量中。
?8 best subset regression
????????在可能的情況下,應擬合所有潛在的回歸模型(如上面示例中所做的那樣),并應根據所討論的措施之一選擇最佳模型。 這被稱為“最佳子集”回歸或“所有可能的子集”回歸。
8.1 逐步回歸
????????如果有大量預測變量,則不可能擬合所有可能的模型。 因此,需要一種策略來限制要探索的模型的數量。
????????一種效果很好的方法是向后逐步回歸backwards stepwise regression :
- 從包含所有潛在預測變量的模型開始。
- 一次刪除一個預測變量。 如果模型提高了預測準確性的度量,請保留該模型。
- 迭代直到沒有進一步的改進。
????????如果潛在預測變量的數量太大,則后向逐步回歸將不起作用,可以使用前向逐步回歸代替forward stepwise regression。
????????此過程從僅包含截距的模型開始。 一次添加一個預測變量,模型中保留最能提高預測準確性度量的預測變量。 重復該過程,直到無法獲得進一步的改善。 ?
????????或者,對于向后或向前回歸方向,起始模型可以是包含潛在預測變量子集的模型。
????????在這種情況下,無論前向還是后向傳播,都需要包括一個額外的步驟。
????????對于后向過程,我們還應該考慮在每個步驟中是否添加一個預測
????????對于前向過程,我們還應該考慮在每個步驟中是否刪除一個預測變量。
????????這些被稱為混合方法。 ?
???????任何逐步的方法都不能保證產生最好的模型,但它幾乎總是會產生一個好的模型 ?
參考內容
5.5 Selecting predictors | Forecasting: Principles?and?Practice (2nd ed) (otexts.com)
總結
以上是生活随笔為你收集整理的机器学习笔记:(时间序列中的线性回归)如何选择预测变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习笔记 时间序列预测(基本数据处理
- 下一篇: NTU 课程笔记 CV6422 假设检验