假设我想在忽略协变量前后评估线性模型的优缺点,并且想实现某种自举。
我试图引导两个模型的残差之和,然后应用Kolmogorov-Smirnov检验来评估两个模型的分布是否相同。
最小工作代码:
lm.statistic.resid <- function(data,i){
d<-data[i,]
r.gressor <- colnames(data)[1]
c.variates <- colnames(data)[-1]
lm.boot <- lm(data=d)
out <- sum(resid(lm.boot))
return(out)
}
df.restricted <- mtcars[ , names(mtcars) != c("wt")]
classical.lm <- lm(mtcars)
restricted.lm <- lm(df.restricted)
boot.regression.full = boot(df,
statistic=lm.statistic.resid,
R=1000)
boot.regression.restricted = boot(df.restricted,
statistic=lm.statistic.resid,
R=1000)
x <- boot.regression.restricted$t
y <- boot.regression.full$t
ks.test(x,y)
但是,在删除 wt (统计上有意义)和 am (不是)上,我得到了相同的结果。
如果我删除 wt ,我应该期望较小的p值。