五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸可視化示例詳解

發(fā)布日期:2021-12-23 18:14 | 文章來(lái)源:源碼之家

1、如何認(rèn)識(shí)可視化?

需要指出的是,雖然不同繪圖工具包的功能、效果會(huì)有差異,但在常用功能上相差并不是很大。與選擇哪種繪圖工具包相比,更重要的是針對(duì)不同的問(wèn)題,需要思考選擇什么方式、何種圖形去展示分析過(guò)程和結(jié)果。換句話(huà)說(shuō),可視化只是手段和形式,手段要為目的服務(wù),形式要為內(nèi)容服務(wù),這個(gè)關(guān)系一定不能顛倒了。

因此,可視化是伴隨著分析問(wèn)題、解決問(wèn)題的過(guò)程而進(jìn)行思考、設(shè)計(jì)和實(shí)現(xiàn)的,而且還會(huì)影響問(wèn)題的分析和解決過(guò)程:

  • 可視化工具是數(shù)據(jù)探索的常用手段

回歸分析是基于數(shù)據(jù)的建模,在導(dǎo)入數(shù)據(jù)后首先要進(jìn)行數(shù)據(jù)探索,對(duì)給出的或收集的數(shù)據(jù)有個(gè)大概的了解,主要包括數(shù)據(jù)質(zhì)量探索和數(shù)據(jù)特征分析。數(shù)據(jù)準(zhǔn)備中的異常值分析,往往就需要用到箱形圖(Boxplot)。對(duì)于數(shù)據(jù)特征的分析,經(jīng)常使用頻率分布圖或頻率分布直方圖(Hist),餅圖(Pie)。

  • 分析問(wèn)題需要可視化工具的幫助

對(duì)于問(wèn)題中變量之間的關(guān)系,有些可以通過(guò)定性分析來(lái)確定或猜想,需要進(jìn)一步的驗(yàn)證,有些復(fù)雜關(guān)系難以由分析得到,則要通過(guò)對(duì)數(shù)據(jù)進(jìn)行初步的相關(guān)分析來(lái)尋找線(xiàn)索。在分析問(wèn)題、嘗試求解的過(guò)程中,雖然可以得到各種統(tǒng)計(jì)量、特征值,但可視化圖形能提供更快捷、直觀、豐富的信息,對(duì)于發(fā)現(xiàn)規(guī)律、產(chǎn)生靈感很有幫助。

  • 解題過(guò)程需要可視化工具的支持

在解決問(wèn)題的過(guò)程中,也經(jīng)常會(huì)希望盡快獲得初步的結(jié)果、總體的評(píng)價(jià),以便確認(rèn)解決問(wèn)題的思路和方法是否正確。這些情況下,我們更關(guān)心的往往是繪圖的便捷性,圖形的表現(xiàn)效果反而是次要的。

  • 可視化是結(jié)果發(fā)布的重要內(nèi)容

問(wèn)題解決之后需要對(duì)結(jié)果進(jìn)行呈現(xiàn)或發(fā)表,這時(shí)則需要結(jié)合表達(dá)的需要,特別是表達(dá)的邏輯框架,設(shè)計(jì)可視化的方案,選擇適當(dāng)?shù)膱D形種類(lèi)和形式,準(zhǔn)備圖形數(shù)據(jù)。在此基礎(chǔ)上,才談得上選擇何種繪圖工具包,如何呈現(xiàn)更好的表現(xiàn)效果。

2、StatsModels 繪圖工具包 (Graphics)

Statsmodels 本身支持繪圖功能(Graphics),包括擬合圖(Fit Plots)、箱線(xiàn)圖(Box Plots)、相關(guān)圖(Correlation Plots)、函數(shù)圖(Functional Plots)、回歸圖(Regression Plots)和時(shí)間序列圖(Time Series Plots)。

Statsmodels 內(nèi)置繪圖功能 Graphics 的使用似乎并不流行,網(wǎng)絡(luò)上的介紹也不多。分析其原因,一是 Graphics 做的并不太好用,文檔和例程不友好,二是學(xué)習(xí)成本高:能用通用的可視化包實(shí)現(xiàn)的功能,何必還要花時(shí)間去學(xué)習(xí)一個(gè)專(zhuān)用的 Graphics?

