十、模型自變量選擇方法

在本系列的最後一篇文章中,我們討論了多元線性迴歸模型。費爾南多創建了一個模型,根據五個輸入參數估算汽車價格。

費爾南多的確獲得了一個比較好的模型,然而,費爾南多想要獲得最好的輸入變量集

本文將詳細介紹模型選擇方法

一、概念

模型選擇方法的想法很直觀。它回答了以下問題:

如何爲最佳模型選擇正確的輸入變量?

如何定義最佳模型?

最優模型是使數據與評估指標的最佳值相匹配的模型。

可以有很多評估指標。調整後的r平方是多元線性迴歸模型的選擇評估指標。 

有三種方法可以選擇最佳變量集。他們是:

  • Best Subset
  • Forward Stepwise
  • Backward Stepwise

1、Best Subset

讓我們說我們有k個變量。最佳子集方法的過程如下:

  1. 從NULL模型開始,即沒有預測變量的模型。我們稱這個模型爲M0。
  2. 找到1個變量的最優模型。這意味着該模型是一個簡單的迴歸量,只有一個自變量。我們稱這個模型爲M1。  
  3. 找到包含2個變量的最優模型。這意味着該模型是一個只有兩個獨立變量的迴歸量。我們稱這個模型爲M2。  
  4. 找到包含3個變量的最優模型。這意味着該模型是一個只有三個獨立變量的迴歸量。我們稱這個模型爲M3。  
  5. 等等...我們得到了演練。重複這個過程。測試最佳模型的所有預測變量組合。

對於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個變量。前進逐步的過程如下:

  1. 從NULL模型開始,即沒有預測變量的模型。我們稱之爲M0。將預測變量添加到模型中。一次一個。
  2. 找到1個變量的最優模型。這意味着該模型是一個簡單的迴歸量,只有一個自變量。我們將此模型稱爲M1。  
  3. 再向M1添加一個變量。找到包含2個變量的最優模型。請注意,附加變量已添加到M1。我們將此模型稱爲M2。  
  4. 再向M2添加一個變量。找到包含3個變量的最優模型。請注意,附加變量已添加到M2。我們將此模型稱爲M3。  
  5. 等等......我們得到了演練。重複此過程直到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模型。在對比度上,向後逐步從所有變量開始。向後逐步的過程如下:

  1. 讓我們說有k個預測因子。從完整模型開始,即包含所有預測變量的模型。我們稱這個模型爲Mk。從完整模型中刪除預測變量。一次一個。
  2. 找到k-1變量的最優模型。從Mk中刪除一個變量。爲所有可能的組合計算模型的性能。選擇具有k-1變量的最佳模型。我們將此模型稱爲Mk-1。  
  3. 找到k-2變量的最優模型。從Mk-1中刪除一個變量。爲所有可能的組合計算模型的性能。選擇具有k-2變量的最佳模型。我們稱這個模型爲Mk-2。  
  4. 等等......我們得到了演練。重複此過程,直到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%的變化。   

結論

費爾南多現在有一個簡單而有效的模型來預測汽車價格。但是,發動機尺寸,馬力和寬度的單位是不同的。他考慮着。

  • 如何使用通用的比較單位估算價格變化?
  • 發動機尺寸,馬力和寬度的價格有多大?

該系列的下一篇文章即將發佈。它將討論將多元迴歸模型轉換爲計算彈性的方法。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章