我是R的新手,我正在尝试计算R平方值的95%置信区间,线性模型的残差标准误差是通过使用bootstrap方法重新采样响应变量而形成的,然后创建999线性模型通过在原始解释变量上回归这999个自举响应变量。
首先,我不确定是否应该为ORIGINAL线性模型(没有自举数据)计算R平方和残差标准误差的95%CI,因为这没有意义--R -ququared值对于该线性模型是100%精确的,并且为它计算CI没有意义。
这是正确的吗?
重要的是,我不确定如何计算我通过自举创建的999线性模型的R平方值和残差标准误差值的CI。
答案 0 :(得分:3)
您绝对可以使用启动包来执行此操作。但是因为我可能会对你想要的东西感到困惑,我会一步步走。
我编造了一些假数据
n=10
x=rnorm(n)
realerror=rnorm(n,0,.9)
beta=3
y=beta*x+realerror
建立一个空位以捕捉我感兴趣的统计数据。
rsquared=NA
sse=NA
然后创建一个for循环,重新采样数据,运行回归并为每次迭代收集两个统计信息。
for(i in 1:999)
{
#create a vector of the index to resample data row-wise with replacement.
use=sample(1:n,replace=T)
lm1=summary(lm(y[use]~x[use]))
rsquared[i]=lm1$r.squared
sse[i]=sum(lm1$residuals^2)
}
现在我想弄清楚置信区间,所以我订购了它们并报告了(n * .025)th和(n * .975)th 首先订购统计数据
sse=sse[order(sse)]
rsquared=rsquared[order(rsquared)]
然后第25个是置信下限,第975个是置信上限
> sse[c(25,975)]
[1] 2.758037 18.027106
> rsquared[c(25,975)]
[1] 0.5613399 0.9795167