欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python線性回歸實戰(zhàn)分析

 更新時間:2018年02月01日 11:22:32   投稿:laozhang  
這篇文章主要介紹了Python線性回歸實戰(zhàn)分析以及代碼講解,對此有興趣的朋友學(xué)習(xí)下吧。

一、線性回歸的理論

1)線性回歸的基本概念

線性回歸是一種有監(jiān)督的學(xué)習(xí)算法,它介紹的自變量的和因變量的之間的線性的相關(guān)關(guān)系,分為一元線性回歸和多元的線性回歸。一元線性回歸是一個自變量和一個因變量間的回歸,可以看成是多遠(yuǎn)線性回歸的特例。線性回歸可以用來預(yù)測和分類,從回歸方程可以看出自變量和因變量的相互影響關(guān)系。
線性回歸模型如下:

對于線性回歸的模型假定如下:
(1) 誤差項的均值為0,且誤差項與解釋變量之間線性無關(guān)

(2) 誤差項是獨立同分布的,即每個誤差項之間相互獨立且每個誤差項的方差是相等的。

(3) 解釋變量之間線性無關(guān)

(4) 正態(tài)性假設(shè),即誤差項是服從正態(tài)分布的

以上的假設(shè)是建立回歸模型的基本條件,所以對于回歸結(jié)果要進行一一驗證,如果不滿足假定,就要進行相關(guān)的修正。

2) 模型的參數(shù)求解

(1)矩估計

一般是通過樣本矩來估計總體的參數(shù),常見是樣本的一階原點矩來估計總體的均值,二階中心矩來估計總體的方差。

(2)最小二乘估計

一般最小二乘估計是適用于因變量是連續(xù)型的變量,最常用的是普通最小二乘法( Ordinary Least Square,OLS),它的原理是所選擇的回歸模型應(yīng)該使所有觀察值的殘差平方和達到最小。預(yù)測值用 表示,對應(yīng)的實際值 ,殘差平方和 ,最小二乘估計是求得參數(shù)的值,使得L最小。對于線性回歸求得的參數(shù)值是唯一的。

(3)極大似然估計

極大似然估計是基于概率的思想,它要求樣本的概率分布是已知的,參數(shù)估計的值是使得大量樣本發(fā)生的概率最大,用似然函數(shù)來度量,似然函數(shù)是各個樣本的密度函數(shù)的乘積,為方便求解對其求對數(shù),加負(fù)號求解極小值,得到參數(shù)的估計結(jié)果。

3)模型的優(yōu)缺點

優(yōu)點:結(jié)果易于理解,計算上不復(fù)雜

缺點:對于非線性的數(shù)據(jù)擬合不好

二、用Python實現(xiàn)線性回歸的小例子

數(shù)據(jù)來源于網(wǎng)絡(luò)爬蟲,武漢市商品房價格為因變量和幾個相關(guān)關(guān)鍵詞的百度指數(shù)的搜索量為自變量。

由于本文的自變量有98個,首先進行自變量的選擇,先是通過相關(guān)系數(shù)矩陣篩選掉不相關(guān)的變量,根據(jù)Pearson相關(guān)系數(shù)矩陣進行變量的選取,一般選取相關(guān)系數(shù)的值大于0.3的變量進行回歸分析,由于本文的變量較多,先進行手動篩選然后利用相關(guān)系數(shù)進行選取,本文選取相關(guān)系數(shù)大于0.55的變量進行回歸分析。

經(jīng)過相關(guān)系數(shù)的分析選取8個變量進行下一步的分析,分析的Python代碼如下:

# -*- coding: utf-8 -*-
#### Required Packages
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import statsmodels.api as sm
data = pd.read_csv('Hdata.csv')
print data
dataset = np.array(data)
######相關(guān)性分析
X = dataset[:,1:98]
y = dataset[:,0]
cor = np.corrcoef(dataset,rowvar=0)[:,0]
######輸出相關(guān)矩陣的第一列
print cor
#######篩選后的數(shù)據(jù)讀取
data1 = pd.read_csv('H1data.csv')
dataset1 = np.array(data)
######篩選后的變量######
X1 = dataset1[:,1:8]
Y1 = dataset1[:,0]
est = sm.OLS(Y1,X1).fit()
print est.summary()

貼出線性回歸的結(jié)果如下:

OLS RegressionResults              
=======================================================================
Dep. Variable:           y  R-squared:            0.978
Model:              OLS  Adj. R-squared:         0.974
Method:         Least Squares F-statistic:          287.5
Date:        Sat, 08 Apr 2017  Prob (F-statistic):      9.35e-36
Time:            15:15:14  Log-Likelihood:        -442.82
No. Observations:         53  AIC:               899.6
Df Residuals:           46  BIC:               913.4
Df Model:              7                    
Covariance Type:      nonrobust                     
=======================================================================
         coef  std err     t   P>|t|   [95.0% Conf. Int.]