下面是 Statsmodels 官方文檔的例程,最簡(jiǎn)單的單變量線(xiàn)性回歸問(wèn)題,繪制樣本數(shù)據(jù)散點(diǎn)圖和擬合直線(xiàn)圖。Graphics 提供了將擬合與繪圖合二為一的函數(shù) qqline(),但是為了繪制出樣本數(shù)據(jù)則要調(diào)用 Matplotlib 的 matplotlib.pyplot.scatter(),所以…

import statsmodels.api as sm
import matplotlib.pyplot as plt
from statsmodels.graphics.gofplots import qqline
foodexp = sm.datasets.engel.load(as_pandas=False)
x = foodexp.exog
y = foodexp.endog
ax = plt.subplot(111)
plt.scatter(x, y)
qqline(ax, "r", x, y)
plt.show()
# = 關(guān)注 Youcans,分享原創(chuàng)系列 https://blog.csdn.net/youcans =

下圖看起來(lái)有點(diǎn)象 Seaborn中的 relplot,但把官方文檔研究了半天也沒(méi)搞明白,只好直接分析例程和數(shù)據(jù),最后的結(jié)論是:基本沒(méi)啥用。

這大概就是更多用戶(hù)直接選擇 Python 的可視化工具包進(jìn)行繪圖的原因吧。最常用的當(dāng)屬 Matplotlib 無(wú)疑,而在統(tǒng)計(jì)回歸分析中 Seaborn 繪圖工具包則更好用更炫酷。

3、Matplotlib 繪圖工具包

Matplotlib 繪圖包就不用介紹了。Matplotlib 用于 Statsmodels 可視化,最大的優(yōu)勢(shì)在于Matplotlib 誰(shuí)都會(huì)用,實(shí)現(xiàn)統(tǒng)計(jì)回歸的基本圖形的也很簡(jiǎn)單。如果需要復(fù)雜的圖形,炫酷的效果,雖然 Matplotlib 原理上也能實(shí)現(xiàn),但往往需要比較繁瑣的數(shù)據(jù)準(zhǔn)備,并不常用的函數(shù)和參數(shù)設(shè)置。既然學(xué)習(xí)成本高,出錯(cuò)概率大,就沒(méi)必要非 Matplotlib 不可了。

Matplotlib 在統(tǒng)計(jì)回歸問(wèn)題中經(jīng)常用到的是折線(xiàn)圖、散點(diǎn)圖、箱線(xiàn)圖和直方圖。這也是 Matplotlib 最常用的繪圖形式,本系列文中也有相關(guān)例程,本文不再具體介紹相關(guān)函數(shù)的用法。

例如,在本系列《Python學(xué)習(xí)筆記-StatsModels 統(tǒng)計(jì)回歸(2)線(xiàn)性回歸》的例程和附圖,不僅顯示了原始檢測(cè)數(shù)據(jù)、理論模型數(shù)據(jù)、擬合模型數(shù)據(jù),而且給出了置信區(qū)間的上下限,看起來(lái)還是比較“高級(jí)”的。但是,如果把置信區(qū)間的邊界線(xiàn)隱藏起來(lái),圖形馬上就顯得不那么“高級(jí)”,比較“平常”了——這就是選擇什么方式、何種圖形進(jìn)行展示的區(qū)別。

由此所反映的問(wèn)題,還是表達(dá)的邏輯和數(shù)據(jù)的準(zhǔn)備:要表達(dá)什么內(nèi)容,為什么要表達(dá)這個(gè)內(nèi)容,有沒(méi)有相應(yīng)的數(shù)據(jù)?問(wèn)題的關(guān)鍵并不是什么工具包或什么函數(shù),更不是什么顏色什么線(xiàn)性,而是有沒(méi)有置信區(qū)間上下限的數(shù)據(jù)。

如果需要復(fù)雜的圖形,炫酷的效果,雖然 Matplotlib 原理上也能實(shí)現(xiàn),但往往需要比較繁瑣的數(shù)據(jù)準(zhǔn)備,使用并不常用的函數(shù)和參數(shù)設(shè)置。學(xué)習(xí)成本高,出錯(cuò)概率大,就沒(méi)必要非 Matplotlib 不可了。

