Come rappresentare la tendenza nel tempo?


34

Ho una serie temporale di raster in cui le celle di ciascun raster rappresentano un valore in un determinato momento.

Vorrei generare una mappa che evidenzi l'entità delle tendenze positive o negative di questo valore nel tempo per ogni cella.

Il mio approccio un po 'ingenuo è quello di adattare una semplice regressione lineare (X = tempo e Y = valore) a ciascuna cella e produrre l'array di pendenze su un raster (come da immagini di esempio di seguito). Questo può essere filtrato solo esportando risultati significativi.

serie storiche da quattro singole celle

Pendenze da regressione lineare

In quale altro modo potrei rappresentare la tendenza nel tempo in una serie di eventi raster?

Sono interessato a tecniche generali e non a istruzioni specifiche del software.

Risposte:


15

Tracciare le pendenze stimate, come nella domanda, è un'ottima cosa da fare. Invece di filtrare per significato, però - o in combinazione con esso - perché non tracciare una misura di quanto bene ogni regressione si adatta ai dati? Per questo, l'errore quadratico medio della regressione viene prontamente interpretato e significativo.

Ad esempio, il Rcodice seguente genera una serie temporale di 11 raster, esegue le regressioni e visualizza i risultati in tre modi: nella riga inferiore, come griglie separate di pendenze stimate e errori quadratici medi; nella riga superiore, come la sovrapposizione di quelle griglie insieme alle vere pendenze sottostanti (che in pratica non avrai mai, ma è offerto dalla simulazione al computer per il confronto). La sovrapposizione, poiché utilizza il colore per una variabile (pendenza stimata) e la luminosità per un'altra (MSE), non è facile da interpretare in questo esempio particolare, ma insieme alle mappe separate nella riga inferiore può essere utile e interessante.

Mappe

(Si prega di ignorare le legende sovrapposte sulla sovrapposizione. Si noti inoltre che la combinazione di colori per la mappa "Piste vere" non è esattamente la stessa per le mappe delle pendenze stimate: un errore casuale fa sì che alcune delle pendenze stimate si estendano su un gamma più estrema delle vere pendenze. Questo è un fenomeno generale legato alla regressione verso la media .)

A proposito, questo non è il modo più efficiente per fare un gran numero di regressioni per lo stesso insieme di tempi: invece, la matrice di proiezione può essere precompilata e applicata a ogni "pila" di pixel più rapidamente rispetto a ricalcolarla per ogni regressione. Ma questo non ha importanza per questa piccola illustrazione.


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

4

Quello che stai descrivendo è "Rilevamento del cambiamento". Esistono molte tecniche per il rilevamento delle modifiche tramite raster. Probabilmente il più comune è la differenziazione dell'immagine in cui sottrai un'immagine da un'altra per produrre una terza. Tuttavia, dipende dal tipo di dati che si sta tentando di confrontare. Dalla tua immagine, sembra che tu stia confrontando le variazioni di pendenza nel tempo (a meno che quest'area non sia soggetta a importanti lavori terrestri, questo non cambierà molto). Tuttavia, se si stanno confrontando le variazioni della classe di terra nel tempo, è possibile utilizzare un approccio diverso.

Mi sono imbattuto in questo articolo di D. Lu et al. in cui si confrontano diversi metodi di rilevamento del cambiamento. Ecco l'abstract:

Il rilevamento tempestivo e accurato dei cambiamenti delle caratteristiche della superficie terrestre è estremamente importante per comprendere le relazioni e le interazioni tra i fenomeni umani e naturali al fine di promuovere un migliore processo decisionale. I dati di telerilevamento sono fonti primarie ampiamente utilizzate per il rilevamento delle modifiche negli ultimi decenni. Sono state sviluppate molte tecniche di rilevamento dei cambiamenti. Questo documento riassume e rivede queste tecniche. La letteratura precedente ha dimostrato che la differenziazione dell'immagine, l'analisi dei componenti principali e il confronto post-classificazione sono i metodi più comuni utilizzati per il rilevamento delle modifiche. Negli ultimi anni, l'analisi della miscela spettrale, le reti neurali artificiali e l'integrazione del sistema di informazione geografica e dei dati di telerilevamento sono diventate tecniche importanti per le applicazioni di rilevamento dei cambiamenti. Diversi algoritmi di rilevamento delle modifiche hanno i loro meriti e nessun singolo approccio è ottimale e applicabile a tutti i casi. In pratica, spesso vengono confrontati algoritmi diversi per trovare i migliori risultati di rilevamento delle modifiche per un'applicazione specifica. La ricerca delle tecniche di rilevamento dei cambiamenti è ancora un argomento attivo e sono necessarie nuove tecniche per utilizzare in modo efficace i dati sempre più diversi e complessi rilevati a distanza disponibili o proiettati per essere presto disponibili dai sensori satellitari e aerei. Questo documento è un'esplorazione completa di tutti i principali approcci di rilevamento del cambiamento implementati come trovato in letteratura. algoritmi diversi vengono spesso confrontati per trovare i migliori risultati di rilevamento delle modifiche per un'applicazione specifica. La ricerca delle tecniche di rilevamento dei cambiamenti è ancora un argomento attivo e sono necessarie nuove tecniche per utilizzare in modo efficace i dati sempre più diversi e complessi rilevati a distanza disponibili o proiettati per essere presto disponibili dai sensori satellitari e aerei. Questo documento è un'esplorazione completa di tutti i principali approcci di rilevamento del cambiamento implementati come trovato in letteratura. algoritmi diversi vengono spesso confrontati per trovare i migliori risultati di rilevamento delle modifiche per un'applicazione specifica. La ricerca delle tecniche di rilevamento dei cambiamenti è ancora un argomento attivo e sono necessarie nuove tecniche per utilizzare in modo efficace i dati sempre più diversi e complessi rilevati a distanza disponibili o proiettati per essere presto disponibili dai sensori satellitari e aerei. Questo documento è un'esplorazione completa di tutti i principali approcci di rilevamento del cambiamento implementati come trovato in letteratura.


4

Esiste un componente aggiuntivo ArcGIS sviluppato dal USGS Upper Midwest Environmental Sciences Center chiamato Curve Fit: uno strumento di regressione raster a livello di pixel che potrebbe essere proprio quello che stai cercando. Dalla documentazione:

Curve Fit è un'estensione dell'applicazione ArcMap GIS che consente all'utente di eseguire analisi di regressione su una serie di set di dati raster (immagini georeferenziate). L'utente inserisce una matrice di valori per una variabile esplicativa (X). Un set di dati raster che rappresenta la corrispondente variabile di risposta (Y) è associato a ciascun valore X immesso dall'utente. Curve Fit utilizza quindi tecniche di regressione lineare o non lineare (a seconda della selezione dell'utente) per calcolare un modello matematico univoco su ciascun pixel dei set di dati raster di input. Curve Fit genera superfici raster di stima dei parametri, errore e inferenza multi-modello. Curve Fit è sia uno strumento esplicativo che predittivo che fornisce ai modellatori spaziali la capacità di eseguire le funzioni statistiche chiave alla scala più fine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.