距离矩阵多元回归(MRM)的自举系数
我想估计MRM系数的频率分布,以生成95%的CI。以下是初始代码:距离矩阵多元回归(MRM)的自举系数,r,linear-regression,statistics-bootstrap,distance-matrix,R,Linear Regression,Statistics Bootstrap,Distance Matrix,我想估计MRM系数的频率分布,以生成95%的CI。以下是初始代码: library(ecodist) dat=data.frame(matrix(rnorm(3*25),ncol=3)) names(dat)<-c('Pred','Var1','Var2') mod<-MRM(dist(Pred) ~ dist(Var1) + dist (Var2), data=dat, nperm=100) slopes<-mod$coef library(ecodist) dat=数据帧
library(ecodist)
dat=data.frame(matrix(rnorm(3*25),ncol=3))
names(dat)<-c('Pred','Var1','Var2')
mod<-MRM(dist(Pred) ~ dist(Var1) + dist (Var2), data=dat, nperm=100)
slopes<-mod$coef
library(ecodist)
dat=数据帧(矩阵(rnorm(3*25),ncol=3))
名称(dat)您可以使用boot
库中的boot
功能。我不知道ecodist::MRM
。尽管如此,这里有一个来自boot
帮助页面的复制粘贴示例,它展示了如何对lm
模型的系数估计进行非参数引导,并获得偏差和置信区间
> library(boot)
> nuke <- nuclear[, c(1, 2, 5, 7, 8, 10, 11)]
> nuke.lm <- lm(log(cost) ~ date+log(cap)+ne+ct+log(cum.n)+pt, data = nuke)
>
> nuke.fun <- function(dat, inds, i.pred, fit.pred, x.pred)
+ {
+ lm.b <- lm(log(cost) ~ date+log(cap)+ne+ct+log(cum.n)+pt,
+ data = dat[inds, ])
+ coef(lm.b)
+ }
>
> set.seed(45282964)
> nuke.boot <- boot(nuke, nuke.fun, R = 999)
> nuke.boot
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = nuke, statistic = nuke.fun, R = 999)
Bootstrap Statistics :
original bias std. error
t1* -13.26031434 -0.482810992 4.93147203
t2* 0.21241460 0.006775883 0.06480161
t3* 0.72340795 0.001842262 0.14160523
t4* 0.24902491 -0.004979272 0.08857604
t5* 0.14039305 0.009209543 0.07253596
t6* -0.08757642 0.002417516 0.05489876
t7* -0.22610341 0.006136044 0.12140501
>
> boot.ci(nuke.boot, index = 2) # pick the covariate index you want
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = nuke.boot, index = 2)
Intervals :
Level Normal Basic
95% ( 0.0786, 0.3326 ) ( 0.0518, 0.3215 )
Level Percentile BCa
95% ( 0.1033, 0.3730 ) ( 0.0982, 0.3688 )
Calculations and Intervals on Original Scale
Warning message:
In boot.ci(nuke.boot, index = 2) :
bootstrap variances needed for studentized intervals
>库(启动)
>nuke nuke.lm
>核武器。乐趣集。种子(45282964)
>nuke.boot nuke.boot
普通非参数自举
电话:
启动(数据=nuke,统计=nuke.fun,R=999)
引导统计:
原始偏差标准误差
t1*-13.26031434-0.482810992 4.93147203
t2*0.21241460 0.006775883 0.06480161
t3*0.72340795 0.001842262 0.14160523
t4*0.24902491-0.004979272 0.08857604
t5*0.14039305 0.009209543 0.07253596
t6*-0.08757642 0.002417516 0.05489876
t7*-0.22610341 0.006136044 0.12140501
>
>boot.ci(nuke.boot,index=2)#选择所需的协变量索引
自举置信区间计算
基于999个引导复制
电话:
boot.ci(boot.out=nuke.boot,索引=2)
间隔:
普通初级
95% ( 0.0786, 0.3326 ) ( 0.0518, 0.3215 )
水平百分位数BCa
95% ( 0.1033, 0.3730 ) ( 0.0982, 0.3688 )
原始比例尺上的计算和间隔
警告信息:
在boot.ci(nuke.boot,index=2)中:
学生化间隔所需的自举方差
见Davison,A.C.和Hinkley,D.V.(1997)自举方法及其应用。剑桥大学出版社,获取上述输出的详细信息。您应该考虑引导程序所要达到的目标,并考虑使用哪种引导程序。请为您的示例提供可重复的数据。做出更改,我希望这没问题。非常感谢。