我正在尝试使用调查包计算线性回归模型的残差标准误差。我正在使用复杂的设计,复杂设计的采样重量由" weight"在下面的代码中。
fitM1 <- lm(med~x1+x2,data=pop_sample,weight=weight)
fitM2 <- svyglm(med~x1+x2,data=pop_sample,design=design)
首先,如果我打电话给&#34;摘要(fitM1)&#34;,我会得到以下信息:
Call: lm(formula=med~x1+x2,data=pop_sample,weights=weight)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.001787 0.042194 0.042 0.966
x1 0.382709 0.061574 6.215 1.92e-09 ***
x2 0.958675 0.048483 19.773 < 2e-16 ***
Residual standard error: 9.231 on 272 degrees of freedom
Multiple R-squared: 0.8958, Adjusted R-squared: 0.8931
F-statistic: 334.1 on 7 and 272 DF, p-value: < 2.2e-16
接下来,如果我打电话给&#34;摘要(fitM2)&#34;,我会得到以下信息:
summary(fitM2)
Call: svyglm(formula=med~x1+x2,data=pop_sample,design=design)
Survey design: svydesign(id=~id_cluster,strat=~id_stratum,weight=weight,data=pop_sample)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.001787 0.043388 0.041 0.967878
x1 0.382709 0.074755 5.120 0.000334 ***
x2 0.958675 0.041803 22.933 1.23e-10 ***
使用&#34; lm&#34;时,我可以通过调用以下内容来提取残留标准错误:
fitMvariance <- summary(fitM1)$sigma^2
但是,我找不到&#34; svyglm&#34;的类似功能。调查包中的任何地方。在比较两种方法时,点估计是相同的,但系数的标准误差(以及可能是模型的残差标准误差)是不同的。
答案 0 :(得分:1)
使用r中的图书馆调查进行调查分析,它提供了广泛的功能来计算统计数据,如百分比,低CI,高CI,人口和RSE。
我们可以使用调查包中的svyby
函数来获取所有统计信息,包括Root平方误差
library("survey")
Survey design: svydesign(id=~id_cluster,strat=~id_stratum,weight=weight,data=pop_sample)
svyby(~med, ~x1+x2, design, svytotal, deff=TRUE, verbose=TRUE,vartype=c("se","cv","cvpct","var"))
cvpct
将给出根平方误差
请参阅更多信息svyby