[R-br] Teste para decisão do número ótimo de amostra
Walmes Zeviani
walmeszeviani em gmail.com
Quarta Março 20 18:31:09 BRT 2013
Alexandre,
Segue um CMR simples:
# tamanho de amostra para medida de interesse que
# é o erro absoluto ao estimar a média da população
# erro = abs(média_estimada-média_verdadeira)
pop.total <- rnorm(10000, mean=20, sd=15) # população
m <- mean(20) # média verdadeira
i <- unique(floor(2^seq(1, 12, by=0.5))); i # tamanhos de amostra
nr <- 100 # número de execuções de
reamostragem
fun <- function(size, pop, m){
# função que calcula o erro a partir de uma amostra
x <- sample(pop, size, replace=TRUE)
# retorna a diferença entre estimado e real
abs(mean(x)-m)
}
results1 <- sapply(i,
function(j){
replicate(nr, fun(size=j, pop=pop.total, m=m))
})
str(results1) # matriz: colunas correspondem à i
results2 <- colMeans(results1) # tira a média para cada i
results2
plot(results2~i)
plot(results2~log2(i))
# qual o tamanho de amostra para ter um erro no ponto
# médio entre o máximo (quando n=1) e o mínimo (n->infinito, erro=0)
n0 <- nls(results2~A*B^(-log2(i)+1), start=list(A=1, B=1))
coef(n0)
perc <- 0.3 # erro tolerado de 30% do máximo
(usuário define)
xi <- -log(perc)/log(coef(n0)["B"])+1 # tamanho de amostra correspondente
plot(results2~log2(i),
xlim=c(1, max(log2(i))), ylim=c(0,max(results2, coef(n0)["A"])),
xlab="Tamanho da amostra (log2 unidades)",
ylab="Erro absoluto médio ao estimar a média")
abline(v=1, lty=2)
with(as.list(coef(n0)), curve(A*B^(-x+1), add=TRUE))
with(as.list(coef(n0)), abline(h=A*c(1,perc), v=xi, lty=2, col=2))
ceiling(2^xi) # tamanho de amostra à ser considerado
À disposição.
Walmes.
==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes em ufpr.br
skype: walmeszeviani
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130320/971350f5/attachment.html>
Mais detalhes sobre a lista de discussão R-br