Retoca e adiciona código usando pacote boot.

parent ba971e28
......@@ -153,6 +153,7 @@ with(as.list(coef(n1)), {
# Usando o pacote boot.
library(boot)
library(latticeExtra)
help(boot, help_type = "html")
......@@ -168,12 +169,101 @@ fitmodel <- function(dataset, index) {
c(coef(n0), s2 = deviance(n0)/df.residual(n0))
}
b0 <- boot(turk0,
set.seed(321)
b0 <- boot(data = turk0,
statistic = fitmodel,
R = 999)
R = 1999)
class(b0)
methods(class = class(b0))
summary(b0)
# Como são obtidos.
theta <- b0$t
# Estimativas como conjunto de dados original.
b0$t0
# Vício.
apply(theta, MARGIN = 2, FUN = mean) - b0$t0
# Desvio-padrão boostrap.
apply(theta, MARGIN = 2, FUN = sd)
# Mediana bootstrap.
apply(theta, MARGIN = 2, FUN = median)
st <- summary(b0)
str(st)
# Gráfico de pares.
pairs(b0)
# TODO:
# usar o pacote boot.
# reproduzir os resultados do boot() e boot.ci().
vcov(b0)
cov2cor(vcov(b0))
# Extrair os vetores de estativativas bootstrap.
str(b0)
colnames(b0$t) <- names(b0$t0)
best <- stack(as.data.frame(b0$t))
names(best)
st
densityplot(~values | ind,
data = best,
scales = "free",
as.table = TRUE) +
layer(panel.abline(v = st$original[which.packet()] +
c(0, st$bootBias[which.packet()]),
col = c(1, 2),
lty = 2))
# Intervalos de confiança.
confint(b0, type = "norm")
confint(b0, type = "basic")
confint(b0, type = "perc")
confint(b0, type = "bca")
# Todos métodos (apenas para o primeiro parâmetro).
bci <- boot.ci(b0, type = "all", index = c(2, 2))
bci <- boot.ci(b0, type = "all", index = c(3, 3))
bci <- boot.ci(b0, type = "all", index = c(4, 4))
bci
str(bci)
help(boot.ci, help_type = "html")
# Abrir o código fonte para entender.
boot.ci
# Abrir cada um dos métodos de calculo de IC.
norm.ci
boot:::basic.ci
boot:::stud.ci
boot:::perc.ci
boot:::bca.ci
debug(norm.ci)
norm.ci(b0)
undebug(norm.ci)
debug(confint)
confint(b0, type = "basic")
undebug(confint)
#-----------------------------------------------------------------------
# Estudo de simulação sobre o desempenho dos tipos de intervalo.
# Gerar observações assumindo um modelo linear com resposta Poisson.
# Para cada novo conjunto de dados, obter os IC com cada método usando
# um R = 999.
# Repetir isso 100 vezes.
# Verificar a cobertura dos intervalos de confiança.
#-----------------------------------------------------------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment