(필요한 경우 R 코드를 무시하십시오. 주된 질문은 언어 독립적이므로)
간단한 통계 (예 : 평균)의 변동성을보고 싶다면 다음과 같은 이론을 통해 할 수 있다는 것을 알고 있습니다.
x = rnorm(50)
# Estimate standard error from theory
summary(lm(x~1))
# same as...
sd(x) / sqrt(length(x))
또는 부트 스트랩으로 다음과 같이하십시오.
library(boot)
# Estimate standard error from bootstrap
(x.bs = boot(x, function(x, inds) mean(x[inds]), 1000))
# which is simply the standard *deviation* of the bootstrap distribution...
sd(x.bs$t)
그러나 내가 궁금한 점은 특정 상황에서 부트 스트랩 배포 의 표준 오류 를 보는 것이 유용 / 유효 할 수 있습니까? 내가 다루고있는 상황은 다음과 같이 비교적 시끄러운 비선형 함수입니다.
# Simulate dataset
set.seed(12345)
n = 100
x = runif(n, 0, 20)
y = SSasymp(x, 5, 1, -1) + rnorm(n, sd=2)
dat = data.frame(x, y)
여기서 모델은 원래 데이터 세트를 사용하여 수렴하지 않습니다.
> (fit = nls(y ~ SSasymp(x, Asym, R0, lrc), dat))
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
따라서 내가 관심있는 통계 는 이러한 nls 매개 변수에 대한 보다 안정된 추정치입니다. 아마도 여러 부트 스트랩 복제에 대한 수단입니다.
# Obtain mean bootstrap nls parameter estimates
fit.bs = boot(dat, function(dat, inds)
tryCatch(coef(nls(y ~ SSasymp(x, Asym, R0, lrc), dat[inds, ])),
error=function(e) c(NA, NA, NA)), 100)
pars = colMeans(fit.bs$t, na.rm=T)
다음은 실제로 원래 데이터를 시뮬레이션하는 데 사용한 볼 파크에 있습니다.
> pars
[1] 5.606190 1.859591 -1.390816
플롯 된 버전은 다음과 같습니다.
# Plot
with(dat, plot(x, y))
newx = seq(min(x), max(x), len=100)
lines(newx, SSasymp(newx, pars[1], pars[2], pars[3]))
lines(newx, SSasymp(newx, 5, 1, -1), col='red')
legend('bottomright', c('Actual', 'Predicted'), bty='n', lty=1, col=2:1)
이 안정화 된 모수 추정값 의 변동성을 원한다면 이 부트 스트랩 분포의 정규성을 가정하여 표준 오차를 계산할 수 있다고 생각합니다.
> apply(fit.bs$t, 2, function(x) sd(x, na.rm=T) / sqrt(length(na.omit(x))))
[1] 0.08369921 0.17230957 0.08386824
이것은 합리적인 접근입니까? 이와 같이 불안정한 비선형 모델의 매개 변수에 대한 추론에 대한 더 일반적인 접근 방법이 있습니까? (마지막 비트에 대한 이론에 의존하는 대신 여기에서 리샘플링의 두 번째 레이어를 대신 수행 할 수 있다고 가정하지만 모델에 따라 시간이 오래 걸릴 수 있습니다. 그럼에도 불구하고 이러한 표준 오류가 부트 스트랩 복제 수를 늘리면 0에 가까워 지므로 무엇이든 유용합니다.)
감사합니다. 그런데 저는 엔지니어입니다.이 주변의 상대 초보자 인 것을 용서해주십시오.
nls
적합치가 실패 할 수 있지만 수렴되는 크기의 편차는 크며 예측 된 표준 오류 / CI는 의심 할 정도로 작습니다.nlsBoot
는 50 % 성공적인 적합치의 특별 요구 사항을 사용하지만 조건부 분포의 (비) 유사성이 똑같이 우려된다는 것에 동의합니다.