4、Seaborn 繪圖工具包

Seaborn 是在 Matplotlib 上構(gòu)建的,支持 Scipy 和 Statamodels 的統(tǒng)計(jì)模型可視化,可以實(shí)現(xiàn):

  • 賞心悅目的內(nèi)置主題及顏色主題
  • 展示和比較 一維變量、二維變量 各變量的分布情況
  • 可視化 線(xiàn)性回歸模型中的獨(dú)立變量和關(guān)聯(lián)變量
  • 可視化 矩陣數(shù)據(jù),通過(guò)聚類(lèi)算法探究矩陣間的結(jié)構(gòu)
  • 可視化 時(shí)間序列,展示不確定性
  • 復(fù)雜的可視化,如在分割區(qū)域制圖

Seaborn 繪圖工具包以數(shù)據(jù)可視化為中心來(lái)挖掘與理解數(shù)據(jù),本身就帶有一定的統(tǒng)計(jì)回歸功能,而且簡(jiǎn)單好用,特別適合進(jìn)行定性分析、初步評(píng)價(jià)。

下圖給出了幾種常用的 Seaborn 圖形,分別是帶擬合線(xiàn)的直方圖(distplot)、箱線(xiàn)圖(boxplot)、散點(diǎn)圖(scatterplot)和回歸圖(regplot),后文給出了對(duì)應(yīng)的程序。

實(shí)際上,這些圖形用 StatsModels Graphics、Matplotlib 也可以繪制,估計(jì)任何繪圖包都可以實(shí)現(xiàn)。那么,為什么還要推薦 Seaborn 工具包,把這些圖歸入 Seaborn 的實(shí)例呢?我們來(lái)看看實(shí)現(xiàn)的例程就明白了:簡(jiǎn)單,便捷,舒服。不需要數(shù)據(jù)準(zhǔn)備和變換處理,直接調(diào)用變量數(shù)據(jù),自帶回歸功能;不需要復(fù)雜的參數(shù)設(shè)置,直接給出舒服的圖形,自帶圖形風(fēng)格設(shè)計(jì)。

 fig1, axes = plt.subplots(2, 2, figsize=(10, 8))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.distplot(df['price'], bins=10, ax=axes[0, 0])  # axes[0,1] 左上圖
 sns.boxplot(df['price'], df['sales'], data=df, ax=axes[0, 1])  # axes[0,1] 右上圖
 sns.scatterplot(x=df['advertise'], y=df['sales'], ax=axes[1, 0])  # axes[1,0] 左下圖
 sns.regplot(x=df['difference'], y=df['sales'], ax=axes[1, 1])  # axes[1,1] 右下圖
 plt.show()

5、多元回歸案例分析(Statsmodels)

5.1 問(wèn)題描述

數(shù)據(jù)文件中收集了 30個(gè)月本公司牙膏銷(xiāo)售量、價(jià)格、廣告費(fèi)用及同期的市場(chǎng)均價(jià)。
 ?。?)分析牙膏銷(xiāo)售量與價(jià)格、廣告投入之間的關(guān)系,建立數(shù)學(xué)模型;
 ?。?)估計(jì)所建立數(shù)學(xué)模型的參數(shù),進(jìn)行統(tǒng)計(jì)分析;
  (3)利用擬合模型,預(yù)測(cè)在不同價(jià)格和廣告費(fèi)用下的牙膏銷(xiāo)售量。

本問(wèn)題及數(shù)據(jù)來(lái)自:姜啟源、謝金星,數(shù)學(xué)模型(第 3版),高等教育出版社。

5.2 問(wèn)題分析

本案例在Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸模型數(shù)據(jù)的準(zhǔn)備中就曾出現(xiàn),文中還提到該文的例程并不是最佳的求解方法和結(jié)果。

這是因?yàn)樵撐睦淌侵苯訉⑺薪o出的特征變量(銷(xiāo)售價(jià)格、市場(chǎng)均價(jià)、廣告費(fèi)、價(jià)格差)都作為自變量,直接進(jìn)行線(xiàn)性回歸。謝金星老師說(shuō),這不科學(xué)??茖W(xué)的方法是先分析這些特征變量對(duì)目標(biāo)變量(銷(xiāo)量)的影響,然后選擇能影響目標(biāo)的特征變量,或者對(duì)特征變量進(jìn)行適當(dāng)變換(如:平方、對(duì)數(shù))后,再進(jìn)行線(xiàn)性回歸。以下參考視頻教程中的解題思路進(jìn)行分析。

