Comment représenter la tendance dans le temps?

34

J'ai une série temporelle de rasters où les cellules de chaque raster représentent une valeur à un moment donné.

J'aimerais générer une carte mettant en évidence l'ampleur des tendances positives ou négatives de cette valeur dans le temps pour chaque cellule.

Mon approche quelque peu naïve consiste à ajuster une régression linéaire simple (X = temps et Y = valeur) à chaque cellule et à afficher le tableau de pentes dans un raster (voir les exemples d’illustrations ci-dessous). Cela peut être filtré en exportant uniquement les résultats significatifs.

séries chronologiques de quatre cellules individuelles

Pentes de régression linéaire

Sinon, comment pourrais-je représenter la tendance dans le temps dans une série temporelle raster?

Je suis intéressé par les techniques générales et non par des instructions spécifiques à un logiciel.

utilisateur2856
la source

Réponses:

15

Tracer les pentes estimées, comme dans la question, est une bonne chose à faire. Plutôt que de filtrer par importance, bien que - ou conjointement avec elle -, pourquoi ne pas tracer une mesure de la mesure dans laquelle chaque régression correspond aux données? Pour cela, l'erreur quadratique moyenne de la régression est facilement interprétée et significative.

À titre d'exemple, le Rcode ci-dessous génère une série temporelle de 11 rasters, effectue les régressions et affiche les résultats de trois manières: sur la ligne du bas, sous forme de grilles distinctes des pentes estimées et des erreurs quadratiques moyennes; sur la rangée supérieure, comme la superposition de ces grilles avec les véritables pentes sous-jacentes (que vous n’aurez en pratique jamais, mais que la simulation informatique permet de comparer). La superposition, parce qu’elle utilise la couleur pour une variable (pente estimée) et la luminosité pour une autre (MSE), n’est pas facile à interpréter dans cet exemple particulier, mais avec les cartes séparées sur la ligne du bas, elle peut être utile et intéressante.

Plans

(Ignorez les légendes superposées de la superposition. Notez également que le jeu de couleurs de la carte "Pentes vraies" n’est pas tout à fait le même que celui des cartes des pentes estimées: une erreur aléatoire fait en sorte que certaines des pentes gamme plus extrême que les pentes réelles. C’est un phénomène général lié à la régression vers la moyenne .)

En passant, ce n’est pas le moyen le plus efficace d’effectuer un grand nombre de régressions pour la même série de fois: la matrice de projection peut plutôt être précalculée et appliquée à chaque "pile" de pixels plus rapidement que de la recalculer pour chaque régression. Mais cela n'a pas d'importance pour cette petite illustration.


# Specify the extent in space and time.
#
n.row <- 60; n.col <- 100; n.time <- 11
#
# Generate data.
#
set.seed(17)
sd.err <- outer(1:n.row, 1:n.col, function(x,y) 5 * ((1/2 - y/n.col)^2 + (1/2 - x/n.row)^2))
e <- array(rnorm(n.row * n.col * n.time, sd=sd.err), dim=c(n.row, n.col, n.time))
beta.1 <- outer(1:n.row, 1:n.col, function(x,y) sin((x/n.row)^2 - (y/n.col)^3)*5) / n.time
beta.0 <- outer(1:n.row, 1:n.col, function(x,y) atan2(y, n.col-x))
times <- 1:n.time
y <- array(outer(as.vector(beta.1), times) + as.vector(beta.0), 
       dim=c(n.row, n.col, n.time)) + e
#
# Perform the regressions.
#
regress <- function(y) {
  fit <- lm(y ~ times)
  return(c(fit$coeff[2], summary(fit)$sigma))
}
system.time(b <- apply(y, c(1,2), regress))
#
# Plot the results.
#
library(raster)
plot.raster <- function(x, ...) plot(raster(x, xmx=n.col, ymx=n.row), ...)
par(mfrow=c(2,2))
plot.raster(b[1,,], main="Slopes with errors")
plot.raster(b[2,,], add=TRUE, alpha=.5, col=gray(255:0/256))
plot.raster(beta.1, main="True slopes")
plot.raster(b[1,,], main="Estimated slopes")
plot.raster(b[2,,], main="Mean squared errors", col=gray(255:0/256))
whuber
la source
4

