簡明數據科學 第五部分:多元回歸模型

簡明數據科學 第五部分:多元迴歸模型

在上一節中,我們討論了費爾南多的故事,一個數據科學家想買一輛車,於是他構造了一個車輛的價格和發動機大小的簡單的迴歸模型來預測。

簡明數據科學 第五部分:多元迴歸模型

費爾南多創建的迴歸模型預測了基於發動機大小的車輛價格。僅使用一個自變量來預測因變量的模型。

該簡單的線性迴歸模型可以被表示為:

price = β0 + β1 x engine size

簡明數據科學 第五部分:多元迴歸模型

按照最終的模型結果,車輛的價格可以被簡單預估為:

price = -6870.1 + 156.9 x engine size

該模型從兩方便進行評估:

  • 健壯性 - 使用假設檢驗
  • 準確度 - 使用確定係數例如R平方檢驗
  • 回想一下,R平方的度量解釋了模型預測值與真實值之間的平均方差分數,位於[0,1]之間,越高的分值表示該模型能夠更好的解釋方差。而費爾南多的模型最終的到的R平方為0.7503,也就是在訓練集上得到75.3%的分值,預示著該模型可以解釋超過75%的變化。

然而,費爾南多想要更好的結果。

他考慮到: 如果我可以用更多的數據來送給模型?它會提高準確性嗎? 於是,費爾南多決定通過給模型提供更多的輸入數據,即更多的自變量來增強模型。他現在進入了多變量回歸模型的世界。

基本概念 線性迴歸模型提供了一個監督學習的簡單方法,其簡單但是有效。

回想一下,線性意味著如下的含義:數據點幾乎排列在一條直線或者近乎直線的附近,並一直延伸。線性表明,自變量和因變量之間的關係可以用直線來表示。

直線的方程式是y = mx + c,其中一維是y軸,另一維是x軸,可以在二維平面上繪製出來:

簡明數據科學 第五部分:多元迴歸模型

如果將這種關係進行泛化,則得到:

y = f(x)

其意思是:將y定義為x的函數。例如將自變量定義為獨立變量的函數。

如果因變量需要用一個以上的自變量來表示呢?廣義函數變為:

y = f(x, z)

即將y定義為一些函數或者組合多個參數的函數。

此時便是三維的了,包含x軸、y軸、z軸,繪製出來類似下圖:

簡明數據科學 第五部分:多元迴歸模型

現在,我們有多個維度,我們需要將y定義為組合x和z的函數。

對於簡單線性迴歸模型來說,直線表示y是x的函數,現在我們有一個額外的維度z,如果將z附加二維平面會發生什麼呢?它會變成一個平面。

簡明數據科學 第五部分:多元迴歸模型

該平面是將y表示為x和z的函數。推斷線性迴歸方程,可以表示為:

  • y = m1.x + m2.z+ c
  • y是因變量,即需要評估和預測的變量
  • x是第一個自變量,即可控的變量,也是第一個輸入
  • m1是x的斜率,決定了線x的傾斜角度
  • z是第二個自變量,即可控的變量,是第二個輸入
  • m2是z的斜率,決定了線z的傾斜角度
  • c是截距,當x和z為0時確定y值的常數 這是多元線性迴歸模型的起源,有多個輸入變量用於估計目標,具有兩個輸入變量的模型可以表示為:

y = β0 + β1.x1 + β2.x2 + β3.x3

多變量回歸模型的廣義方程可以是:

y = β0 + β1.x1 + β2.x2 +….. + βn.xn

模型構建

現在熟悉多元線性迴歸模型的概念,讓我們回到費爾南多。

費爾南多向他的朋友伸出更多的數據,他要求他提供有關汽車其他特性的更多數據。

簡明數據科學 第五部分:多元迴歸模型

以下是他已有的數據點:

  • make: 車輛品牌
  • fuelType:所使用的動力燃料
  • nDoor:車門數量
  • engineSize:發動機大小(馬力)
  • price:最終的價格
  • 他有拿到了一些新的數據點:
  • horsePower:馬力
  • peakRPM:最大功率輸出時的轉速
  • length:車輛長度
  • width:車輛寬度
  • height:車輛高度 費爾南多現在想建立一個模型,根據附加數據點預測價格。

他制定的多元迴歸模型是: 根據engineSize、horsePower、peakRPM、length、width和height估算價格。

定義的函數形如:price = f(engine size, horse power, peak RPM, length, width, height)

代入多元線性方程為:price = β0 + β1. engine size + β2.horse power + β3. peak RPM + β4.length+ β5.width + β6.height

費爾南多將這些數據輸入到軟件統計包中,來計算和預測相關的參數,最終得到如下的結果:

簡明數據科學 第五部分:多元迴歸模型

多元線性迴歸模型為價格估算提供以下等式:

price = -85090 + 102.85 engineSize + 43.79 horse power + 1.52 peak RPM - 37.91 length + 908.12 width + 364.33 height

模型解讀

多變量模型的解釋提供了每個獨立變量對因變量(目標)的影響。

上述等式提供了對價格平均值的估計。每個係數的解釋與所有其他預測因子保持不變。

Engine Size:如果發動機尺寸增加一個單位,則平均價格將增加102.85美元。 Horse Power: 如果馬力增加一個單位,平均價格增加43.79美元。 Peak RPM:如果Peak RPM增加一個單位,平均價格增加1.52美元。 Length:如果長度增加一個單位,則平均價格下降37.91美元(長度具有-ve係數)。 Width:如果寬度增加一個單位,平均價格增加908.12美元。 Height:如果高度增加一個單位,則平均價格增加364.33美元 模型評估 該模型已建成。它被解釋。所有的係數都很重要嗎?哪些更重要?模型解釋多少變化?

簡明數據科學 第五部分:多元迴歸模型

回想關於t-stat,p值和決定係數的定義的討論。這些概念也適用於多元迴歸模型。該模型的評估如下: coefficients:所有係數都大於零。這意味著所有變量對平均價格都有影響。

t-value: 除長度外,所有係數的t-value均顯著高於零。對於長度來說,t-stat是-0.70。這意味著汽車的長度可能不會影響平均價格。

p-value: 除長度之外,其他變量的p值的概率非常低。長度的p值是0.4854。這意味著觀察到的t-stat偶然的概率是48.54%。這個數字相當高。

回想一下關於R平方如何幫助解釋模型變化的討論。當更多變量添加到模型中時,R平方不會減小,它只會增加。但是,必須有一個平衡。經過調整的R平方努力保持這種平衡。調整後的R平方是R平方的修改版本,它已根據模型中預測變量的數量進行了調整。調整的R平方補償變量的增加,並且只有在新術語增強模型時才增加。

調整後的R-squared:R平方值是0.811。這意味著該模型可以解釋訓練數據中81.1%的變化。這比以前的型號(75.03%)要好。 結語 費爾南多現在有更好的模型。但是,他感到困惑。他知道汽車的長度不會影響價格。

他想知道: 如何選擇模型構建的最佳變量集?有什麼方法可以選擇最佳的變量子集嗎?

下一節,我們將討論變量選擇方法。

相關閱讀:

簡明數據科學 第一部分:原則與過程

簡明數據科學 第二部分:統計學習的關鍵概念

簡明數據科學 第三部分:假設檢驗

簡明數據科學 第四部分:簡單線性迴歸模型


分享到:


相關文章: