python - statsmodels WLS 有 get_influence() 函数吗?

标签 python statsmodels

如何从适合 python statsmodels 的 WLS 模型中获得杠杆率/get_influence

http://statsmodels.sourceforge.net/stable/index.html 为例

# Load data
dat = sm.datasets.get_rdataset("Guerry", "HistData").data

# Fit regression model (using the natural log of one of the regressors)
results_ols = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
results_w = smf.wls('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()

我可以打电话

results_ols.get_influence 

但不是 results_wls.get_influence()

有 wls 的等效项吗?

我也对 statsmodels 之外的任何解决方案感兴趣。

最佳答案

您可以通过对加权变量使用 OLS 来获取加权变量的影响力和离群值度量。

例如,如果 mod_wls 是您的 WLS 模型(模型实例,而不是结果实例),则

res = sm.OLS(mod_wls.wendog, mod_wls.wexog).fit()
infl = res.get_influence()

据我所知,大多数或所有影响力衡量标准都是正确的,但它们是根据加权变量和观察结果来衡量的。对于一些影响度量,有一些关于原始变量的定义,但这些定义不可用。例如,有两种方法可以定义 WLS 的帽子矩阵,一种对应于使用上面的加权变量,另一种对应于原始变量的影响。

(类似的问题出现在 GLM 和 RLM 中,它们都基于迭代重新加权最小二乘法,例如 https://github.com/statsmodels/statsmodels/issues/808

影响力和离群值统计尚未扩展到其他模型,主要是因为缺乏对明确处理这种情况的统计文献的引用,并且不知道另一个包中可用于单元测试的引用实现.

更新
GLM 现在有一些异常影响措施 https://www.statsmodels.org/dev/generated/statsmodels.genmod.generalized_linear_model.GLMResults.get_influence.html

但对于 WLS 仍然没有明确的信息 )

关于python - statsmodels WLS 有 get_influence() 函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621686/

相关文章:

python - 比较两个数据帧并获得差异

python - EVT_TEXT 事件上的 .Skip() 会执行任何操作吗?

python - 使用 Python 的双向方差分析

python - python时间序列分析包

python - 值错误 : endog must be in the unit interval

python - StatsModels公式多项式回归与numpy polyfit系数不匹配

python - 如何更改 statsmodels qqplot 的绘图属性? (Python)

python - 如何检查 RadioButton 是否已从另一个类中检查?

python - 改变 django-allauth render_authentication_error 行为

python - 创建从第 x 天开始的自定义月份