觀察數(shù)據(jù)分布特征

案例問(wèn)題的數(shù)據(jù)量很小,數(shù)據(jù)完整規(guī)范,實(shí)際上并不需要進(jìn)行數(shù)據(jù)探索和數(shù)據(jù)清洗,不過(guò)可以看一下數(shù)據(jù)的分布特性。例程和結(jié)果如下,我是沒(méi)看出什么名堂來(lái),與正態(tài)分布的差距都不小。

 # 數(shù)據(jù)探索:分布特征
 fig1, axes = plt.subplots(2, 2, figsize=(10, 8))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.distplot(dfData['price'], bins=10, ax=axes[0,0])  # axes[0,1] 左上圖
 sns.distplot(dfData['average'], bins=10, ax=axes[0,1])  # axes[0,1] 右上圖
 sns.distplot(dfData['advertise'], bins=10, ax=axes[1,0])  # axes[1,0] 左下圖
 sns.distplot(dfData['difference'], bins=10, ax=axes[1,1])  # axes[1,1] 右下圖
 plt.show()

觀察數(shù)據(jù)間的相關(guān)性

既然將所有特征變量都作為自變量直接進(jìn)行線(xiàn)性回歸不科學(xué),就要先對(duì)每個(gè)自變量與因變量的關(guān)系進(jìn)行考察。

 # 數(shù)據(jù)探索:相關(guān)性
 fig2, axes = plt.subplots(2, 2, figsize=(10, 8))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.regplot(x=dfData['price'], y=dfData['sales'], ax=axes[0,0])
 sns.regplot(x=dfData['average'], y=dfData['sales'], ax=axes[0,1])
 sns.regplot(x=dfData['advertise'], y=dfData['sales'], ax=axes[1,0])
 sns.regplot(x=dfData['difference'], y=dfData['sales'], ax=axes[1,1])
 plt.show()
 # = 關(guān)注 Youcans,分享原創(chuàng)系列 https://blog.csdn.net/youcans =

單變量線(xiàn)性回歸圖還是很有價(jià)值的。首先上面兩圖(sales-price,sales-average)的數(shù)據(jù)點(diǎn)分散,與回歸直線(xiàn)差的太遠(yuǎn),說(shuō)明與銷(xiāo)量的相關(guān)性小——謝金星老師講課中也是這樣分析的。其次下面兩圖(sales-advertise,sales-difference)的線(xiàn)性度較高,至少比上圖好多了,回歸直線(xiàn)和置信區(qū)間也反映出線(xiàn)性關(guān)系。因此,可以將廣告費(fèi)(advertise)、價(jià)格差(difference)作為自變量建模進(jìn)行線(xiàn)性回歸。

進(jìn)一步地,有人觀察散點(diǎn)圖后認(rèn)為銷(xiāo)量與廣告費(fèi)的關(guān)系(sales-advertise)更接近二次曲線(xiàn),對(duì)此也可以通過(guò)回歸圖對(duì) sales 與 advertise 進(jìn)行高階多項(xiàng)式回歸擬合,結(jié)果如下圖。

建模與擬合

模型1:將所有特征變量都作為自變量直接進(jìn)行線(xiàn)性回歸,這就是《模型數(shù)據(jù)的準(zhǔn)備》中的方案。

模型 2:選擇價(jià)格差(difference)、廣告費(fèi)(advertise)作為自變量建模進(jìn)行線(xiàn)性回歸。

模型 3:選擇價(jià)格差(difference)、廣告費(fèi)(advertise)及廣告費(fèi)的平方項(xiàng)作為作為自變量建模進(jìn)行線(xiàn)性回歸。

下段給出了使用不同模型進(jìn)行線(xiàn)性回歸的例程和運(yùn)行結(jié)果。對(duì)于這個(gè)問(wèn)題的分析和結(jié)果討論,謝金星老師在視頻中講的很詳細(xì),網(wǎng)絡(luò)上也有不少相關(guān)文章。由于本文主要講可視化,對(duì)結(jié)果就不做詳細(xì)討論了。

