7 votos

¿Cómo normalizar la salida raster de 0 a 100 utilizando el álgebra raster?

Estoy trabajando en la generación de un índice de humedad integrado basado en la siguiente ecuación:

IMI = (sombra de la colina * 0,5) + (curvatura * 0,15) + (acumulación de flujo * 0,35)

Iverson et al. 1997

Otro fuente

La ecuación requiere que la sombra de la colina, la curvatura y la acumulación de flujo estén normalizadas de 0 a 100. ¿Cómo puedo lograr esta estandarización de 0 a 100 utilizando el álgebra de ráster?

2 votos

Deberías ponerte en contacto con los autores: han sido negligentes al no describir lo que hicieron con la suficiente claridad para reproducir su trabajo. Si la "normalización" se aplica de cuadrícula en cuadrícula, se convierte en arbitrario y de poca utilidad científica (porque el índice dependerá, entre otras cosas, de la extensión de la cuadrícula, así como de su resolución en el caso de la curvatura). También está claro que su trabajo es (a) subjetivo y (b) de aplicabilidad restringida a su región particular y a sus conjuntos de datos particulares: no hay pruebas de que este índice se generalice.

2 votos

No estoy en desacuerdo con @whuber y me pregunto si CTI no sería un índice más estable.

18voto

Dan Puntos 16

El lenguaje de la transformación de datos puede ser confuso. La normalización se refiere a la transformación de los datos para que tengan una media de 0 y una desviación estándar de 1, y sólo es apropiada para datos con distribución normal (gaussiana). En cambio, la normalización transforma los datos para que el valor mínimo sea 0 y el máximo sea 1, manteniendo la forma de la distribución original. Lo que usted desea es un estiramiento o una normalización.

Esta es la sintaxis del álgebra raster para un tramo de datos. El "+ 0" es, en este caso, obviamente irrelevante, pero se deja para los casos en que el valor mínimo deseado no es cero. El min("raster") y el max("raster") se refieren a los valores mínimos/máximos globales de los raster. Proporciono este ejemplo porque permite especificar cualquier valor mínimo/máximo de los rásteres de salida que se desee.

("raster" - min("raster")) * 100 / (max("raster") - min("raster")) + 0

En tu caso podrías simplemente normalizar y multiplicar por 100. La razón de esta transformación es que el índice necesita que las variables sumadas estén en el mismo espacio de variables.

("raster" - min("raster")) / (max("raster") - min("raster")) * 100

Si utiliza ArcGIS esto caja de herramientas tiene una herramienta para las transformaciones estadísticas, incluida la normalización. Para este modelo no es necesario tener las entradas en un rango de 1 a 100, puede utilizar 0-1 y luego multiplicar la salida por 100 para obtener el rango de datos deseado para el índice.

1 votos

Estos puntos son buenos pero creo que no son aplicables a la pregunta. El documento referenciado es terriblemente vago en cuanto a lo que significa precisamente "estandarizado" (su término), pero es evidente que el proceso pretende crear valores reproducibles que puedan utilizarse para la "predicción." En consecuencia, parece inadecuado normalizar por separado dentro de cada trama, pues entonces los resultados son arbitrarios (dependen de la extensión de la trama, por ejemplo). Además, dado que la curvatura y la acumulación de flujo no tienen límites efectivos, se necesita alguna forma de no lineal es necesaria la normalización.

1 votos

@whuber, no entiendo cómo la respuesta no es aplicable? ¿Podría aclarar qué es exactamente lo que considera irrelevante para la pregunta en cuestión? Por cierto, soy bastante amigo de los autores, por si quieres que te ponga en contacto con ellos para expresar tus preocupaciones sobre el índice.

1 votos

No creo que sea aplicable porque no puedo creer que esto sea lo que los autores quisieron decir con "estandarizar". Si lo es, su "índice" no tiene capacidad de generalización (y su credibilidad es sospechosa por ello), debido a los factores arbitrarios en su construcción. Puedo ver cómo es posible la normalización universal de la sombra de la colina (porque los autores hacer de la colina), pero no puedo ver cómo una lineal La normalización de la curvatura o de la acumulación de flujo podría definirse (o incluso tener sentido físico en términos de estar relacionado linealmente con la humedad).

-1voto

joshoff Puntos 11

Recuerde que, para estandarizar los datos, se supone que éstos se encuentran en una distribución normal. Si los datos no están en una distribución normal, es aconsejable utilizar el rango percentil en lugar de la normalización. Una buena explicación sobre la teoría y sobre cómo hacerlo en SPSS está en estos enlaces:

http://www.psychstat.missouristate.edu/introbook/sbk14m.htm

http://blogs.perficient.com/businessintelligence/2012/03/21/ranking-your-cases-ibm-spss-statistics/ De todos modos, si estás usando ArcGIS, una buena opción es estirar tu raster usando "Equalize Histogram", luego exportar el raster ("Data" -> "Export data") usando la opción "use renderer" y poniendo el "No Data Value" a 0. Esto te dará un rango percentil de 1 a 255 y puedes re-escalarlo dividiendo tus valores de raster por 2.5.

1 votos

Gracias por su contribución. Desgraciadamente, la mayor parte es errónea o engañosa. En primer lugar, "estandarización" se utiliza aquí en un sentido diferente al de "normalización" de la pregunta. En segundo lugar, la normalización no supone que los datos estén distribuidos normalmente. Por último, una igualación del histograma sufrirá toda la arbitrariedad descrita en los comentarios a otra respuesta y será aún más confusa y menos interpretable.

-1voto

Mike Puntos 13

Usando las herramientas de Reclasificación de la caja arctool también podemos estandarizar la capa raster a una escala especificada (1 a 3) (1 a 5) (1 a 9) (1 a 100).

2 votos

Bienvenido a gis stack exchange. Lo siento por el voto negativo, pero su respuesta es incorrecta. El uso de la reclasificación proporcionaría clases discretas, basadas en rangos definidos, y no una normalización a través de un rango continuo de valores donde, cada valor se reasigna a un nuevo valor correspondiente en el rango de datos definido. Además, los datos de la OP son de punto flotante y necesitan mantener la precisión decimal.

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