¿Cómo calcular una medida de precisión basada en RMSE? ¿Se distribuye normalmente mi gran conjunto de datos?

9

Tengo varios conjuntos de datos del orden de miles de puntos. Los valores en cada conjunto de datos son X, Y, Z que se refieren a una coordenada en el espacio. El valor Z representa una diferencia de elevación en el par de coordenadas (x, y).

Típicamente en mi campo de SIG, se hace referencia al error de elevación en RMSE restando el punto de verdad del terreno a un punto de medida (punto de datos LiDAR). Por lo general, se utilizan un mínimo de 20 puntos de verificación de verificación de terreno. Usando este valor RMSE, de acuerdo con NDEP (National Digital Elevation Guidelines) y FEMA, se puede calcular una medida de precisión: Precisión = 1.96 * RMSE.

Esta precisión se expresa como: "La precisión vertical fundamental es el valor por el cual la precisión vertical puede evaluarse y compararse equitativamente entre los conjuntos de datos. La precisión fundamental se calcula al nivel de confianza del 95 por ciento en función del RMSE vertical".

Entiendo que el 95% del área bajo una curva de distribución normal se encuentra dentro de 1.96 * desviación estándar, sin embargo, eso no se relaciona con RMSE.

En general, hago esta pregunta: usando RMSE calculado a partir de 2 conjuntos de datos, ¿cómo puedo relacionar RMSE con algún tipo de precisión (es decir, el 95 por ciento de mis puntos de datos están dentro de +/- X cm)? Además, ¿cómo puedo determinar si mi conjunto de datos se distribuye normalmente utilizando una prueba que funciona bien con un conjunto de datos tan grande? ¿Qué es "suficientemente bueno" para una distribución normal? ¿Debería p <0.05 para todas las pruebas, o debería coincidir con la forma de una distribución normal?


Encontré muy buena información sobre este tema en el siguiente documento:

http://paulzandbergen.com/PUBLICATIONS_files/Zandbergen_TGIS_2008.pdf

Matthew Bilskie
fuente
44
¡Cuidado! Su uso de ks.test es incorrecto. De acuerdo con la página de ayuda , debe usar 'pnorm' en lugar de 'dnorm'. Además, establecer los parámetros de la distribución de comparación en la media y la DE de la muestra aumentará sustancialmente el valor p: "Si se utiliza una prueba de muestra única, los parámetros especificados en ... deben especificarse previamente y no estimarse a partir de los datos."
whuber
3
Bueno, en realidad, esa fórmula no te dará un intervalo de confianza: será demasiado grande para eso. Realmente es una forma cruda (pero estándar) de estimar un intervalo de tolerancia, que es el 95% medio de toda la población de diferencias. Hay buenas razones para suponer que las diferencias no tendrán una distribución normal: las diferencias absolutas más grandes tienden a estar asociadas con pendientes topográficas más grandes. Suponiendo que sus 4000 puntos son una muestra aleatoria de esas diferencias, ¿por qué no solo informa sus percentiles 2.5 y 97.5?
whuber
44
Sus datos forman una muestra estadística de las elevaciones que podrían medirse. Cuando habla de "precisión", hace afirmaciones acerca de qué tan cerca sus DEM representan a toda la población de elevaciones. En su caso, es imposible evaluar la precisión mediante la comparación de conjuntos de datos: debe "verificar la verdad" de sus datos. Por lo tanto, las pautas realmente están hablando del acuerdo relativo de dos conjuntos de datos. Finalmente, su uso del "nivel de confianza" está equivocado, como expliqué anteriormente. Acepto que tienes que trabajar en el marco de una orientación horrible como esta, pero mereces saber qué es lo correcto.
whuber
3
Eso empieza a sonar como una pregunta útil para ti. Debido a que aún no ha recibido ninguna respuesta, ¿por qué no edita completamente la pregunta actual para incorporar la información que ha revelado en estos comentarios? Sugeriría ampliarlo un poco: después de citar las pautas (para mostrar qué tipo de métodos se emplean habitualmente en su campo), podría preguntar de manera bastante general cómo utilizar la distribución de los pares ordenados de diferencias en las elevaciones para evaluar la precisión (suponiendo que uno de los conjuntos de datos es la referencia).
whuber
2
Todos: Actualicé mi publicación principal y mi pregunta para reflejar los cambios de los comentarios.
Matthew Bilskie

Respuestas:

1

Usando RMSE calculado a partir de 2 conjuntos de datos, ¿cómo puedo relacionar RMSE con algún tipo de precisión (es decir, el 95 por ciento de mis puntos de datos están dentro de +/- X cm)?

Eche un vistazo a una pregunta casi duplicada: ¿ Intervalo de confianza de RMSE ?

¿Se distribuye normalmente mi gran conjunto de datos?

Un buen comienzo sería observar la distribución empírica de los zvalores. Aquí hay un ejemplo reproducible.

set.seed(1)
z <- rnorm(2000,2,3)
z.difference <- data.frame(z=z)

library(ggplot2)

ggplot(z.difference,aes(x=z)) + 
  geom_histogram(binwidth=1,aes(y=..density..), fill="white", color="black") +
  ylab("Density") + xlab("Elevation differences (meters)") +
  theme_bw() + 
  coord_flip()

ingrese la descripción de la imagen aquí

A primera vista, parece normal, ¿verdad? (en realidad, sabemos que es normal porque el rnormcomando que usamos).

Si se desea analizar muestras pequeñas sobre el conjunto de datos, existe la Prueba de normalidad de Shapiro-Wilk.

z_sample <- sample(z.difference$z,40,replace=T)
shapiro.test(z_sample) #high p-value indicates the data is normal (null hypothesis)

    Shapiro-Wilk normality test

data:  z_sample
W = 0.98618, p-value = 0.8984 #normal

También se puede repetir la prueba SW muchas veces sobre diferentes muestras pequeñas y luego observar la distribución de p-values.

Tenga en cuenta que las pruebas de normalidad en grandes conjuntos de datos no son tan útiles como se explica en esta respuesta proporcionada por Greg Snow.

Por otro lado, con conjuntos de datos realmente grandes, el teorema del límite central entra en juego y para los análisis comunes (regresión, pruebas t, ...) realmente no le importa si la población está normalmente distribuida o no.

La buena regla general es hacer un diagrama qq y preguntar, ¿es esto lo suficientemente normal?

Entonces, hagamos un diagrama QQ:

#qq-plot (quantiles from empirical distribution - quantiles from theoretical distribution)
mean_z <- mean(z.difference$z)
sd_z <- sd(z.difference$z)
set.seed(77)
normal <- rnorm(length(z.difference$z), mean = mean_z, sd = sd_z)

qqplot(normal, z.difference$z, xlab="Theoretical", ylab="Empirical")

ingrese la descripción de la imagen aquí

Si los puntos están alineados en la y=xlínea, significa que la distribución empírica coincide con la distribución teórica, que en este caso es la distribución normal.

Andre Silva
fuente