tft每日頭條

 > 生活

 > python回歸分析總結

python回歸分析總結

生活 更新时间:2025-02-02 03:36:45

聊完方差分析,就不得不說回歸分析。

回歸分析是一種應用廣泛的統計分析方法,在金融,醫學等領域都已經成功應用,而且是比較簡單也比較常用的算法了,是經得起考驗的,結果解讀也很友好。

這次我們就先以最常見的Excel表格來做回歸分析,Excel表格的功能遠比我們想的強大(一般的回歸分析,隻要是數據量不是很大,Excel完全可以搞得定,而且上手十分容易,不需要一行代碼,就可以輕松搞定)

一般是利用最小二乘法來計算出回歸模型的參數值。但是得到的回歸方程到底有沒有統計學意義,還需要對回歸方程進行各種檢驗,主要是回歸方程顯著性檢驗,回歸系數顯著性檢驗,殘差分析等。

數據集:波士頓房價數據

波士頓房價數據已被用于許多涉及回歸問題的機器學習論文中,所有我們拿這個成熟的數據集來預測房價練練手!數據如下:

python回歸分析總結(使用Excel和python來做回歸分析)1

CRIM 城鎮人均犯罪率

ZN 占地面積超過2.5萬平方英尺的住宅用地比例

INDUS 城鎮非零售業務地區的比例

CHAS 查爾斯河虛拟變量 (= 1 如果土地在河邊;否則是0)

NOX 一氧化氮濃度(每1000萬份)

RM 平均每居民房數

AGE 在1940年之前建成的所有者占用單位的比例

DIS 與五個波士頓就業中心的加權距離

RAD 輻射狀公路的可達性指數

TAX 每10,000美元的全額物業稅率

PTRATIO 城鎮師生比例

B 1000(Bk - 0.63)^2 其中 Bk 是城鎮的黑人比例

LSTAT 人口中地位較低人群的百分數

MEDV 以1000美元計算的自有住房的中位數

python回歸分析總結(使用Excel和python來做回歸分析)2

做回歸分析前,先看下特征的相關性,如下:

注:Excel内置的相關系數是pearson相關系數

python回歸分析總結(使用Excel和python來做回歸分析)3

好像和價格的相關性都差不多,那我們做一個回歸拟合看看,Excel界面如下:

python回歸分析總結(使用Excel和python來做回歸分析)4

得到結果如下:

python回歸分析總結(使用Excel和python來做回歸分析)5

python回歸分析總結(使用Excel和python來做回歸分析)6

殘差圖

python回歸分析總結(使用Excel和python來做回歸分析)7

特征殘差拟合圖

注:回歸方程的顯著性檢驗是F檢驗也就是方差分析,回歸方程系數檢驗是T檢驗

結果說明:

1,回歸統計:R Square表示拟合度,就是方程對數據的拟合程度,當然是越大越好,此時為0.74

2,方差分析:F=108.057,這個F是啥?是F統計量,回歸方程的顯著性檢驗是用的F檢驗,sig F=6.9468E-135 <0.05,所有這個方程是顯著的,有意義的!

3,回歸系數coefficient顯著性,看T——Start值,看特征對于的P值,如圖:特征INDUS,AGE對應的T統計量均小于1,P值大于0.05,說明這兩個系數與y(price)的線性關系不顯著,不應該保留在回歸方程中,也可以再結合特征殘差拟合圖來看一下特征的有效性

看來得把這兩個線性關系不顯著的特征去掉之後再重新做回歸!

python回歸分析總結(使用Excel和python來做回歸分析)8

這一次的回歸方程和回歸系數都有顯著性,但是這個R Square=0.740545,好像和不剔除變量沒什麼差别,甚至還小一點,這就有點尴尬了。

整體的方程拟合度才0.74,效果不是很好。

我們用python來做一下看看

首先來篩選特征,有兩種方法SelectKBest和f_regression

注:f_regression 是單因素線性回歸F檢驗,SelectKBest方法可以調用檢驗方法,如:卡方檢驗chi2,還有針對分類的方差分析的f_classif,當然也可以調用f_regression方法,還可以選擇前k個分數較高的特征,去掉其他的特征。所以這個方法更強大,推薦使用這個。

結果如下:

python回歸分析總結(使用Excel和python來做回歸分析)9

這兩種方法得到的結果一樣,對應的特征的P值都小于0.05,沒法去掉一些特征

再注:目前python提供的有方差分析,卡方檢驗的方法,但是一直沒有發現T檢驗的方法。可能是因為T檢驗其實也算是一種F檢驗的緣故吧,至于是不是因為這,我也不知道,這隻是我猜的!但是用Excel做的時候即使去掉兩個不顯著的特征,好像對回歸結果沒有什麼大的影響,所有在python中幹脆都顯著了,

數據分成訓練集和測試集,通過在訓練集和測試集上的得分對比來判斷是否過拟合還是欠拟合,可以直接得到回歸系數和截距,如下如:

python回歸分析總結(使用Excel和python來做回歸分析)10

從結果看,回歸方程的拟合度在0.73左右,和用Excel做的差不多,沒有提高,反而略微降低了。

繪制交叉驗證預測圖

python回歸分析總結(使用Excel和python來做回歸分析)11

python回歸分析總結(使用Excel和python來做回歸分析)12

從結果看,拟合的并不是很好。

後記:

結合Excel和python做的回歸方程拟合度都是在0.74左右,效果隻能是一般,看來得換一種方法來做。

我們接下來準備用K近鄰回歸算法來做預測。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved