日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 线性回归 技术方案亮点_基于Python的线性回归实战

發布時間:2023/12/31 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 线性回归 技术方案亮点_基于Python的线性回归实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、線性回歸的理論

1)線性回歸的基本概念

線性回歸是一種有監督的學習算法,它介紹的自變量的和因變量的之間的線性的相關關系,分為一元線性回歸和多元的線性回歸。一元線性回歸是一個自變量和一個因變量間的回歸,可以看成是多遠線性回歸的特例。線性回歸可以用來預測和分類,從回歸方程可以看出自變量和因變量的相互影響關系。

線性回歸模型如下:

對于線性回歸的模型假定如下:

(1) 誤差項的均值為0,且誤差項與解釋變量之間線性無關

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

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

(4) 正態性假設,即誤差項是服從正態分布的

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

2) 模型的參數求解

(1)矩估計

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

(2)最小二乘估計

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

(3)極大似然估計

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

3)模型的優缺點

優點:結果易于理解,計算上不復雜

缺點:對于非線性的數據擬合不好

二、用Python實現線性回歸的小例子

數據來源于網絡爬蟲,武漢市商品房價格為因變量和幾個相關關鍵詞的百度指數的搜索量為自變量。

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

經過相關系數的分析選取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)

######相關性分析

X = dataset[:,1:98]

y = dataset[:,0]

cor = np.corrcoef(dataset,rowvar=0)[:,0]

######輸出相關矩陣的第一列

print cor

#######篩選后的數據讀取

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()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

貼出線性回歸的結果如下:

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

=======================================================================

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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

對于DW值判斷相關性的依據如下:

DW=0時,殘差序列存在完全正自相關,

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

DW=2時,殘差序列無自相關,

DW=(2,4)時,殘差序列存在負自相關,

DW=4時,殘差序列存在完全負自相關。

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

(1) 根據數據的表現形式選取合適的模型

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

(3) 對參數的結果進行檢驗

(4) 對結果進行解釋

更多關于線性回歸及Python實現文章推薦閱讀上海尚學堂《多元線性回歸模型及其python實現》,感謝本文作者 飛翔小鷗分享。

原文:http://blog.csdn.net/Haidebian0514/article/details/69945116

總結

以上是生活随笔為你收集整理的python 线性回归 技术方案亮点_基于Python的线性回归实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。