6、Python 例程(Statsmodels)

6.1 問(wèn)題描述

數(shù)據(jù)文件中收集了 30個(gè)月本公司牙膏銷(xiāo)售量、價(jià)格、廣告費(fèi)用及同期的市場(chǎng)均價(jià)。
  (1)分析牙膏銷(xiāo)售量與價(jià)格、廣告投入之間的關(guān)系,建立數(shù)學(xué)模型;
 ?。?)估計(jì)所建立數(shù)學(xué)模型的參數(shù),進(jìn)行統(tǒng)計(jì)分析;
  (3)利用擬合模型,預(yù)測(cè)在不同價(jià)格和廣告費(fèi)用下的牙膏銷(xiāo)售量。

6.2 Python 程序

# LinearRegression_v4.py
# v4.0: 分析和結(jié)果的可視化
# 日期:2021-05-08
# Copyright 2021 YouCans, XUPT
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.sandbox.regression.predstd import wls_prediction_std
import matplotlib.pyplot as plt
import seaborn as sns
# 主程序 = 關(guān)注 Youcans,分享原創(chuàng)系列 https://blog.csdn.net/youcans =
def main():
 # 讀取數(shù)據(jù)文件
 readPath = "../data/toothpaste.csv"  # 數(shù)據(jù)文件的地址和文件名
 dfOpenFile = pd.read_csv(readPath, header=0, sep=",")  # 間隔符為逗號(hào),首行為標(biāo)題行
 # 準(zhǔn)備建模數(shù)據(jù):分析因變量 Y(sales) 與 自變量 x1~x4  的關(guān)系
 dfData = dfOpenFile.dropna()  # 刪除含有缺失值的數(shù)據(jù)
 sns.set_style('dark')
 # 數(shù)據(jù)探索:分布特征
 fig1, axes = plt.subplots(2, 2, figsize=(10, 8))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.distplot(dfData['price'], bins=10, ax=axes[0,0])  # axes[0,1] 左上圖
 sns.distplot(dfData['average'], bins=10, ax=axes[0,1])  # axes[0,1] 右上圖
 sns.distplot(dfData['advertise'], bins=10, ax=axes[1,0])  # axes[1,0] 左下圖
 sns.distplot(dfData['difference'], bins=10, ax=axes[1,1])  # axes[1,1] 右下圖
 plt.show()
 # 數(shù)據(jù)探索:相關(guān)性
 fig2, axes = plt.subplots(2, 2, figsize=(10, 8))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.regplot(x=dfData['price'], y=dfData['sales'], ax=axes[0,0])
 sns.regplot(x=dfData['average'], y=dfData['sales'], ax=axes[0,1])
 sns.regplot(x=dfData['advertise'], y=dfData['sales'], ax=axes[1,0])
 sns.regplot(x=dfData['difference'], y=dfData['sales'], ax=axes[1,1])
 plt.show()
 # 數(shù)據(jù)探索:考察自變量平方項(xiàng)的相關(guān)性
 fig3, axes = plt.subplots(1, 2, figsize=(10, 4))  # 創(chuàng)建一個(gè) 2行 2列的畫(huà)布
 sns.regplot(x=dfData['advertise'], y=dfData['sales'], order=2, ax=axes[0])  # order=2, 按 y=b*x**2 回歸
 sns.regplot(x=dfData['difference'], y=dfData['sales'], order=2, ax=axes[1])  # YouCans, XUPT
 plt.show()
 # 線(xiàn)性回歸:分析因變量 Y(sales) 與 自變量 X1(Price diffrence)、X2(Advertise) 的關(guān)系
 y = dfData['sales']  # 根據(jù)因變量列名 list,建立 因變量數(shù)據(jù)集
 x0 = np.ones(dfData.shape[0])  # 截距列 x0=[1,...1]
 x1 = dfData['difference']  # 價(jià)格差,x4 = x1 - x2
 x2 = dfData['advertise']  # 廣告費(fèi)
 x3 = dfData['price']  # 銷(xiāo)售價(jià)格
 x4 = dfData['average']  # 市場(chǎng)均價(jià)
 x5 = x2**2  # 廣告費(fèi)的二次元
 x6 = x1 * x2  # 考察兩個(gè)變量的相互作用
 # Model 1:Y = b0 + b1*X1 + b2*X2 + e
 # # 線(xiàn)性回歸:分析因變量 Y(sales) 與 自變量 X1(Price diffrence)、X2(Advertise) 的關(guān)系
 X = np.column_stack((x0,x1,x2))  # [x0,x1,x2]
 Model1 = sm.OLS(y, X)  # 建立 OLS 模型: Y = b0 + b1*X1 + b2*X2 + e
 result1 = Model1.fit()  # 返回模型擬合結(jié)果
 yFit1 = result1.fittedvalues  # 模型擬合的 y 值
 prstd, ivLow, ivUp = wls_prediction_std(result1) # 返回標(biāo)準(zhǔn)偏差和置信區(qū)間
 print(result1.summary())  # 輸出回歸分析的摘要
 print("\nModel1: Y = b0 + b1*X + b2*X2")
 print('Parameters: ', result1.params)  # 輸出:擬合模型的系數(shù)
 # # Model 2:Y = b0 + b1*X1 + b2*X2 + b3*X3 + b4*X4 + e
 # 線(xiàn)性回歸:分析因變量 Y(sales) 與 自變量 X1~X4 的關(guān)系
 X = np.column_stack((x0,x1,x2,x3,x4))  #[x0,x1,x2,...,x4]
 Model2 = sm.OLS(y, X)  # 建立 OLS 模型: Y = b0 + b1*X1 + b2*X2 + b3*X3 + e
 result2 = Model2.fit()  # 返回模型擬合結(jié)果
 yFit2 = result2.fittedvalues  # 模型擬合的 y 值
 prstd, ivLow, ivUp = wls_prediction_std(result2) # 返回標(biāo)準(zhǔn)偏差和置信區(qū)間
 print(result2.summary())  # 輸出回歸分析的摘要
 print("\nModel2: Y = b0 + b1*X + ... + b4*X4")
 print('Parameters: ', result2.params)  # 輸出:擬合模型的系數(shù)
 # # Model 3:Y = b0 + b1*X1 + b2*X2 + b3*X2**2 + e
 # # 線(xiàn)性回歸:分析因變量 Y(sales) 與 自變量 X1、X2 及 X2平方(X5)的關(guān)系
 X = np.column_stack((x0,x1,x2,x5))  # [x0,x1,x2,x2**2]
 Model3 = sm.OLS(y, X)  # 建立 OLS 模型: Y = b0 + b1*X1 + b2*X2 + b3*X2**2 + e
 result3 = Model3.fit()  # 返回模型擬合結(jié)果
 yFit3 = result3.fittedvalues  # 模型擬合的 y 值
 prstd, ivLow, ivUp = wls_prediction_std(result3) # 返回標(biāo)準(zhǔn)偏差和置信區(qū)間
 print(result3.summary())  # 輸出回歸分析的摘要
 print("\nModel3: Y = b0 + b1*X1 + b2*X2 + b3*X2**2")
 print('Parameters: ', result3.params)  # 輸出:擬合模型的系數(shù)
 # 擬合結(jié)果繪圖
 fig, ax = plt.subplots(figsize=(8,6))  # YouCans, XUPT
 ax.plot(range(len(y)), y, 'b-.', label='Sample')  # 樣本數(shù)據(jù)
 ax.plot(range(len(y)), yFit3, 'r-', label='Fitting')  # 擬合數(shù)據(jù)
 # ax.plot(range(len(y)), yFit2, 'm--', label='fitting')  # 擬合數(shù)據(jù)
 ax.plot(range(len(y)), ivUp, '--',color='pink',label="ConfR")  # 95% 置信區(qū)間 上限
 ax.plot(range(len(y)), ivLow, '--',color='pink')  # 95% 置信區(qū)間 下限
 ax.legend(loc='best')  # 顯示圖例
 plt.title('Regression analysis with sales of toothpaste')
 plt.xlabel('period')
 plt.ylabel('sales')
 plt.show()
 return
