在R中引导线性回归模型

时间:2013-02-05 15:46:00

标签: r statistics-bootstrap

这是我第一次使用启动包,而且我在生成一些自举回归数据时遇到问题。

我拥有的数据帧是df(原始数据要大得多):

     aX          gX         pos
-0.02422145  -0.4127358    14749
 0.19770304  -0.3913043    13649
 0.01587302  -0.7250000    11349
-0.03744150  -0.2436149    14449
 0.05079826  -0.4273319    15349
 0.12209738  -0.4259067    13249

我正在应用以下将应用线性回归的函数:

regr.fun <- function(data, indices, step) {
    l=20000
    data <- data[indices,]

    for(i in seq(1,l,step)) {
        for(j in seq(1,l,step)) {
            for( ind in 1:nrow(data)) {

                if( dis(i, j) >= l/2 ){
                    data[ind,]$nval = dis( data[ind,]$pos, i) )
                }
                else{
                    data[ind,]$nval = dis( i, data[ind,]$pos, l )/l
                }
            }
            mAx=lm(ax ~ nval, data)
            errorAx=sum(residuals(mAx)^2) 


            mGx=lm(gx ~ nval, data) 
            errorGx=sum(residuals(mGx)^2) 
            resdf <-rbind(resdf, data.frame(resi = i, resj=j, errA=errorAx, errG=errorGx)

            }
    }
    return(resdf)
}

并且函数dis是一个函数,它做了一些小的计算,此时并不重要。

然后我做的是引导程序:

reg.boot <- boot(data=df,statistic =reg.fun,step=1000, R=10, sim="permutation")

所以我应该得到的是一个自发的置换数据。

所以在这种情况下我有两个问题:

1-当我打印reg.boot时,std.error和bias等于0,我无法理解输出。

DATA PERMUTATION


Call:
boot(data = df, statistic = regr.fun, R = 10, 
    sim = "permutation", stepsize = 1000)


Bootstrap Statistics :
        original  bias    std. error
t1* 16001.000000       0           0
t2* 16001.000000       0           0
t3*     1.802046       0           0
t4*     1.532456       0           0
在排列测试中,我应该得到p值来检查基于观察到的随机数据中每对i,j的显着性,在这种情况下我可以选择最低的p值,但我没有得到任何人吗?

我做错了分析?

0 个答案:

没有答案