Disponible con licencia de Image Analyst.
Resumen
Estima la tendencia de cada píxel a lo largo de una dimensión para una o varias variables de un ráster multidimensional.
Uso
Esta herramienta se podría utilizar, por ejemplo, si tuviera 40 años de datos de temperatura del océano mensuales y quisiera ajustar una línea de tendencia para cada píxel a fin de ver dónde y cómo cambió la temperatura a lo largo del tiempo.
Entre los datasets ráster multidimensionales admitidos se incluyen los archivos de formato ráster de nube (CRF), datasets de mosaico multidimensionales o capas ráster multidimensionales generados por archivos netCDF, GRIB o HDF.
Esta herramienta produce un dataset ráster multidimensional en formato de ráster de nube (CRF). En este momento, no se admite ningún otro formato de salida.
De forma predeterminada, la salida del ráster multidimensional se comprimirá con el tipo de compresión LZ77. Sin embargo, se recomienda que cambie el tipo de compresión a LERC y ajuste el valor de error máximo en función de sus datos. Por ejemplo, si espera que los resultados del análisis sean precisos hasta tres decimales, use 0,001 como valor de error máximo. Lo mejor es evitar requisitos de precisión innecesarios, puesto que aumentarán el tiempo de procesamiento y el tamaño de almacenamiento.
Esta herramienta puede utilizarse para ajustar datos a lo largo de una línea de tendencia lineal, armónica o polinómica, o puede utilizarse para realizar la detección de tendencias usando la prueba Mann-Kendall o Seasonal-Kendall.
Las pruebas Mann-Kendall y Seasonal-Kendall se utilizan para determinar si existe una tendencia monótona en los datos. No son paramétricas, lo que significa que no asumen una distribución específica de los datos. La prueba Mann-Kendall no considera la correlación en serie o efectos estacionales. Si los datos fueran estacionales, la prueba Seasonal-Kendall resulta más apropiada.
Si se utiliza la herramienta para realizar la prueba Mann-Kendall o Seasonal-Kendall, la salida es un ráster de cinco bandas de la siguiente forma:
- Banda 1 = Pendiente de Sen
- Banda 2 = valor p
- Banda 3 = Puntuación de Mann-Kendall (S)
- Banda 4 = Varianza S
- Banda 5 = Puntuación Z
Las salidas de la prueba Mann-Kendall o Seasonal-Kendall pueden utilizarse para determinar los píxeles en su serie de tiempo multidimensional que tienen una tendencia estadísticamente significativa. Puede utilizar esta información junto con el análisis de tendencia lineal, armónica o polinómica para extraer tendencias significativas en su serie temporal. Puede generar una máscara que incluya píxeles con valores p significativos, aplicar la máscara al ráster multidimensional y utilizar este ráster multidimensional con máscara como la entrada en la herramienta para realizar análisis de tendencia lineal, armónica o polinómica.
Existen tres opciones de línea de tendencia para ajustar una tendencia a los valores de la variable a lo largo de una dimensión: lineal, armónica y polinómica. A continuación, se describen las tres opciones de ajuste de tendencia.
- Lineal: la línea de tendencia lineal es una línea recta de mejor ajuste que se utiliza para estimar relaciones lineales simples. Una tendencia lineal resalta una tasa de cambio que aumenta o disminuye a un ritmo constante. La fórmula de la línea de tendencia lineal es la siguiente:
- y = el valor de la variable del píxel
- x = el valor de la dimensión
- ß0 = la intercepción y
- ß1 = la pendiente lineal o tasa de cambio
ß1 > 0 indica una tendencia creciente
ß1 < 0 indica una tendencia decreciente
- Armónica: la línea de tendencia armónica es una línea curva que se repite periódicamente y que se utiliza preferiblemente para describir datos que siguen un patrón cíclico, por ejemplo, cambios de temperatura estacionales. La fórmula de la línea de tendencia armónica es la siguiente:
- y = el valor de la variable del píxel
- t = la fecha juliana
- ß0 = la intercepción y
- ß1 = la tasa de cambio
- α, γ = coeficientes de cambios interanuales o intraanuales
- ω = i
- f = la frecuencia armónica
- Polinómica: la línea de tendencia polinómica es una línea curva que resulta de utilidad para datos que fluctúan. En este caso, se utiliza un valor de orden polinómico para indicar el número máximo de fluctuaciones que tienen lugar. La fórmula de la línea de tendencia polinómica es la siguiente:
- y = el valor de la variable del píxel
- x = el valor de la dimensión
- ß0, ß1, ß2, ß3, ..., ßn = coeficientes constantes
- Lineal: la línea de tendencia lineal es una línea recta de mejor ajuste que se utiliza para estimar relaciones lineales simples. Una tendencia lineal resalta una tasa de cambio que aumenta o disminuye a un ritmo constante. La fórmula de la línea de tendencia lineal es la siguiente:
Si la herramienta se utiliza para realizar análisis de tendencia lineal, armónica o polinómica, el ráster de tendencia de salida puede utilizarse como la entrada para la herramienta Predecir con ráster de tendencia. El ráster de tendencia es un ráster multidimensional donde cada división es un ráster multibanda que contiene información sobre la línea de tendencia. Si va a analizar la tendencia de una sola variable de un dataset que contiene una sola dimensión (por ejemplo, tiempo), el dataset de salida tendrá una única división. Si va a analizar una sola variable de un dataset que contiene varias dimensiones (por ejemplo, tiempo y profundidad), cada división contendrá información de tendencia de cada valor de dimensión a lo largo de la dimensión que no se incluyó en el análisis.
En el caso del análisis de tendencia lineal, la salida contiene rásteres de tres bandas, donde:
- Banda 1 = Pendiente
- Banda 2 = Interceptar
- Banda 3 = Error cuadrático medio (RMSE) o error alrededor de la línea de mejor ajuste
En el caso del análisis de tendencia armónico, el número de bandas de la salida depende de la frecuencia armónica. Si la frecuencia se establece en 1, la salida será un ráster de cinco bandas, donde:
- Banda 1 = Pendiente
- Banda 2 = Interceptar
- Banda 3 = Harmonic_sin1
- Banda 4 = Harmonic_cos1
- Banda 5 = RMSE
Si la frecuencia se establece en 2, la salida será un ráster de siete bandas, donde:
- Banda 1 = Pendiente
- Banda 2 = Interceptar
- Banda 3 = Harmonic_sin1
- Banda 4 = Harmonic_cos1
- Banda 5 = Harmonic_sin2
- Banda 6 = Harmonic_cos2
- Banda 7 = RMSE
En el caso del análisis de tendencia polinómica, el número de bandas de la salida depende del orden polinómico. Un ajuste polinómico de segundo orden produce un ráster de cuatro bandas, donde:
- Banda 1 = Polynomial_2
- Banda 2 = Polynomial_1
- Banda 3 = Polynomial_0
- Banda 4 = RMSE
Un ajuste polinómico de tercer orden produce un ráster de cinco bandas, donde:
- Banda 1 = Polynomial_3
- Banda 2 = Polynomial_2
- Banda 3 = Polynomial_1
- Banda 4 = Polynomial_0
- Banda 5 = RMSE
El parámetro Longitud del ciclo del análisis de tendencia armónico se utiliza para indicar el número y longitud de ciclos que espera ver en sus datos a lo largo de un día o año. Por ejemplo, si espera que sus datos pasen dos ciclos de variación en un año, la longitud de ciclo será 182,5 días o 0,5 años. Si recopila datos de temperatura cada tres horas y hay un ciclo de variación al día, la longitud de ciclo es de un día.
El parámetro Frecuencia del análisis de tendencia armónico se utiliza para describir el modelo armónico que se ajustará a los datos. Si la frecuencia se define como 1, se utilizará una combinación de curva lineal y curva armónica de primer orden para ajustar el modelo. Si la frecuencia es 2, se utilizará una combinación de lineal, curva armónica de primer orden y curva armónica de segundo orden para ajustar los datos. Si la frecuencia es 3, se utilizará una curva armónica adicional de tercer orden para modelar los datos, y así sucesivamente.
Se pueden generar estadísticas de idoneidad de ajuste del modelo como salidas opcionales para rásteres de tendencia lineal, armónica o polinómica. Se pueden calcular el error cuadrático medio (RMSE), R cuadrado y el valor P de pendiente de tendencia y mostrar en la ventana Propiedades del ráster de salida, en la sección Estadísticas. También puede visualizar las estadísticas simbolizando el ráster de tendencia de salida con simbología RGB y especificando las estadísticas como las bandas roja, verde y azul.
Sintaxis
GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value}, {seasonal_period})
Parámetro | Explicación | Tipo de datos |
in_multidimensional_raster | El dataset ráster multidimensional de entrada. | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File |
dimension | La dimensión a lo largo de la cual se extraerá una tendencia para la variable o variables seleccionadas en el análisis. | String |
variables [variables,...] (Opcional) | La variable o variables para las que se calcularán tendencias. Si no se especifica ninguna variable, se analizará la primera variable del ráster multidimensional. | String |
line_type (Opcional) | Especifica el tipo de análisis de tendencia que se especificará para valores de píxel a lo largo de una dimensión.
| String |
frequency (Opcional) | La frecuencia o número de orden polinómico que se utilizarán en el ajuste de tendencia. Si el tipo de tendencia es polinómico, este parámetro especifica el orden polinómico. Si el tipo de tendencia es armónico, este parámetro especifica el número de modelos que se utilizarán para ajustar la tendencia. Este parámetro solo se incluye en el análisis de tendencia cuando la dimensión que se analizará es el tiempo. Si el parámetro line_type es HARMONIC, el valor predeterminado es 1, lo que significa que se utiliza una curva armónica de primer orden para ajustar el modelo. Si el parámetro line_type es POLYNOMIAL, el valor predeterminado es 2, o polinómico de segundo orden. | Long |
ignore_nodata (Opcional) | Especifica si los valores NoData se ignorarán en el análisis.
| Boolean |
cycle_length (Opcional) | La longitud de la variación periódica que se va a modelar. Este parámetro es obligatorio si line_type tiene el valor HARMONIC. Por ejemplo, el verdor de las hojas tiene con frecuencia un ciclo fuerte de variación en un solo año, por lo que la longitud de ciclo es 1 año. Los datos de temperatura por hora tienen un ciclo fuerte de variación en un solo día, por lo que la longitud de ciclo es 1 día. La longitud predeterminada es 1 año para los datos que varían en un ciclo anual. | Double |
cycle_unit (Opcional) | Especifica la unidad de tiempo que se utilizará para la longitud del ciclo armónico.
| String |
rmse (Opcional) | Especifica si se calculará el error cuadrático medio (RMSE) de la línea de ajuste de tendencia.
| Boolean |
r2 (Opcional) | Especifica si se calculará la estadística de idoneidad de ajuste de R cuadrado para la línea de ajuste de tendencia.
| Boolean |
slope_p_value (Opcional) | Especifica si se calculará la estadística de valor P para el coeficiente de pendiente de la línea de tendencia.
| Boolean |
seasonal_period (Opcional) | Especifica la unidad de tiempo que se utilizará durante el periodo estacional al realizar la prueba Seasonal-Kendall.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_multidimensional_raster | El dataset ráster multidimensional de formato de ráster de nube (CRF) de salida. | Raster |
Muestra de código
Este ejemplo calcula el ajuste de tendencia polinómico de datos de precipitación a lo largo del tiempo.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
trendCoeffMultidim = arcpy.ia.GenerateTrendRaster("model_time_series.crf",
"StdTime", "precip", "POLYNOMIAL", 2, "DATA", None, '', "RMSE","R2", None)
# Save output
trendCoeffMultidim.save("C:/data/polynomial_trend_coefficients.crf")
Este ejemplo calcula el ajuste de tendencia lineal de datos de temperatura y salinidad en un rango de profundidad.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/Data/ClimateVariables.crf"
dimensionName = "Depth"
variables = "salinity;temp"
trend_model = "LINEAR"
ignore_Nodata = "DATA"
# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName,
variables, trend_model, None, ignore_nodata)
# Save output
trendCoeffMultidim.save("C:/data/linear_trend_coefficients.crf")
Este ejemplo prueba la tendencia monótona y calcula el ajuste de tendencia armónica a lo largo de una serie temporal de NDVI.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/data/ndvi_time_series.crf"
dimensionName = "StdTime"
variables = "ndvi"
trend_test = "SEASONAL_KENDALL"
trend_model = "HARMONIC"
harmonic_frequency = 1
ignore_Nodata = "DATA"
length_of_cycle = 365.25
rmse = RMSE
r_square = NO_r2
p_value = NO_SLOPEPVALUE
# Test for monotonic trend
trendtest = GenerateTrendRaster(inFile, dimensionName, variables,
trend_test, '', ignore_Nodata, '', '', '', '', '', 'MONTHS')
# Execute
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName,
variables, trend_model, harmonic_frequency, ignore_nodata,
length_of_cycle,rmse,r_square,p_value)
# Save output
trendCoeffMultidim.save("C:/data/harmonic_trend_coefficients.crf")
Entornos
Información de licenciamiento
- Basic: Requiere Image Analyst
- Standard: Requiere Image Analyst
- Advanced: Requiere Image Analyst