if __name__ == '__main__':
 main()

6.3 程序運(yùn)行結(jié)果:

OLS Regression Results
==============================================================================
Dep. Variable:salesR-squared:  0.886
Model:OLSAdj. R-squared:0.878
Method:  Least SquaresF-statistic:105.0
Date: Sat, 08 May 2021Prob (F-statistic):  1.84e-13
Time:22:18:04Log-Likelihood:  2.0347
No. Observations:30AIC: 1.931
Df Residuals: 27BIC: 6.134
Df Model:2 
Covariance Type:nonrobust 
==============================================================================
  coef std err tP>|t|[0.0250.975]
------------------------------------------------------------------------------
const 4.40750.7226.1020.000 2.925 5.890
x1 1.58830.2995.3040.000 0.974 2.203
x2 0.56350.1194.7330.000 0.319 0.808
==============================================================================
Omnibus:1.445Durbin-Watson: 1.627
Prob(Omnibus):0.486Jarque-Bera (JB): 0.487
Skew:0.195Prob(JB):0.784
Kurtosis:  3.486Cond. No. 115.
==============================================================================
Model1: Y = b0 + b1*X + b2*X2
Parameters:  
const 4.407493
x1 1.588286
x2 0.563482
OLS Regression Results
==============================================================================
Dep. Variable:salesR-squared:  0.895
Model:OLSAdj. R-squared:0.883
Method:  Least SquaresF-statistic:74.20
Date: Sat, 08 May 2021Prob (F-statistic):  7.12e-13
Time:22:18:04Log-Likelihood:  3.3225
No. Observations:30AIC: 1.355
Df Residuals: 26BIC: 6.960
Df Model:3 
Covariance Type:nonrobust 
==============================================================================
  coef std err tP>|t|[0.0250.975]
