5、Python多重線性迴歸(代碼案例)

目錄

1、迴歸分析的步驟:

 2、需要滿足的條件

3、矩陣數據繪製散點圖

4、代碼實踐案例


多重線性迴歸:研究一個因變量與多個自變量間線性關係的方法

1、迴歸分析的步驟:

01 根據預測目標,確定自變量和因變量

02 繪製散點圖,確定迴歸模型類型

03 估計模型參數,建立迴歸模型

04 對迴歸模型進行檢驗

迴歸方程的精度就是用來表示實際觀測點和迴歸方程的擬合程度的指標,使用判定係數來度量。

判定係數=相關係數R平方=ESS/TSS=1-RSS/TSS

其中:具體公式見圖

TSS   總離差平方和
ESS   迴歸平方和
RSS   殘差平方和

05 利用迴歸模型進行預測


 2、需要滿足的條件

總結起來可用四個詞來描述:線性、獨立、正態、齊性。

(1)自變量與因變量之間存在線性關係

這可以通過繪製”散點圖矩陣”進行考察因變量隨各自變量值的變化情況。如果因變量Yi 與某個自變量X i 之間呈現出曲線趨勢,可嘗試通過變量變換予以修正,常用的變量變換方法有對數變換、倒數變換、平方根變換、平方根反正弦變換等。

(2)各觀測間相互獨立
任意兩個觀測殘差的協方差爲0 ,也就是要求自變量間不存在多重共線性問題。對於如何處理多重共線性問題,請參考《多元線性迴歸模型中多重共線性問題處理方法》

(3)殘差e 服從正態分佈N(0,σ2) 。其方差σ2 = var (ei) 反映了迴歸模型的精度, σ 越小,用所得到迴歸模型預測y的精確度愈高。

(4) e 的大小不隨所有變量取值水平的改變而改變,即方差齊性。

3、矩陣數據繪製散點圖

pandas.tools.plotting.scatter_matrix(matrix,figsize,diagonal)

matrix 矩陣

figsize  圖形大小

diagonal 爲直方圖

4、代碼實踐案例

import pandas;
import matplotlib;
from pandas.tools.plotting import scatter_matrix;

data = pandas.read_csv(
    'D:\\PDM\\4.2\\data.csv'
)

font = {
    'family' : 'SimHei'
}
matplotlib.rc('font', **font)

scatter_matrix(
    data[["店鋪的面積", "距離最近的車站", "月營業額"]], 
    figsize=(10, 10), diagonal='kde'
)

data[["店鋪的面積", "距離最近的車站", "月營業額"]].corr()

x = data[["店鋪的面積", "距離最近的車站"]]
y = data[["月營業額"]]

from sklearn.linear_model import LinearRegression
#建模
lrModel = LinearRegression()
#訓練模型
lrModel.fit(x, y)
#評分
lrModel.score(x, y)
#預測
lrModel.predict([10, 110])

lrModel.predict([[10, 110],[20, 110]])

#查看參數
lrModel.coef_

#查看截距
lrModel.intercept_

 

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