R-通过引导线性模型计算R平方和剩余标准误差的95%置信区间

R-通过引导线性模型计算R平方和剩余标准误差的95%置信区间,r,statistics-bootstrap,R,Statistics Bootstrap,我对R是新手,我试图计算R平方值的95%置信区间和线性模型的剩余标准误差,通过使用bootstrap方法对响应变量进行重采样,然后通过将999个自举响应变量回归到原始解释变量上,创建999个线性模型 首先,我不确定我是否应该计算原始线性模型(没有自举数据)的R平方和剩余标准误差的95%CI,因为这没有意义-对于该线性模型,R平方值是100%精确的,为其计算CI没有意义 对吗? 重要的是,我不知道如何计算我从引导创建的999个线性模型的R平方值和剩余标准误差值的CI。您完全可以使用引导包来完成此操

我对R是新手,我试图计算R平方值的95%置信区间和线性模型的剩余标准误差,通过使用bootstrap方法对响应变量进行重采样,然后通过将999个自举响应变量回归到原始解释变量上,创建999个线性模型

首先,我不确定我是否应该计算原始线性模型(没有自举数据)的R平方和剩余标准误差的95%CI,因为这没有意义-对于该线性模型,R平方值是100%精确的,为其计算CI没有意义

对吗?


重要的是,我不知道如何计算我从引导创建的999个线性模型的R平方值和剩余标准误差值的CI。

您完全可以使用引导包来完成此操作。但因为我可能对你想要什么感到困惑,我会一步一步地走

我编造了一些假数据

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)次和第(n*.975)次 首先是统计数字

 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

我从来没有听说过对响应变量进行重采样并使用原始解释变量。你确定这就是你想要做的吗?你应该对响应变量和解释变量都重新采样吗?在正常的引导过程中,你通过对原始数据帧的整行重新采样来创建一个新的数据帧。我想这就是我要做的。我有一个有两列的表。一个是小费百分比,一个是账单总额。我试图研究是否可以使用总账单(解释变量)来预测小费百分比(响应变量)。现在,我正在通过对小费百分比进行自举采样来生成999个新的小费百分比样本。