------------------------------------------------------------------------------
const 8.03682.4803.2410.003 2.94013.134
x1 1.38320.2884.7980.000 0.791 1.976
x2 0.49270.1253.9380.001 0.236 0.750
x3-1.11840.398  -2.8110.009-1.936-0.300
x4 0.26480.1991.3320.195-0.144 0.674
==============================================================================
Omnibus:0.141Durbin-Watson: 1.762
Prob(Omnibus):0.932Jarque-Bera (JB): 0.030
Skew:0.052Prob(JB):0.985
Kurtosis:  2.885Cond. No.2.68e+16
==============================================================================
Model2: Y = b0 + b1*X + ... + b4*X4
Parameters:  
const 8.036813
x1 1.383207
x2 0.492728
x3-1.118418
x4 0.264789
OLS Regression Results
==============================================================================
Dep. Variable:salesR-squared:  0.905
Model:OLSAdj. R-squared:0.894
Method:  Least SquaresF-statistic:82.94
Date: Sat, 08 May 2021Prob (F-statistic):  1.94e-13
Time:22:18:04Log-Likelihood:  4.8260
No. Observations:30AIC:-1.652
Df Residuals: 26BIC: 3.953
Df Model:3 
Covariance Type:nonrobust 
==============================================================================
  coef std err tP>|t|[0.0250.975]
------------------------------------------------------------------------------
const17.32445.6413.0710.005 5.72828.921
x1 1.30700.3044.3050.000 0.683 1.931
x2-3.69561.850  -1.9970.056-7.499 0.108
x3 0.34860.1512.3060.029 0.038 0.659
==============================================================================
Omnibus:0.631Durbin-Watson: 1.619
Prob(Omnibus):0.729Jarque-Bera (JB): 0.716
Skew:0.203Prob(JB):0.699
Kurtosis:  2.362Cond. No.6.33e+03
==============================================================================
Model3: Y = b0 + b1*X1 + b2*X2 + b3*X2**2
Parameters:  
const 17.324369
x1  1.306989
x2 -3.695587
x3  0.348612

以上就是Python數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸可視化的詳細(xì)內(nèi)容,更多關(guān)于數(shù)學(xué)建模StatsModels統(tǒng)計(jì)回歸的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線(xiàn)路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線(xiàn)

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線(xiàn)
客服

在線(xiàn)客服:7*24小時(shí)在線(xiàn)

客服
熱線(xiàn)

400-630-3752
7*24小時(shí)客服服務(wù)熱線(xiàn)

關(guān)注
微信

關(guān)注官方微信
頂部