svyglm 中的负调整 R 平方

Negative adjusted R squared in svyglm

我有一个大型的、加权的和分层的数据集,其中包含每个家庭的二氧化碳排放量。变量 total_co2 等于总和 elec_co2 + gas_co2 + oil_co2。在转向更复杂的关系之前,我试图构建一个看似显而易见的模型。

svy <- svydesign(id=~i_psu,
                 strata=~i_strata,
                 weights=~i_hhdenui_xw,
                 data=df1)

model <- svyglm(total_co2 ~ elec_co2, svy)
summ(model)
MODEL INFO:
Observations: 6826
Dependent Variable: total_co2
Type: Survey-weighted linear regression 

MODEL FIT:
R² = 0.31
Adj. R² = -1.74 

Standard errors: Robust
---------------------------------------------------
                       Est.    S.E.   t val.      p
----------------- --------- ------- -------- ------
(Intercept)         1962.48   83.68    23.45   0.00
elec_co2               1.27    0.05    23.98   0.00
---------------------------------------------------

Estimated dispersion parameter = 4390445

虽然R^2表示一定的解释力,但Adj. R^2是负面的,通常被解释为相反。在如此简单的关系中,这怎么可能?负值从何而来,我该如何解读?

这是一个简单的数据图。

简答:调整后的 R 平方公式允许否定答案,如果所选模型拟合得比水平线差,则 R 平方为负。

长答案: 这条评论更深入地探讨了负 R 平方值: https://stats.stackexchange.com/q/12991

此网页深入探讨了调整后的 R 平方公式: https://www.statisticshowto.com/adjusted-r2/

我建议尝试其他型号或分别添加 elec_co2、gas_co2 和 oil_co2。

调整 R 方的负值是由于 jtoolssumm 函数中的一个错误。此处提供更多信息:https://github.com/jacob-long/jtools/issues/112