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

歡迎訪問 生活随笔!

生活随笔

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

python

ols残差_python数据关系型图表散点图系列残差分析图

發布時間:2024/4/18 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ols残差_python数据关系型图表散点图系列残差分析图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參差分析圖(線性回歸、二次回歸)

殘差分析(residual analysis)回歸方程擬合的數值和實際數值的差值就是殘差;殘差分析是通過殘差所提供的信息,分析出數據的可靠性、周期性或其他干擾;用于分析模型的假定正確與否的方法;殘差:指觀測值與預測值(擬合值)之間的差,即實際觀測值與回歸估算值的差;

繪制殘差圖

  • 通常使用顏色漸變及氣泡面積大小,通過視覺暗示對應殘差的絕對值大小,用于實際數據點的表示;

  • 擬合數據點則用小空心圓圈表示,并放置在灰色的擬合曲線上;

  • 用直線連接實際數據點和擬合數據點;

  • 殘差的絕對值越大,顏色越紅、氣泡也越大,連接直線越長,可以很清晰地觀察數據的擬合效果;

殘差分析圖繪制方法

  • 先根據擬合曲線計算預測值和殘差;

  • 再使用實際值與預測值繪制散點圖;

  • 最后使用殘差作為實際值的誤差線長度,添加誤差線;

  • 實現實際值與預測值的連接;

  • 將實際值的氣泡面積大小與顏色映射到對應點的殘差數值;

  • Statsmodels包的sm.OLS()函數可以實現線性或多項式回歸擬合方程的求解,依據方程,可以求取預測值;

繪制線性回歸

import pandas as pd

import numpy as np

from plotnine import *

import statsmodels.api as sm

df=pd.read_csv('d:\python\out\ResidualAnalysisD.csv')

#線性回歸

results = sm.OLS(df.y2, df.x).fit()

df['predicted']=results.predict() # 保存預測值

df['residuals']=df.predicted-df.y2 #保存殘差(有正有負)

df['Abs_Residuals']=np.abs(df.residuals) #保存殘差的絕對值

#mydata包含x、y2、predicted、residuals、Abs_Residuals 共5列數值

base_Residuals=(ggplot(df, aes(x = 'x', y = 'y2')) +

geom_point(aes(fill ='Abs_Residuals', size = 'Abs_Residuals'),shape='o',colour="black") +

# 使用實際值繪制氣泡圖,并將氣泡的顏色和面積映射到殘差的絕對值Abs_Residuals

geom_line(aes(y = 'predicted'), color = "lightgrey") + #添加空心圓圈的預測值

geom_point(aes(y = 'predicted'), shape = 'o') + #添加空心圓圈的預測值

geom_segment(aes(xend = 'x', yend = 'predicted'), alpha = .2) +#添加實際值和預測值的連接線...

scale_fill_gradientn(colors = ["black", "red"]) + #填充顏色映射到red單色漸變系

guides(fill = guide_legend(title="Rresidual"),

size = guide_legend(title="Rresidual"))+

theme(

axis_title=element_text(size=18,face="plain",color="black"),

axis_text = element_text(size=16,face="plain",color="black"),

aspect_ratio =1.1,

figure_size = (5, 5),

dpi = 100)

)

print(base_Residuals)

繪制二次回歸

import pandas as pd

import numpy as np

from plotnine import *

import statsmodels.api as sm

df=pd.read_csv('d:\python\out\ResidualAnalysisD.csv')

#二次回歸

X = np.column_stack((df.x, df.x**2))

#使用 sm.add_constant() 在 array 上加入一列常項 1。

X = sm.add_constant(X)

results = sm.OLS(df.y5, X).fit()

df['predicted']=results.predict() # 保存預測值

df['residuals']=df.predicted-df.y5 #保存殘差(有正有負)

df['Abs_Residuals']=np.abs(df.residuals) #保存殘差的絕對值

#mydata包含x、y2、predicted、residuals、Abs_Residuals 共5列數值

base_Residuals1=(ggplot(df, aes(x = 'x', y = 'y5')) +

geom_point(aes(fill ='Abs_Residuals', size = 'Abs_Residuals'),shape='o',colour="black") +

# 使用實際值繪制氣泡圖,并將氣泡的顏色和面積映射到殘差的絕對值Abs_Residuals

geom_line(aes(y = 'predicted'), color = "lightgrey") + #添加空心圓圈的預測值

geom_point(aes(y = 'predicted'), shape = 'o') + #添加空心圓圈的預測值

geom_segment(aes(xend = 'x', yend = 'predicted'), alpha = .2) +#添加實際值和預測值的連接線...

scale_fill_gradientn(colors = ["black", "red"]) + #填充顏色映射到red單色漸變系

guides(fill = guide_legend(title="Rresidual"),

size = guide_legend(title="Rresidual"))+

theme(

axis_title=element_text(size=18,face="plain",color="black"),

axis_text = element_text(size=16,face="plain",color="black"),

aspect_ratio =1.1,

figure_size = (5, 5),

dpi = 100)

)

print(base_Residuals1)

總結

以上是生活随笔為你收集整理的ols残差_python数据关系型图表散点图系列残差分析图的全部內容,希望文章能夠幫你解決所遇到的問題。

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