簡體   English   中英

在 python 中的殘差圖的直方圖上繪制折線圖

[英]Plot a line graph over a histogram for residual plot in python

我創建了一個腳本來繪制一個名為 nighttime 的數據幀中 NO2 與溫度殘差的直方圖。

直方圖顯示了 Python 腳本中其他地方的回歸線殘差的正態分布。

我正在努力尋找一種在直方圖上繪制鍾形曲線的方法,如下例所示:

使用 Matplotlib 繪制正態分布

如何獲得殘差直方圖的擬合正態分布?

plt.suptitle('NO2 and Temperature Residuals night-time', fontsize=20)

WSx_rm = nighttime['Temperature']                                        
WSx_rm = sm.add_constant(WSx_rm)   
NO2_WS_RM_mod = sm.OLS(nighttime.NO2, WSx_rm, missing = 'drop').fit() 
NO2_WS_RM_mod_sr = (NO2_WS_RM_mod.resid / np.std(NO2_WS_RM_mod.resid)) 
#Histogram of residuals
ax = plt.hist(NO2_WS_RM_mod.resid)
plt.xlim(-40,50)
plt.xlabel('Residuals')
plt.show

以下對您有用嗎? (使用您提供的鏈接中的一些改編代碼)

import scipy.stats as stats

plt.suptitle('NO2 and Temperature Residuals night-time', fontsize=20)

WSx_rm = nighttime['Temperature']                                        
WSx_rm = sm.add_constant(WSx_rm)   
NO2_WS_RM_mod = sm.OLS(nighttime.NO2, WSx_rm, missing = 'drop').fit() 
NO2_WS_RM_mod_sr = (NO2_WS_RM_mod.resid / np.std(NO2_WS_RM_mod.resid)) 
#Histogram of residuals
ax = plt.hist(NO2_WS_RM_mod.resid)
plt.xlim(-40,50)
plt.xlabel('Residuals')

# New Code: Draw fitted normal distribution
residuals = sorted(NO2_WS_RM_mod.resid) # Just in case it isn't sorted
normal_distribution = stats.norm.pdf(residuals, np.mean(residuals), np.std(residuals))
plt.plot(residuals, normal_distribution)

plt.show

您可以利用 seaborn 庫中的方法來繪制鍾形曲線的分布。 在您提供的示例中,我不清楚殘差變量。 您可能會看到下面的代碼片段,僅供參考。

# y here is an arbitrary target variable for explaining this example    
residuals = y_actual - y_predicted 

import seaborn as sns
sns.distplot(residuals, bins = 10) # you may select the no. of bins
plt.title('Error Terms', fontsize=20)           
plt.xlabel('Residuals', fontsize = 15)     
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM