在本系列的最後一篇文章中,我們討論了多元線性迴歸模型。費爾南多創建了一個模型,根據五個輸入參數估算汽車價格。
費爾南多的確獲得了一個比較好的模型,然而,費爾南多想要獲得最好的輸入變量集
本文將詳細介紹模型選擇方法
一、概念
模型選擇方法的想法很直觀。它回答了以下問題:
如何爲最佳模型選擇正確的輸入變量?
如何定義最佳模型?
最優模型是使數據與評估指標的最佳值相匹配的模型。
可以有很多評估指標。調整後的r平方是多元線性迴歸模型的選擇評估指標。
有三種方法可以選擇最佳變量集。他們是:
- Best Subset
- Forward Stepwise
- Backward Stepwise
1、Best Subset
讓我們說我們有k個變量。最佳子集方法的過程如下:
- 從NULL模型開始,即沒有預測變量的模型。我們稱這個模型爲M0。
- 找到1個變量的最優模型。這意味着該模型是一個簡單的迴歸量,只有一個自變量。我們稱這個模型爲M1。
- 找到包含2個變量的最優模型。這意味着該模型是一個只有兩個獨立變量的迴歸量。我們稱這個模型爲M2。
- 找到包含3個變量的最優模型。這意味着該模型是一個只有三個獨立變量的迴歸量。我們稱這個模型爲M3。
- 等等...我們得到了演練。重複這個過程。測試最佳模型的所有預測變量組合。
對於k變量,我們需要從以下模型集中選擇最佳模型:
- M1:具有1個預測變量的最優模型。
- M2:具有2個預測變量的最優模型。
- M3:具有3個預測變量的最佳模型。
- Mk:具有k個預測變量的最優模型。
選擇M1 ... Mk中的最佳模型,即最適合的模型
最好的子集是一個精心設計的過程。它梳理了整個預測變量列表。它選擇了最好的組合。但是,它有自己的挑戰。
最佳子集爲每個預測變量及其組合創建模型。這意味着我們正在爲每個變量組合創建模型。模型的數量可以是非常大的數量。
如果有2個變量,則有4種可能的模型。如果有3個變量,則有8種可能的模型。一般來說,如果有p個變量,則有2 ^ p個可能的模型。這是很多可供選擇的型號。想象一下,有100個變量(很常見)。想象一下,有100個變量(很常見)。將有2 ^ 100個可能的模型。令人難以置信的數字。
在費爾南多的情況下,只有5個變量,他將不得不創建和選擇2 ^ 5個模型,即32個不同的模型。
2、逐步向前法
儘管最佳子集是詳盡的,但它需要大量的計算能力。這可能非常耗時。逐步向前試圖緩解這種痛苦。
讓我們說我們有k個變量。前進逐步的過程如下:
- 從NULL模型開始,即沒有預測變量的模型。我們稱之爲M0。將預測變量添加到模型中。一次一個。
- 找到1個變量的最優模型。這意味着該模型是一個簡單的迴歸量,只有一個自變量。我們將此模型稱爲M1。
- 再向M1添加一個變量。找到包含2個變量的最優模型。請注意,附加變量已添加到M1。我們將此模型稱爲M2。
- 再向M2添加一個變量。找到包含3個變量的最優模型。請注意,附加變量已添加到M2。我們將此模型稱爲M3。
- 等等......我們得到了演練。重複此過程直到Mk即只有k變量的模型。
對於k變量,我們需要從以下模型集中選擇最佳模型:
- M1:具有1個預測變量的最優模型。
- M2:具有2個預測變量的最優模型。這個模型是M1 +一個額外的變量。
- M3:具有3個預測變量的最佳模型。這個模型是M2 +一個額外的變量。
- Mk:具有k個預測變量的最優模型。這個模型是Mk-1 +一個額外的變量。
再次,選擇M1 ... Mk中的最佳模型,即具有最佳擬合的模型
與最佳子集方法相比,前向逐步選擇創建的模型更少。如果有p個變量,則會有大約p(p + 1)/ 2 + 1個模型可供選擇。遠低於最佳子集方法的模型選擇。想象一下,有100個變量; 基於前向逐步方法創建的模型數量爲100 * 101/2 + 1即5051模型。
在費爾南多的情況下,只有5個變量,他將不得不創建和選擇5 * 6/2 + 1模型,即16種不同的模型。
3、逐步向後
現在我們已經理解了模型選擇的前向逐步過程。讓我們討論後向逐步過程。它與前向逐步過程相反。前進逐步從沒有變量的模型開始,即NULL模型。在對比度上,向後逐步從所有變量開始。向後逐步的過程如下:
- 讓我們說有k個預測因子。從完整模型開始,即包含所有預測變量的模型。我們稱這個模型爲Mk。從完整模型中刪除預測變量。一次一個。
- 找到k-1變量的最優模型。從Mk中刪除一個變量。爲所有可能的組合計算模型的性能。選擇具有k-1變量的最佳模型。我們將此模型稱爲Mk-1。
- 找到k-2變量的最優模型。從Mk-1中刪除一個變量。爲所有可能的組合計算模型的性能。選擇具有k-2變量的最佳模型。我們稱這個模型爲Mk-2。
- 等等......我們得到了演練。重複此過程,直到M1即只有1個變量的模型。
對於k變量,我們需要從以下模型集中選擇最佳模型:
- Mk:具有k個預測變量的最優模型。
- Mk-1:具有k-1個預測因子的最優模型。這個模型是Mk - 一個額外的變量。
- Mk-2:具有k-2個預測變量的最優模型。這個模型是Mk - 另外兩個變量。
- M1:具有1個預測變量的最優模型。
二、Model Building
既然模型選擇的概念很明確,那麼讓我們回到費爾南多。回想一下本系列的前一篇文章。費爾南多有六個變量發動機尺寸,馬力,峯值轉速,長度,寬度和高度。他希望通過創建多元迴歸模型來估算汽車價格。他想保持平衡並選擇最佳模特。
他選擇應用前向逐步模型選擇方法。統計包計算所有可能的模型並輸出M1到M6。
讓我們解釋輸出。
- 模型1:它應該只有一個預測器。最佳擬合模型僅使用引擎大小作爲預測器。調整後的R平方爲0.77。
- 模型2:它應該只有兩個預測變量。最佳擬合模型僅使用發動機尺寸和馬力作爲預測器。調整後的R平方爲0.79。
- 模型3:它應該只有三個預測變量。最佳擬合模型僅使用發動機尺寸,馬力和寬度作爲預測器。調整後的R平方爲0.82。
- 模型4:它應該只有四個預測變量。最佳擬合模型僅使用發動機尺寸,馬力,寬度和高度作爲預測器。調整後的R平方爲0.82。
- 模型5:它應該只有五個預測變量。最佳擬合模型僅使用發動機尺寸,馬力,峯值轉速,寬度和高度作爲預測器。調整後的R平方爲0.82。
- 模型6:它應該只有六個預測變量。最佳擬合模型僅使用所有六個預測變量。調整後的R平方爲0.82。
回想一下關於創建最簡單但有效的模型的討論。
“所有型號都應儘可能簡單,但不能簡單。”
費爾南多選擇了最簡單的模型,以提供最佳性能。在這種情況下,它是模型3.該模型使用發動機尺寸,馬力和寬度作爲預測器。該模型能夠得到調整後的0.82的R平方,即模型可以解釋82%的訓練數據變化。
統計包提供以下係數。
根據發動機尺寸,馬力和寬度估算價格。
價格= -55089.98 + 87.34 engineSize + 60.93 馬力+ 770.42 寬度
模型評估
費爾南多選擇了最好的模特。該模型將使用發動機尺寸,馬力和汽車寬度估算價格。他希望在訓練和測試數據上評估模型的性能。
回想一下,他已將數據分成訓練和測試集。費爾南多使用訓練數據訓練模型。測試數據是看不見的數據。Fernando評估模型在測試數據上的性能。這纔是真正的考驗。
在訓練數據上,該模型表現良好。調整後的R平方爲0.815 =>模型可以解釋訓練數據的81%變化。但是,爲了使模型可以接受,它還需要在測試數據上表現良好。
Fernando在測試數據集上測試模型性能。該模型計算出測試數據的調整後的R平方爲0.7984。這意味着即使在看不見的數據上,模型也可以解釋79.84%的變化。
結論
費爾南多現在有一個簡單而有效的模型來預測汽車價格。但是,發動機尺寸,馬力和寬度的單位是不同的。他考慮着。
- 如何使用通用的比較單位估算價格變化?
- 發動機尺寸,馬力和寬度的價格有多大?
該系列的下一篇文章即將發佈。它將討論將多元迴歸模型轉換爲計算彈性的方法。