Ce que vous décrivez est "Détection de changement". Il existe de nombreuses techniques de détection de changement à l'aide de rasters. Le plus commun est probablement la différenciation d’images dans laquelle vous soustrayez une image d’une autre pour en produire une troisième. Cela dépend toutefois du type de données que vous essayez de comparer. À en juger par votre image, il semble que vous compariez les changements de pente dans le temps (à moins que cette zone ne soit sujette à de grands travaux d'aménagement, cela ne devrait pas changer beaucoup). Cependant, si vous comparez les changements de classe de terres au fil du temps, vous pouvez utiliser une approche différente.

Je suis tombé sur cet article de D. Lu et al. dans lequel ils comparent différentes méthodes de détection de changement. Voici le résumé:

La détection opportune et précise du changement des caractéristiques de la surface de la Terre est extrêmement importante pour comprendre les relations et les interactions entre les phénomènes humains et naturels afin de favoriser une meilleure prise de décision. Les données de télédétection sont des sources primaires largement utilisées pour la détection des changements au cours des dernières décennies. De nombreuses techniques de détection de changement ont été développées. Cet article résume et passe en revue ces techniques. La littérature précédente a montré que la différenciation des images, l'analyse en composantes principales et la comparaison après classification sont les méthodes les plus couramment utilisées pour la détection des changements. Ces dernières années, l’analyse spectrale des mélanges, les réseaux de neurones arti fi ciels et l’intégration de systèmes d’information géographique et de données de télédétection sont devenues des techniques importantes pour les applications de détection du changement. Différents algorithmes de détection de changement ont leurs propres mérites et aucune approche unique n'est optimale et applicable à tous les cas. En pratique, différents algorithmes sont souvent comparés pour trouver les meilleurs résultats de détection de changement pour une application spécifique. La recherche sur les techniques de détection du changement reste un sujet d'actualité et de nouvelles techniques sont nécessaires pour utiliser efficacement les données de télédétection de plus en plus diverses et complexes disponibles ou susceptibles de l'être prochainement à partir de capteurs satellitaires et aéroportés. Ce document est une exploration complète de toutes les principales approches de détection de changement mises en œuvre telles que décrites dans la littérature. différents algorithmes sont souvent comparés pour trouver les meilleurs résultats de détection de changement pour une application spécifique. La recherche sur les techniques de détection du changement reste un sujet d'actualité et de nouvelles techniques sont nécessaires pour utiliser efficacement les données de télédétection de plus en plus diverses et complexes disponibles ou susceptibles de l'être prochainement à partir de capteurs satellitaires et aéroportés. Ce document est une exploration complète de toutes les principales approches de détection de changement mises en œuvre telles que décrites dans la littérature. différents algorithmes sont souvent comparés pour trouver les meilleurs résultats de détection de changement pour une application spécifique. La recherche sur les techniques de détection du changement reste un sujet d'actualité et de nouvelles techniques sont nécessaires pour utiliser efficacement les données de télédétection de plus en plus diverses et complexes disponibles ou susceptibles de l'être prochainement à partir de capteurs satellitaires et aéroportés. Ce document est une exploration complète de toutes les principales approches de détection de changement mises en œuvre telles que décrites dans la littérature.

Fezter
la source
4

Le logiciel Curve Fit: un outil de régression de trame au niveau des pixels développé par l'USGS Upper Midwest Environmental Sciences est un complément ArcGIS idéal pour vous. De la documentation:

Curve Fit est une extension de l'application SIG ArcMap qui permet à l'utilisateur d'exécuter une analyse de régression sur une série de jeux de données raster (images géoréférencées). L'utilisateur entre un tableau de valeurs pour une variable explicative (X). Un jeu de données raster représentant la variable de réponse correspondante (Y) est associé à chaque valeur X entrée par l'utilisateur. Curve Fit utilise ensuite des techniques de régression linéaire ou non linéaire (selon la sélection de l'utilisateur) pour calculer un modèle mathématique unique pour chaque pixel des jeux de données raster en entrée. L'ajustement de courbe génère des surfaces raster d'estimation de paramètre, d'erreur et d'inférence multi-modèle. Curve Fit est à la fois un outil explicatif et prédictif qui offre aux modélisateurs spatiaux la possibilité d’exécuter des fonctions statistiques clés à l’échelle la plus fine.

Aaron
la source