-----------------------------------------------------------------------
x1      -0.3691   0.494  -0.747   0.0459    -1.364   0.626
x2       0.3249   0.353   0.920   0.0362    -0.386   1.036
x3       1.0987   0.837   1.312   0.0196    -0.587   2.784
x4       0.7613   0.790   0.964   0.0340    -0.829   2.351
x5      -1.5766   1.099  -1.435   0.0158    -3.789   0.636
x6      -0.1572   1.077  -0.146   0.0885    -2.325   2.011
x7       3.2003   1.603   1.997   0.052    -0.026   6.427
=======================================================================
Omnibus:            0.413  Durbin-Watson:          1.748
Prob(Omnibus):         0.814  Jarque-Bera (JB):        0.100
Skew:              0.097  Prob(JB):            0.951
Kurtosis:            3.089  Cond. No.             95.5
=======================================================================

從回歸分析的結(jié)果可以看出來,模型的擬合優(yōu)度R-squared=0.978,說明模型的擬合效果很好,據(jù)其大小對擬合效果的優(yōu)劣性進行判定。對模型整體的顯著性可以通過F統(tǒng)計量來看,結(jié)果顯示的F統(tǒng)計量對應(yīng)的P值顯著小于0.05(0.05是顯著性水平,也可以選取0.01),說明模型整體是顯著的,它的顯著性說明被解釋變量能不能由這些解釋變量進行解釋,F(xiàn)檢驗是對整體的檢驗,F(xiàn)檢驗的通過不代表每一個解釋變量是顯著的。對每一個變量的顯著性要看t檢驗統(tǒng)計量的值,t檢驗統(tǒng)計量對應(yīng)的P值小于0.05(0.01或者0.1也行,具體看情況分析,一般選取0.05)視為是顯著的,從結(jié)果可以看出,X6和X7的變量的p是大于0.05的,也就是這兩個變量對被解釋變量的影響是不顯著的要剔除。但是如果你只是關(guān)心預(yù)測的問題那么可以不剔除。但是如果有研究解釋變量對被解釋變量的影響的程度的,要做進一步的研究。接下來看DW的值,DW的值為1.748,說明模型不存在自相關(guān)性??碕B檢驗統(tǒng)計量的值,JB檢驗統(tǒng)計量是對正態(tài)性的假設(shè)進行檢驗的,JB的值對應(yīng)的p值為0.951顯著大于0.05,可以認(rèn)為模型滿足正態(tài)性的假設(shè)的。對于參數(shù)的實際意義本文就不做解釋了。

對于DW值判斷相關(guān)性的依據(jù)如下:

DW=0時,殘差序列存在完全正自相關(guān),

DW=(0,2)時,殘差序列存在正自相關(guān),

DW=2時,殘差序列無自相關(guān),

DW=(2,4)時,殘差序列存在負(fù)自相關(guān),

DW=4時,殘差序列存在完全負(fù)自相關(guān)。

對于建立模型的一般步驟簡單描述如下:

(1) 根據(jù)數(shù)據(jù)的表現(xiàn)形式選取合適的模型

(2) 對選取的模型選取適用的參數(shù)估計方法

(3) 對參數(shù)的結(jié)果進行檢驗

(4) 對結(jié)果進行解釋

相關(guān)文章

  • Python圖像處理庫處理步驟

    Python圖像處理庫處理步驟

    這篇文章主要介紹了Python圖像處理探索之Python圖像處理庫,我們將學(xué)習(xí)使用不同的 Python 庫實現(xiàn)一些常見的圖像處理、變換和可視化技術(shù),這些技術(shù)通??梢杂米鞲鼜?fù)雜的圖像處理任務(wù)的基本預(yù)處理/后處理步驟,需要的朋友可以參考下
    2023-04-04
  • python中threading超線程用法實例分析

    python中threading超線程用法實例分析

    這篇文章主要介紹了python中threading超線程用法,實例分析了Python中threading模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的方法分享

    Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的方法分享

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)從網(wǎng)絡(luò)攝像頭拉流的幾種方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下
    2023-01-01
  • python實現(xiàn)微信小程序用戶登錄、模板推送

    python實現(xiàn)微信小程序用戶登錄、模板推送

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)微信小程序用戶登錄、模板推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python可視化神器pyecharts繪制柱狀圖

    Python可視化神器pyecharts繪制柱狀圖

    這篇文章主要介紹了Python可視化神器pyecharts繪制柱狀圖,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • python基于Tkinter庫實現(xiàn)簡單文本編輯器實例

    python基于Tkinter庫實現(xiàn)簡單文本編輯器實例

    這篇文章主要介紹了python基于Tkinter庫實現(xiàn)簡單文本編輯器,實例分析了Python使用Tkinter庫實現(xiàn)簡單桌面應(yīng)用程序的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • 3行Python代碼實現(xiàn)圖像照片摳圖和換底色的方法

    3行Python代碼實現(xiàn)圖像照片摳圖和換底色的方法

    這篇文章主要介紹了3行Python代碼實現(xiàn)圖像照片摳圖和換底色的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Pytest+Yaml+Excel?接口自動化測試框架的實現(xiàn)示例

    Pytest+Yaml+Excel?接口自動化測試框架的實現(xiàn)示例

    本文主要介紹了Pytest+Yaml+Excel?接口自動化測試框架,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python實現(xiàn)簡單五子棋小游戲

    python實現(xiàn)簡單五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • python檢測服務(wù)器端口代碼實例

    python檢測服務(wù)器端口代碼實例

    這篇文章主要介紹了python檢測服務(wù)器端口代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08

最新評論