sklearn.LinearRegression中的鲁棒标准错误

我有一段代码可以创建线性回归摘要,如statsmodels.api.OLS(X,y).fit().summary()

lm = LinearRegression()
lm.fit(X,y)
params = np.append(lm.intercept_,lm.coef_)
predictions = lm.predict(X)

X_const = pd.concat([X,pd.DataFrame({'const: np.ones(len(X))})\
                                          .set_index(X.index)],axis = 1)

MSE = sum((y - predictions) ** 2) / len(X_const)

var_b = MSE * (np.linalg.inv(np.dot(X_const.T,X_const)).diagonal())
std = np.round(np.sqrt(var_b),3)
tval = np.round(params / std,3)
pval = np.round([2 * (1 - stats.t.cdf(np.abs(i),(len(X_const) - 1))) for i in tval],3)

summary = pd.DataFrame({'feature_name': ['const'] + X.columns.tolist(),'coef': params,'std': std,'t': tval,'p_value': pval})

print(summary)

该代码的输出是一个表:

    feature_name    coef    std t   p_value
0   const       -70.491203  1.481   -47.597 0.000
1   season     13.668229    9.790   1.396   0.163
2   holiday    -7.823670    3.498   -2.237  0.025
3   workingday  -0.228692   0.193   -1.185  0.236
4   atemp       8.020878    0.195   41.133  0.000
5   windspeed   3.003974    6.554   0.458   0.647

但是,如果我使用statsmodels.api.OLS(X,y).fit(cov_type = 'HC0')会获得可靠的标准错误,则统计信息与cov_type = 'HC0的值会有所不同。

有什么方法可以在sklearn的线性回归中实现相同的cov_type = 'HC0'吗?

pking11 回答:sklearn.LinearRegression中的鲁棒标准错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3153423.html

大家都在问