我一直在使用统计模型来创建线性回归模型。我正在尝试打印汇总数据。对于OLS,所需的函数是.summary(),但是,我已经将模型正则化了:
model = sm.OLS(Y_train, X_train)
res=model.fit_regularized(alpha=0.04, L1_wt=0)如下所示,其摘要为summary = sm.regression.linear_model.OLSResults():https://www.statsmodels.org/stable/generated/statsmodels.regression.linear_model.OLSResults.html
我似乎不知道如何计算normalized_cov_params。我尝试了以下几种方法:
summary = sm.regression.linear_model.OLSResults(model,res.params,model.normalized_cov_params)但是我得到了以下错误:AttributeError: 'OLS' object has no attribute 'cov_params'
有人知道如何得到归一化协方差参数吗?
感谢所有的帮助,
结果表明,C.
发布于 2021-06-03 01:47:53
from statsmodels.tools.tools import pinv_extended
model = sm.OLS(Y_train, X_train)
res=model.fit_regularized(alpha=0.04, L1_wt=0)
...
...
...
pinv_wexog,_ = pinv_extended(model.wexog)
normalized_cov_params = np.dot(pinv_wexog, np.transpose(pinv_wexog))
summary = sm.regression.linear_model.OLSResults(model,res.params,normalized_cov_params)
print(summary.summary())https://stackoverflow.com/questions/67808264
复制相似问题