Python學習筆記-StatsModels 統計迴歸(1)線性迴歸 | Python 回歸 結果

OLS() 建立普通最小二乘模型,最後用model.fit() 就能實現線性迴歸模型的擬合,並返回擬合與統計分析的結果摘要。

X = sm.add_constant(x1) # 向x1 ...TogglenavigationIT人IT人Python學習筆記-StatsModels統計迴歸(1)線性迴歸youcans發表於2021-05-06Python統計1、背景知識1.1插值、擬合、迴歸和預測  插值、擬合、迴歸和預測,都是數學建模中經常提到的概念,而且經常會被混為一談。

插值,是在離散資料的基礎上補插連續函式,使得這條連續曲線通過全部給定的離散資料點。

插值是離散函式逼近的重要方法,利用它可通過函式在有限個點處的取值狀況,估算出函式在其他點處的近似值。

擬合,是用一個連續函式(曲線)靠近給定的離散資料,使其與給定的資料相吻合。

  因此,插值和擬合都是根據已知資料點求變化規律和特徵相似的近似曲線的過程,但是插值要求近似曲線完全經過給定的資料點,而擬合只要求近似曲線在整體上儘可能接近資料點,並反映資料的變化規律和發展趨勢。

插值可以看作是一種特殊的擬合,是要求誤差函式為0的擬合。

由於資料點通常都帶有誤差,誤差為0往往意味著過擬合,過擬合模型對於訓練集以外的資料的泛化能力是較差的。

因此在實踐中,插值多用於影像處理,擬合多用於實驗資料處理。

迴歸,是研究一組隨機變數與另一組隨機變數之間關係的統計分析方法,包括建立數學模型並估計模型引數,並檢驗數學模型的可信度,也包括利用建立的模型和估計的模型引數進行預測或控制。

預測是非常廣泛的概念,在數模中是指對獲得的資料、資訊進行定量研究,據此建立與預測目的相適應的數學模型,然後對未來的發展變化進行定量地預測。

通常認為,插值和擬合都是預測類的方法。

  迴歸是一種資料分析方法,擬合是一種具體的資料處理方法。

擬合側重於曲線引數尋優,使曲線與資料相符;而回歸側重於研究兩個或多個變數之間的關係。

1.2線性迴歸  迴歸分析(Regressionanalysis)是一種統計分析方法,研究是自變數和因變數之間的定量關係,經常用於預測分析、時間序列模型以及發現變數之間的因果關係。

按照變數之間的關係型別,迴歸分析可以分為線性迴歸和非線性迴歸。

  線性迴歸(Linearregression)假設給定資料集中的目標(y)與特徵(X)存線上性關係,即滿足一個多元一次方程。

迴歸分析中,只包括一個自變數和一個因變數,且二者的關係可用一條直線近似表示,稱為一元線性迴歸;如果包括兩個或多個的自變數,且因變數和自變數之間是線性關係,則稱為多元線性迴歸。

    根據樣本資料,採用最小二乘法可以得到線性迴歸模型引數的估計量,並使根據估計引數計算的模型資料與給定的樣本資料之間誤差的平方和為最小。

  進一步地,還需要分析對於樣本資料究竟能不能採用線性迴歸方法,或者說線性相關的假設是否合理、線性模型是否具有良好的穩定性?這就需要使用統計分析進行顯著性檢驗,檢驗因變數與自變數之間的線性關係是否顯著,用線性模型來描述它們之間的關係是否恰當。

2、Statsmodels進行線性迴歸  本節結合Statsmodels統計分析包的使用介紹線性擬合和迴歸分析。

線性模型可以表達為如下公式:2.1匯入工具包importstatsmodels.apiassmfromstatsmodels.sandbox.regression.predstdimportwls_prediction_std2.2匯入樣本資料  樣本資料通常儲存在資料檔案中,因此要讀取資料檔案獲得樣本資料。

為便於閱讀和測試程式,本文使用隨機數生成樣本資料。

讀取資料檔案匯入資料的方法,將在後文介紹。

#生成樣本資料:nSample=100x1=np.linspace(0,10,nSample)#起點為0,終點為10,均分為nSample個點e=np.random.normal(size=len(x1))#正態分佈隨機數yTrue=2.36+1.58*x1#y=b0+b1*x1yTest=yTrue+e#產生模型資料  本案例是一元線性迴歸問題,(yTest,x)是匯入的樣本資料,我們需要通過線性迴歸獲得因變數y與自變數x之間的定量關係。

yTrue是理想模型的數值,yTest模擬實驗檢測的資料,在理想模型上加入了正態分


常見投資理財問答


延伸文章資訊