3 votos

¿Cuáles son los buenos métodos para tratar los valores atípicos al calcular la media de los datos?

Tengo un marco de datos con los usos anuales de energía de los edificios durante 5 años. Para tener un uso energético anual representativo para la modelización de datos, tendré que tomar la media de esos datos. Como los datos pueden contener valores atípicos, quiero tratar los valores atípicos correctamente (pero manteniendo la mayor cantidad posible de datos correctos). (El df puede contener celdas vacías (y los años más antiguos son un poco más importantes que los recientes si hay que tomar una decisión ponderada en alguna parte).

¿Cuáles son los buenos métodos para tratar los valores atípicos al calcular la media de los datos?

Pensé en: -calcular la media de las 5 columnas de datos (y_2010 - y_2014) y luego comparar los 5 puntos de datos con esa media. Si hay una diferencia de, por ejemplo, >20%, este caso se elimina y no se puede utilizar para el análisis posterior, ya que hay demasiada variabilidad en los datos para ese ID. (Normalmente, los datos energéticos a lo largo de 5 años deberían ser más o menos los mismos, a menos que se hayan hecho reformas en el edificio, pero la mayoría de los edificios no lo han hecho). - hacer algo con una media rodante para llegar a una columna de uso de energía media del edificio adecuada - ...

Ejemplo del df:

   ID  y_2010   y_2011   y_2012  y_2013  y_2014  mean
21524   22631    21954    22314   22032   21843   ...
28965   27456    29654    28159   28654   27345   ...
10236   32165      NaN    31678   31895   32459   ...
89754   87621    86542    87542   88456   86961   ...
56457   58951    57486     2000       0       0   ...
25984   24587    25478      NaN   24896   25461   ...

16voto

manku Puntos 111

Al principio, tienes que tomar una decisión fundamental: ¿Intentas aprender ¿algo de los datos? ¿O está usted tratando de enseñar los datos se comporten como usted supone que deberían hacerlo? Esta respuesta se orienta principalmente hacia el primer enfoque.

Por lo general, es un error eliminar un "valor atípico" de un conjunto de datos a no ser que se pueda establecer que la observación en cuestión se debe a un error documentable (fallo del equipo, error de introducción de datos, etc.) o se sepa con certeza que su valor es imposible (edad de la persona superior a 140 años, altura negativa, etc.)

Anécdota: Donde yo vivo, la factura de calefacción más alta se produce en diciembre y enero. Por razones personales y familiares que probablemente nunca se repetirán repetirse, mis facturas de energía para 12/2019 y 1/2020 fueron extraordinariamente altas. Según su criterio, podría ser eliminado de su lista, lo que creo que sería un error. No puedo prever que las mismas circunstancias pero otras personas pueden verse sorprendidas por períodos temporales similares de alto consumo de energía en el futuro por razones muy similares.

Una forma de estabilizar las medias sin manipular los datos es utilizar medias recortadas. Para encontrar una media recortada, los datos se clasifican, se ignora un cierto porcentaje de las observaciones más bajas y más altas y se toma la media de las observaciones más centrales restantes. y de las observaciones más altas, y se toma la media de las observaciones restantes más centrales. Dependiendo de las circunstancias, los porcentajes típicos de recorte pueden ser del 2% al 20% (a veces más altos), dejando el 96% al 60% central (a veces menos) para ser promediado.

Considere los datos con n=1000n=1000 observaciones de una distribución gamma con parámetro de forma 10 (quizás los tiempos de espera tiempos de espera para terminar proyectos de varias fases). Aquí está un gráfico de su curva de densidad--hecho en R.

curve(dgamma(x,10,1), 0, 25, lwd=2, ylab="PDF", 
      main="Density of GAMMA(10, 1)")
abline(v=0, col="green2");  abline(h=0, col="green2")

enter image description here

Casi todas estas muestras tienen al menos un valor atípico en el boxplot y el número medio de valores atípicos en una muestra de 1000 es de unos 14.

set.seed(530)
nr.out = replicate(10^5, 
           length(boxplot.stats(rgamma(1000,10,1))$out) )
mean(nr.out);  mean(nr.out>0)
[1] 13.97049
[1] 1

Veamos los boxplots de 20 muestras de tamaño 1000 de esta distribución para ver los valores atípicos.

set.seed(1234)
m = 20;  n=1000
x = rgamma(m*n,10,1);  g = rep(1:m, n)
boxplot(x~g, col="skyblue2", 
      main="GAMMA(10,1) Population: Boxplots of 20 Samples of 1000")

Parece que el 2% de las medias recortadas de las 1000 observaciones de cada muestra debería permitirnos ignorar los valores atípicos del boxplot para encontrar las medias. (Pero los valores recortados no se eliminan, por lo que la media ordinaria y los cuartiles no se ven afectados).

enter image description here

Mis observaciones gamma simuladas han μ=10,σ2=10,μ=10,σ2=10, por lo que las muestras de 1000 tienen una media ordinaria de aproximadamente 1010 con variaciones de alrededor de 0.010.01 (de la teoría). Por el contrario El 2% recortado significa de las muestras es un promedio de alrededor de 9.939.93 con variaciones de alrededor de 0.010.01 (de la simulación).

set.seed(530)
a.02 = replicate(10^5, mean(rgamma(1000,10,1),trim=.02))
mean(a.02);  var(a.02)
[1] 9.932821
[1] 0.009988345

Al utilizar medios recortados hemos conservado todos los datos. De forma justa y sistemática, hemos evitado principalmente el uso de los valores atípicos del boxplot para estimar las medias. A grandes rasgos, hemos calculado las medias recortadas ignorando los valores que son más del doble de la media ordinaria. Y al mismo tiempo hemos ignorado los valores que son menos de la mitad de la media ordinaria. Tal vez encontremos que ignorando temporalmente los valores que están proporcionalmente lejos de la media ordinaria (que sigue siendo la mejor estimación de la media de la población), podemos hacer mejores juicios a partir de nuestros datos.

qgamma(c(.02,.98), 10, 1)
[1]  4.618349 17.509813

Sin embargo, con el tiempo podemos llegar a comprender que todas las observaciones tienen un papel legítimo en la comprensión de cómo utilizar los datos de la mejor manera posible. En ese caso, los datos están intactos y podemos hacerlo.

Nota: Hay distribuciones con colas tan pesadas que una media muestral recortada es una mejor estimación de la situación de la población que una media muestral ordinaria. La de Cauchy es una de esas distribuciones. En ese caso las colas son tan pesadas que una media recortada del 38% parece óptima. Véase una breve discusión aquí y más información en sus enlaces.

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