Disponible avec une licence Image Analyst.
Résumé
Estime la tendance pour chaque pixel le long d’une dimension pour une ou plusieurs variables dans un raster multidimensionnel.
Utilisation
Un exemple d’utilisation pour cet outil consiste à disposer d’une quarantaine d’années de données mensuelles de température des océans et à vouloir afficher une ligne de tendance pour chaque pixel afin de voir où et comment la température a évolué au fil du temps.
Parmi les jeux de données raster multidimensionnelles pris en charge se trouvent le format CRF, les jeux de données mosaïque multidimensionnelles, ou les couches raster multidimensionnelles générées par les fichiers netCDF, GRIB, ou HDF.
Cet outil crée un jeu de données raster multidimensionnelles au format CRF (Cloud Raster Format). Actuellement, aucun autre format en sortie n’est pris en charge.
Par défaut, le raster multidimensionnel en sortie sera compressé selon le type de compression LZ77. Nous vous recommandons néanmoins de remplacer le type de compression par le type de compression LERC et d’ajuster la valeur d’erreur maximale en fonction de vos données. Par exemple, si vous voulez que la précision des résultats de l’analyse soit de trois décimales, utilisez la valeur d’erreur maximale 0,001. Il est préférable d’éviter les exigences de précision inutiles, car elles ne feront qu’augmenter le temps de traitement et l’espace nécessaire au stockage.
Cet outil permet d’ajuster les données sur une courbe de tendance linéaire, harmonique ou polynomiale ou de détecter la tendance au moyen du test de Mann-Kendall ou Kendall saisonnier.
Les tests de Mann-Kendall et Kendall saisonnier déterminent si les données présentent une tendance monotonique. Ils ne sont pas paramétriques, c’est-à-dire qu’ils ne formulent aucune hypothèse sur la distribution spécifique des données. Le test de Mann-Kendall ne considère pas une corrélation sérielle ou des effets saisonniers. Si les données ont une saisonnalité, le test de Kendall saisonnier est plus adapté.
Si l’outil réalise le test de Mann-Kendall ou Kendall saisonnier, la sortie est un raster à cinq canaux de type suivant :
- Canal 1 = Pente de Sen
- Canal 2 = Valeur de p
- Canal 3 = Score de Mann-Kendall (S)
- Canal 4 = Variance S
- Canal 5 = Score z
Les sorties des tests de Mann-Kendall ou Kendall saisonnier permettent de déterminer les pixels de votre série temporelle multidimensionnelle qui présentent une tendance statistiquement significative. Vous pouvez utiliser cette information avec une analyse de tendance linéaire, harmonique ou polynomiale pour extraire les tendances significatives de vos séries temporelles. Vous générez un masque comportant les pixels avec une valeur de p significative, appliquez le masque au raster multidimensionnel et utilisez ce raster multidimensionnel masqué comme entrée de l’outil pour effectuer une analyse de tendance linéaire, harmonique ou polynomiale.
Trois options de ligne de tendance permettent d’ajuster une tendance aux valeurs de variable par rapport à une dimension : linéaire, harmonique et polynomiale. Ces trois options d’ajustement de tendance sont décrites ci-après.
- Linear (Linéaire) : la ligne de tendance linéaire est la ligne droite la mieux adaptée utilisée pour estimer des relations linéaires simples. Une tendance linéaire met en évidence un taux de variation qui augmente ou diminue de manière régulière. La formule de la ligne de tendance linéaire est la suivante :
- y = valeur variable du pixel
- x = valeur de dimension
- ß0 = interception avec l'axe des y
- ß1 = pente linéaire ou taux de variation
ß1 > 0 indique une tendance croissante
ß1 < 0 indique une tendance décroissante
- Harmonic (Harmonique) : la ligne de tendance harmonique est la courbe périodique la plus adaptée pour décrire des données qui suivent un modèle cyclique, telles que des changements de température saisonniers. La formule de la ligne de tendance harmonique est la suivante :
- y = valeur variable du pixel
- t = date julienne
- ß0 = interception avec l'axe des y
- ß1 = taux de variation
- α, γ = coefficients des changements d’une année à l’autre ou au cours d’une même année
- ω = i
- f = fréquence harmonique
- Polynomial (Polynomial) : la ligne de tendance polynomiale est une courbe utile pour les données qui fluctuent. Dans ce cas, une valeur d’ordre polynomial est utilisée pour indiquer le nombre maximum de fluctuations qui se produisent. La formule de la ligne de tendance polynomiale est la suivante :
- y = valeur variable du pixel
- x = valeur de dimension
- ß0, ß1, ß2, ß3, ..., ßn = coefficients constants
- Linear (Linéaire) : la ligne de tendance linéaire est la ligne droite la mieux adaptée utilisée pour estimer des relations linéaires simples. Une tendance linéaire met en évidence un taux de variation qui augmente ou diminue de manière régulière. La formule de la ligne de tendance linéaire est la suivante :
Si l’outil est utilisé pour effectuer une analyse de tendance linéaire, harmonique ou polynomiale, le raster de tendance en sortie peut être utilisé comme entrée de l’outil Prévoir à l’aide du raster de tendance. Le raster de tendance est un raster multidimensionnel dans lequel chaque tranche correspond à un raster multicanal contenant des informations sur la courbe de tendance. Si vous analysez la tendance pour une seule variable d’un jeu de données contenant une seule dimension (par exemple, le temps), le jeu de données en sortie ne contient qu’une seule tranche. Si vous analysez une seule variable pour un jeu de données contenant plusieurs dimensions (par exemple, le temps et la profondeur), chaque tranche contient des informations sur les tendances de chaque valeur de dimension ainsi que la dimension non incluse dans l’analyse.
Pour l’analyse de tendance linéaire, la sortie contient des rasters à trois canaux :
- Canal 1 = Pente
- Canal 2 = Ordonnée à l’origine
- Canal 3 = Racine carrée de l'erreur quadratique moyenne (EQM) ou erreur autour de la ligne de compromis
Pour l’analyse de tendance harmonique, le nombre de canaux dans la sortie dépend de la fréquence harmonique. Si la fréquence est définie sur 1, la sortie est un raster à cinq canaux de type suivant :
- Canal 1 = Pente
- Canal 2 = Ordonnée à l’origine
- Canal 3 = Harmonic_sin1
- Canal 4 = Harmonic_cos1
- Canal 5 = EQM
Si la fréquence est définie sur 2, la sortie est un raster à sept canaux de type suivant :
- Canal 1 = Pente
- Canal 2 = Ordonnée à l’origine
- Canal 3 = Harmonic_sin1
- Canal 4 = Harmonic_cos1
- Canal 5 = Harmonic_sin2
- Canal 6 = Harmonic_cos2
- Canal 7 = EQM
Pour l’analyse de tendance polynomiale, le nombre de canaux dans la sortie dépend du degré polynomial. Un ajustement polynomial du deuxième degré génère un raster à quatre canaux de type suivant :
- Canal 1 = Polynomial_2
- Canal 2 = Polynomial_1
- Canal 3 = Polynomial_0
- Canal 4 = EQM
Un ajustement polynomial du troisième degré génère un raster à cinq canaux de type suivant :
- Canal 1 = Polynomial_3
- Canal 2 = Polynomial_2
- Canal 3 = Polynomial_1
- Canal 4 = Polynomial_0
- Canal 5 = EQM
Le paramètre Length of Cycle (Durée du cycle) pour l’analyse des tendances harmoniques est utilisé pour indiquer le nombre et la durée des cycles que vous vous attendez à voir dans vos données tout au long d’une journée ou d’une année. Si, par exemple, vous prévoyez que vos données connaissent deux cycles de variation dans l’année, la durée du cycle sera de 182,5 jours, soit 0,5 an. Si vos données de température sont recueillies toutes les trois heures, et s’il y a un cycle de variation par jour, la durée du cycle est d’une journée.
Le paramètre Frequency (Fréquence) pour l’analyse des tendances harmoniques est utilisé pour décrire le modèle harmonique à ajuster aux données. Si la fréquence est définie sur 1, une combinaison de tendance linéaire et de courbe harmonique de premier degré est utilisée pour ajuster le modèle. Si la fréquence est définie sur 2, une combinaison de tendance linéaire, de courbe harmonique de premier degré linéaire et de courbe harmonique de second degré est utilisée pour ajuster les données. Si la fréquence est 3, une courbe harmonique de troisième degré supplémentaire est utilisée pour modéliser les données et ainsi de suite.
Il est possible de générer des statistiques de qualité de l’ajustement du modèle sous forme de sorties facultatives pour les rasters de tendance linéaire, harmonique et polynomiale. L’erreur quadratique moyenne (EQM), la valeur R-carré et la valeur p du coefficient de pente tendance peuvent être calculées et affichées dans la fenêtre Properties (Propriétés) du raster en sortie dans la section Statistics (Statistiques). Vous pouvez également afficher les statistiques en symbolisant le raster de tendance en sortie à l’aide de la symbologie RGB (RVB) et en spécifiant les statistiques comme les canaux rouge, vert et bleu.
Syntaxe
GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value}, {seasonal_period})
Paramètre | Explication | Type de données |
in_multidimensional_raster | Jeu de données raster multidimensionnelles en entrée. | Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File |
dimension | Dimension le long de laquelle une tendance sera extraite pour la ou les variables sélectionnées dans l’analyse. | String |
variables [variables,...] (Facultatif) | La variable ou les variables pour lesquelles les tendances sont calculées. Si aucune variable n’est spécifiée, la première variable du raster multidimensionnel est analysée. | String |
line_type (Facultatif) | Spécifie le type d’analyse de tendance à effectuer pour ajuster les valeurs de pixel le long d’une dimension.
| String |
frequency (Facultatif) | Fréquence ou numéro d’ordre polynomial à utiliser dans l’ajustement de tendance. Si la tendance est de type polynomial, ce paramètre précise l’ordre polynomial. Si la tendance est de type harmonique, ce paramètre précise le nombre de modèles à utiliser pour ajuster la tendance. Ce paramètre est inclus uniquement dans l’analyse des tendances lorsque la dimension analysée est le temps. Si le paramètre line_type est défini sur HARMONIC, la valeur par défaut est définie sur 1. Autrement dit, une courbe harmonique de premier degré est utilisée pour ajuster le modèle. Si le paramètre line_type est défini sur POLYNOMIAL, la valeur par défaut est définie sur 2 ou une tendance de type polynomial de deuxième degré. | Long |
ignore_nodata (Facultatif) | Indique si les valeurs NoData sont ignorées lors de l’analyse.
| Boolean |
cycle_length (Facultatif) | Durée de la variation périodique à modéliser. Ce paramètre est obligatoire lorsque le paramètre line_type est défini sur HARMONIC. Par exemple, les composés phénoliques des feuilles affichent souvent un important cycle de variation dans une année ; aussi la durée du cycle est définie sur 1 année. Les données de température par heure affichent souvent un important cycle de variation dans une journée ; aussi la durée du cycle est définie sur 1 jour. La durée par défaut est définie sur 1 année pour les données qui varient sur un cycle annuel. | Double |
cycle_unit (Facultatif) | Précise l’unité de temps à utiliser pour la durée d’un cycle harmonique.
| String |
rmse (Facultatif) | Précise si l’erreur quadratique moyenne (EQM) de la ligne d'ajustement de la tendance est calculée.
| Boolean |
r2 (Facultatif) | Précise si la statistique de la qualité d’ajustement R-carré pour la ligne d’ajustement de la tendance est calculée.
| Boolean |
slope_p_value (Facultatif) | Précise si la statistique de valeur P pour le coefficient de pente de la ligne de tendance est calculée.
| Boolean |
seasonal_period (Facultatif) | Spécifie l’unité de temps à utiliser pour mesurer la longueur de la période saisonnière lors du test de Kendall saisonnier
| String |
Valeur renvoyée
Nom | Explication | Type de données |
out_multidimensional_raster | Jeu de données raster multidimensionnelles CRF (Cloud Raster Format) en sortie. | Raster |
Exemple de code
Cet exemple calcule l’ajustement de la tendance polynomiale pour les données relatives aux précipitations au fil du temps.
# 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")
Cet exemple calcule l’ajustement de la tendance linéaire pour les données relatives aux températures et à la salinité en fonction de la profondeur.
# 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")
Cet exemple teste la tendance monotonique, puis calcule l’ajustement de la tendance harmonique par rapport à une série chronologique 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")
Environnements
Informations de licence
- Basic: Requiert Image Analyst
- Standard: Requiert Image Analyst
- Advanced: Requiert Image Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?