Por que o erro "ajuste estimado 'a' é NA" gerado no pacote de inicialização R ao calcular intervalos de confiança usando o método bca?


14

Eu tenho um vetor de números que eu enviei aqui (... / code / MyData.Rdata) usando dput.

Gostaria de obter o bca ci, então eu escrevi este código:

my.mean <- function(dat, idx){
 return (mean(dat[idx], na.rm = TRUE))
} 

boot.out<-boot(data=my.data, statistic = my.mean, R=1000)

Mas quando executo o seguinte, recebo o seguinte:

> boot.ci(boot.out)
Error in bca.ci(boot.out, conf, index[1L], L = L, t = t.o, t0 = t0.o,  : 
estimated adjustment 'a' is NA
In addition: Warning message:
In boot.ci(boot.out) : bootstrap variances needed for studentized intervals

Alguém pode me ajudar a descobrir o que está causando esse erro? Obrigado pela ajuda!


3
Eu tentei com R = 10000 em vez de R = 1000 (e especificando type = 'bca' em vez de type = 'all', pois é isso que você realmente deseja) e funciona. Assim, a minha conclusão seria que o que está causando esse erro não é suficiente replicações de bootstrap ... mas eu não posso dizer mais ...
Ocram

Respostas:


23

Como você pode ver na sua mensagem de erro, boot.cichama bca.ci. Como o boot.outobjeto não fornece L, os valores empíricos de influência para a estatística que você está calculando nos dados, bca.citentam calculá-los usando a empinffunção e, em seguida (como Michael diz), eles os usam para calcular a constante de aceleração:

L <- empinf(boot.out, index = index, t = t.o, ...)
a <- sum(L^3)/(6 * sum(L^2)^1.5)

Mas, com um pequeno número de repetições, empinfàs vezes falha e retorna um vetor de NAvalores. O resultado é que você não tem valores para L, anão pode ser calculado e obtém seu erro. Como o ocram diz, aumentar o número de replicações de boostrap corrigirá isso. Mesmo dobrar Rpara 2000 provavelmente deve fazê-lo.


1
+1 @Kieran Obrigado! Fico feliz que meu palpite tenha alguma validade. Você tem a resposta certa com o seu conhecimento dos programas de R envolvidos. então minha resposta não é mais necessária. Alguém ou não gostou de mim adivinhando ou pensou que minha resposta deveria ser um comentário. Por todas essas razões, faz sentido excluí-lo agora.
Michael R. Chernick

4
Para outros que sofrem do problema: De acordo com stat.ethz.ch/pipermail/r-help/2011-February/269006.html, o número de repetições deve ser maior que o número de linhas de dados. Eu estava levemente suprsed que tantas repetições são necessárias ...
BurninLeo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.