Générer un raster de tendance (Image Analyst)

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.

    Types de tendance linéaire, harmonique et polynomiale de deuxième et troisième degré
    • 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 :
      Équation de la ligne de tendance linéaire
      • 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 :
      Équation de la ligne de tendance harmonique
      • 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 :
      Équation de la ligne de tendance polynomiale
      • y = valeur variable du pixel
      • x = valeur de dimension
      • ß0, ß1, ß2, ß3, ..., ßn = coefficients constants
  • 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ètreExplicationType 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.

  • LINEARLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance linéaire. Il s’agit de l’option par défaut.
  • POLYNOMIALLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance polynomiale de deuxième degré.
  • HARMONICLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance harmonique.
  • MANN-KENDALLLes valeurs de pixel variables sont évaluées à l’aide du test de tendance de Mann-Kendall.
  • SEASONAL-KENDALLLes valeurs de pixel variables sont évaluées à l’aide du test de tendance de Kendall saisonnier.
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.

  • DATA L’analyse inclut tous les pixels valides le long d’une dimension donnée et ignore les pixels NoData. Il s’agit de l’option par défaut.
  • NODATALe résultat de l’analyse est NoData s’il existe des valeurs NoData pour les pixels selon la dimension donnée.
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.

  • DAYSL’unité de durée du cycle harmonique se définit en Jours.
  • YEARSL’unité de durée du cycle harmonique se définit en Années. Il s’agit de l’option par défaut.
String
rmse
(Facultatif)

Précise si l’erreur quadratique moyenne (EQM) de la ligne d'ajustement de la tendance est calculée.

  • RMSEL’EQM est calculée. Il s’agit de l’option par défaut.
  • NO_RMSEL’EQM n’est pas 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.

  • R2La valeur R-carré est calculée.
  • NO_R2La valeur R-carré n’est pas calculée. Il s’agit de l’option par défaut.
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.

  • SLOPEPVALUELa valeur P est calculée.
  • NO_SLOPEPVALUELa valeur P n’est pas calculée. Il s’agit de l’option par défaut.
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

  • DAYSL’unité de durée de la période saisonnière se définit en jours. Il s’agit de l’option par défaut.
  • MONTHSL’unité de durée du Période saisonnière se définit en mois.
String

Valeur renvoyée

NomExplicationType de données
out_multidimensional_raster

Jeu de données raster multidimensionnelles CRF (Cloud Raster Format) en sortie.

Raster

Exemple de code

Exemple 1 d’utilisation de l’outil GenerateTrendRaster (fenêtre Python)

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")
Exemple 2 d’utilisation de l’outil GenerateTrendRaster (script autonome)

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")
Exemple 3 d’utilisation de l’outil GenerateTrendRaster (script autonome)

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")

Informations de licence

  • Basic: Requiert Image Analyst
  • Standard: Requiert Image Analyst
  • Advanced: Requiert Image Analyst

Rubriques connexes