2016-07-25 1 views
0

R을 사용하여 부트 스트랩 BCa 신뢰 구간을 얻으려고하는 고정 설계 회귀 문제가 있습니다. 여기에 예제가 있습니다 (lmRob 사용)R : 부트 스트랩 고정 된 디자인 회귀에 대한 BCa 신뢰 구간

require(robust) 
data(stack.dat) 
stack.rob <- lmRob(Loss ~ ., data = stack.dat) 

summary(stack.rob) 

Call: 
lmRob(formula = Loss ~ ., data = stack.dat) 

Residuals: 
    Min  1Q Median  3Q  Max 
-8.6299 -0.6713 0.3594 1.1507 8.1740 

Coefficients: 
      Estimate Std. Error t value Pr(>|t|)  
(Intercept) -37.65246 5.00256 -7.527 8.29e-07 *** 
Air.Flow  0.79769 0.07129 11.189 2.91e-09 *** 
Water.Temp 0.57734 0.17546 3.291 0.00432 ** 
Acid.Conc. -0.06706 0.06512 -1.030 0.31757  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.837 on 17 degrees of freedom 
Multiple R-Squared: 0.6205 

Test for Bias: 
      statistic p-value 
M-estimate  2.751 0.6004 
LS-estimate  2.640 0.6197 

부트 주어진 here으로 부트 스트랩 R의 패키지 (또한 코드가 있지만 둘 다 비 파라 메트릭 부트 스트랩 BCA 신뢰 구간.이 그러나 고정 디자인 회귀 설정입니다. I를 도출 따라서 부트 스트랩 BCa 신뢰 구간 고정 설계 회귀에 사용할 수있는 R 소프트웨어가 있는지 궁금합니다 .Lm을 사용하는 R 패키지 또는 이와 유사한 예제도 괜찮습니다.

고마워요!

+0

어쩌면이 [그럼 질문] (http://stackoverflow.com/questions/7588388/adjusted-bootstrap-confidence-intervals-bca-with-parametric-bootstrap-in-boot) 도울 수 있습니다 – Marcel10

+0

나는 문제가 있습니다. 그 예를 들어 보겠습니다. "파라 메트릭"회귀라고하면 정규 분포에서 리샘플링한다는 의미입니까? 잔차에서 다시 샘플링하고 싶습니다. 나는 부트 기능을 찾기가 어렵다. 다시 한 번 감사드립니다! – user3236841

+0

'boot' 패키지는 A. C. Davison과 D. V. Hinkley (1997)의 책 "Bootstrap Methods and Their Application"에 기반을두고 있습니다. 이 [link] (http://statwww.epfl.ch/davison/BMA/CUPsample.pdf)에는이 책의 일부가 포함되어 있습니다. 다행히도 파라 메트릭 및 비 파라 메트릭 부트 스트랩이 포함되어 있습니다. – Marcel10

답변

0

은 내가 모델에서 서로 다른 경우에 대한 가중치를 포함하는 2002

require(boot) 
require(robust) 
data(stackloss) 

stack.rob <- lmRob(stack.loss ~ ., data = stackloss) 

lmRob.coef <- function(data, y, pred) { 
    mod <- lmRob(formula = as.formula(eval(paste(y,"~", paste(pred,collapse="+")))) , data = data, control = lmRob.control(mxr = 1000, mxf = 1000, mxs = 1000)) 
    coef(mod) 
} 

lmRob.results <- function(data, y, pred) { 
    mod <- lmRob(formula = as.formula(eval(paste(y,"~", paste(pred,collapse="+")))) , data = data) 
    data.frame(fitted = fitted(mod), residuals = resid(mod)) 
} 

fit.dat <- lmRob.results(data = stackloss, y = "stack.loss", pred = c("Air.Flow", "Water.Temp", "Acid.Conc.")) 

model.fun <- function(data, i, y, pred, fitted.results) { 
    dat <- cbind(data, fitted.results) 
    dat[, y] <- dat$fitted + dat$residuals[i] 
    lmRob.coef(data = dat, y = y, pred = pred) 
} 

lmRob.boot <- boot(data = stackloss, statistic = model.fun, R = 999, y = "stack.loss", pred = c("Air.Flow", "Water.Temp", "Acid.Conc."), fitted.results = fit.dat) 

boot.ci(boot.out=lmRob.boot, type="bca", index=4) 

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS 
Based on 999 bootstrap replicates 

CALL : 
boot.ci(boot.out = lmRob.boot, type = "bca", index = 4) 

Intervals : 
Level  BCa   
95% (-0.2644, 0.2963) 
Calculations and Intervals on Original Scale 

다음 목적의 R 저널에 예로부터 수정, 답이 있다고 생각합니다.

관련 문제