在 Python 中轻松访问标准化残差、库克值、帽子值(杠杆)等?



我在拟合线性回归后正在寻找影响统计。在r中,我可以得到这样的(例如):

hatvalues(fitted_model) #hatvalues (leverage)
cooks.distance(fitted_model) #Cook's D values
rstandard(fitted_model) #standardized residuals
rstudent(fitted_model) #studentized residuals

等。

在拟合这样的模型后,在使用Python中使用统计模型时,我如何获得相同的统计信息:

#import statsmodels
import statsmodels.api as sm
#Fit linear model to any dataset
model = sm.OLS(Y,X)
results = model.fit()
#Creating a dataframe that includes the studentized residuals
sm.regression.linear_model.OLSResults.outlier_test(results)

编辑:请参见下面的答案...

尽管接受的答案是正确的,但我发现在适合模型后,单独访问统计信息作为影响实例的实例属性(statsmodels.regression.linear_model.OLSResults.get_influence)。这使我免于索引summary_frame,因为我只对其中一个统计数据感兴趣,而不是所有统计信息。所以也许这对别人有帮助:

import statsmodels.api as sm
#Fit linear model to any dataset
model = sm.OLS(Y,X)
results = model.fit()
#create instance of influence
influence = results.get_influence()
#leverage (hat values)
leverage = influence.hat_matrix_diag
#Cook's D values (and p-values) as tuple of arrays
cooks_d = influence.cooks_distance
#standardized residuals
standardized_residuals = influence.resid_studentized_internal
#studentized residuals
studentized_residuals = influence.resid_studentized_external

我在这里找到它:

http://www.statsmodels.org/dev/generated/statsmodels.stats.outliers_influence.olsinfluence.summary_frame.html

OLSInfluence.summary_frame()

相关内容

  • 没有找到相关文章

最新更新