7 votos

Error de medición en conteo máximo

Estoy familiarizado con el concepto de un valor de la media de los datos y la variación alrededor de la media. Es posible cuantificar la variación en torno a los valores máximos?

Por ejemplo, en la de abajo los datos recogidos a través de 10 años. Quiero presentar el valor máximo de cada mes, pero también quiero cuantificar la variación en el valor máximo de cada mes a través de los 10 años:

counts <- data.frame(year = sort(rep(2000:2009, 12)), month = rep(month.abb,10), count = sample(1:500, 120, replace = T))

Primeras 20 filas de datos:

head(counts, 20)

   year month count
1  2000   Jan    14
2  2000   Feb   182
3  2000   Mar   462
4  2000   Apr   395
5  2000   May   107
6  2000   Jun   127
7  2000   Jul   371
8  2000   Aug   158
9  2000   Sep   147
10 2000   Oct    41
11 2000   Nov   141
12 2000   Dec    27
13 2001   Jan    72
14 2001   Feb     7
15 2001   Mar    40
16 2001   Apr   351
17 2001   May   342
18 2001   Jun    81
19 2001   Jul   442
20 2001   Aug   389

Lo que cantidades puedo usar: desviación Estándar? Rango intercuartil? Rango de valores máximo? Los intervalos de confianza?

1voto

Aksakal Puntos 11351

-1voto

Iwasakabukiman Puntos 518

Va a ser difícil incluso para definir lo que significa "el error de medición de un máximo de cuenta".

En caso de que de media es fácil, porque significa que es un parámetro de teórico de base de distribución que genera los datos. Este parámetro puede ser estimado junto con su incertidumbre.

Máximo, por otro lado, es no un parámetro de la distribución - la distribución no tiene máximo! Así que cuando usted habla de la máxima, es siempre el máximo de la muestra.

Esto pone a la estadística Bayesiana fuera porque considera que sus datos como fijo. Usted tendrá que utilizar un enfoque frecuentista, que considera el modelo como fijo y que sus datos sean realmente muestra de su modelo. La inferencia puede ser directa o mediante el uso de bootstrap. Yo no soy muy fuerte en la obtención de complejos frecuentista de probabilidad máxima de las fórmulas, así que me limitaré a dar un arranque de ejemplo en sus datos:

library(boot)

counts <- data.frame(year = sort(rep(2000:2009, 12)), month = rep(month.abb,10), count = sample(1:500, 120, replace = T))

# this is how you compute the maximum
aggregate(counts$count, list(counts$month), max)

# function which does it for a sub-sample given by `indices`
month_max <- function (data, indices) {
    d <- data[indices,] # allows boot to select sample
    return (tapply(d$count, d$month, max))
}

# bootstrapping with 1000 replications
results <- boot(data=counts, statistic=month_max, R=1000)
results
# ORDINARY NONPARAMETRIC BOOTSTRAP
# [...]
# Bootstrap Statistics :
#      original  bias    std. error
# t1*       466 -28.364    48.41140
# t2*       496 -27.725    40.78849
# t3*       455 -40.789    57.09997
# t4*       499 -32.997    47.74439
# t5*       466 -15.057    34.23477
# t6*       484 -15.966    39.79838
# t7*       491 -24.337    38.84459
# t8*       370 -24.701    39.31971
# t9*       474 -28.850    57.94352
# t10*      448 -23.793    59.52596
# t11*      446 -64.173    84.13633
# t12*      398 -22.229    36.31511

Puede ver los resultados corresponden a los valores reales, pero también incluyen un error estándar. Se puede ver que el sesgo es bastante alto. Esto indica que el "verdadero" valor máximo se encuentra fuera de la muestra, lo cual es normal para max función y no va a suceder por mean.

Usted puede reportar el CI demasiado (tal vez hay una mejor manera, pero esto funciona):

for (i in 1:12) {
    print(boot.ci(results, type="bca", index=i))
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X