gpt4 book ai didi

python - 如何使用 python statsmodel 计算 Cooks 距离、DFFITS

转载 作者:行者123 更新时间:2023-12-01 09:14:19 31 4
gpt4 key购买 nike

我想使用 statsmodel 在 Python 中计算 Cooks_dDFFITS

这是我的 Python 代码:

X = your_str_cleaned[param]
y = your_str_cleaned['Visitor']
X = sm.add_constant(X)
model = sm.OLS(y, X)
results = model.fit()

我尝试使用它来获取 Cooks DistanceDFFITS:

import statsmodels.stats.outliers_influence as st_inf
st_inf.OLSInfluence.summary_frame(results)

但我收到此错误:

'OLSResults' object has no attribute 'results'.

有人可以帮我找出哪里出错了吗?

最佳答案

我也遇到了同样的问题,所以我必须找到解决办法。我没有太多经验,这并不能解决 OLSInfluence 的根本问题。但它会为您提供 summary_frame

我将使用 pandas dataframes 作为数据源。即使您将其放在其他对象(如数组)中,您也可以相对轻松地将它们转换为数据框。为了展示其工作原理,我将从 sklearn.datasets 导入波士顿房价数据集:

import pandas as pd
from sklearn.datasets import load_boston

#imports dataset
boston = load_boston()

#generates DataFrame bos
bos = pd.DataFrame(boston.data)

#adds columns names to bos
bos.columns = boston.feature_names

#adds column 'PRICE' to bos
bos['PRICE'] = boston.target

现在让我们考虑'RM'列和'PRICE'列之间的关系,其中'RM'作为自变量。为了简单起见,让我们考虑简单的 OLS。实际答案如下:

from statsmodels.formula.api import ols

m = ols('PRICE ~ RM',bos).fit()
infl = m.get_influence()
sm_fr = infl.summary_frame()

sm_fr 包含您要查找的列 cooks_ddffits

关于python - 如何使用 python statsmodel 计算 Cooks 距离、DFFITS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51390196/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com