聊完方差分析,就不得不說回歸分析。
回歸分析是一種應用廣泛的統計分析方法,在金融,醫學等領域都已經成功應用,而且是比較簡單也比較常用的算法了,是經得起考驗的,結果解讀也很友好。
這次我們就先以最常見的Excel表格來做回歸分析,Excel表格的功能遠比我們想的強大(一般的回歸分析,隻要是數據量不是很大,Excel完全可以搞得定,而且上手十分容易,不需要一行代碼,就可以輕松搞定)一般是利用最小二乘法來計算出回歸模型的參數值。但是得到的回歸方程到底有沒有統計學意義,還需要對回歸方程進行各種檢驗,主要是回歸方程顯著性檢驗,回歸系數顯著性檢驗,殘差分析等。
數據集:波士頓房價數據
波士頓房價數據已被用于許多涉及回歸問題的機器學習論文中,所有我們拿這個成熟的數據集來預測房價練練手!數據如下:
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美元計算的自有住房的中位數
做回歸分析前,先看下特征的相關性,如下:
注:Excel内置的相關系數是pearson相關系數
好像和價格的相關性都差不多,那我們做一個回歸拟合看看,Excel界面如下:
得到結果如下:
殘差圖
特征殘差拟合圖
注:回歸方程的顯著性檢驗是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)的線性關系不顯著,不應該保留在回歸方程中,也可以再結合特征殘差拟合圖來看一下特征的有效性
看來得把這兩個線性關系不顯著的特征去掉之後再重新做回歸!
這一次的回歸方程和回歸系數都有顯著性,但是這個R Square=0.740545,好像和不剔除變量沒什麼差别,甚至還小一點,這就有點尴尬了。
整體的方程拟合度才0.74,效果不是很好。
我們用python來做一下看看首先來篩選特征,有兩種方法SelectKBest和f_regression
注:f_regression 是單因素線性回歸F檢驗,SelectKBest方法可以調用檢驗方法,如:卡方檢驗chi2,還有針對分類的方差分析的f_classif,當然也可以調用f_regression方法,還可以選擇前k個分數較高的特征,去掉其他的特征。所以這個方法更強大,推薦使用這個。
結果如下:
這兩種方法得到的結果一樣,對應的特征的P值都小于0.05,沒法去掉一些特征
再注:目前python提供的有方差分析,卡方檢驗的方法,但是一直沒有發現T檢驗的方法。可能是因為T檢驗其實也算是一種F檢驗的緣故吧,至于是不是因為這,我也不知道,這隻是我猜的!但是用Excel做的時候即使去掉兩個不顯著的特征,好像對回歸結果沒有什麼大的影響,所有在python中幹脆都顯著了,
數據分成訓練集和測試集,通過在訓練集和測試集上的得分對比來判斷是否過拟合還是欠拟合,可以直接得到回歸系數和截距,如下如:
從結果看,回歸方程的拟合度在0.73左右,和用Excel做的差不多,沒有提高,反而略微降低了。
繪制交叉驗證預測圖
從結果看,拟合的并不是很好。
後記:
結合Excel和python做的回歸方程拟合度都是在0.74左右,效果隻能是一般,看來得換一種方法來做。
我們接下來準備用K近鄰回歸算法來做預測。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!