Zeitserien-Kreuzkorrelation (Space Time Pattern Mining)

Zusammenfassung

Zum Berechnen der Kreuzkorrelation bei verschiedenen Zeitverzögerungen zwischen zwei Zeitserien, die in einem Raum-Zeit-Würfel gespeichert sind.

Die Kreuzkorrelation wird berechnet, indem die entsprechenden Werte der einzelnen Zeitserien einander paarweise zugeordnet werden und ein Pearson-Korrelationskoeffizient berechnet wird. Die zweite Zeitserie wird dann um einen Zeitschritt verschoben, und es wird eine neue Korrelation berechnet. Diese Verschiebung wiederholt sich bis zu einer bestimmten maximalen Anzahl von Zeitschritten. Die Zeitverzögerung (Verschiebung) mit der stärksten Korrelation ist eine Schätzung der Verzögerung zwischen den Änderungen in einer Zeitserie und den Reaktionen in der anderen (z. B. die Verzögerung zwischen den Werbeausgaben und dem Umsatzerlös). Sie können Trends aus den Zeitserien filtern und entfernen, um auf eine statistisch signifikante Abhängigkeit zwischen den Variablen zu testen. Sie können auch räumliche Nachbarn in die Berechnungen einbeziehen, um räumliche Beziehungen zwischen den beiden Zeitserien zu berücksichtigen.

Weitere Informationen zur Funktionsweise der Zeitserien-Kreuzkorrelation

Abbildung

Abbildung des Werkzeugs "Zeitserien-Kreuzkorrelation"
Kreuzkorrelationen werden zwischen zwei Zeitserien an allen Positionen eines Raum-Zeit-Würfels über verschiedene Zeitverzögerungen hinweg berechnet.

Verwendung

  • Das Vorzeichen (positiv oder negativ) eines Zeitverzögerungswertes wird als Verschiebung der sekundären Analysevariable gegenüber der primären Analysevariable interpretiert. Ein Zeitverschiebungswert von 5 bedeutet beispielsweise, dass die sekundäre Variable vor der Berechnung der Kreuzkorrelation um fünf Zeitschritte nach vorne (nach rechts auf der Zeitachse) verschoben wird. Ist die Zeitverzögerung mit der stärksten Korrelation positiv, bedeutet dies, dass Änderungen im Wert der sekundären Analysevariable vor den Änderungen in der primären Analysevariable auftreten. Ebenso bedeutet ein Wert von -3, dass die sekundäre Zeitserie um drei Zeitschritte zurück (nach links auf der Zeitachse) verschoben wird. Ist die Zeitverzögerung mit der stärksten Korrelation negativ, bedeutet dies, dass Änderungen in der primären Analysevariable vor den Änderungen in der sekundären Analysevariable auftreten.

    Weitere Informationen zu Zeitverzögerungen

  • Die primäre Ausgabe des Werkzeugs ist eine Feature-Class, die die Ergebnisse der Kreuzkorrelation an jeder Position für alle Zeitverzögerungen enthält. In einer Karte wird ein Gruppen-Layer hinzugefügt, der sechs Layer aus verschiedenen Feldern der Ausgabe-Features enthält: drei Layer mit den stärksten Korrelationen (stärkste positive, stärkste negative und stärkste im absoluten Wert) und drei Layer mit den zugehörigen Zeitverzögerungen für jede der stärksten Korrelationen. Anhand dieser Layer können Sie schnell feststellen, welche Positionen die stärksten Korrelationen aufwiesen und welche Zeitverzögerungen die Korrelationen hervorriefen.

    Optional können Sie Pop-up-Diagramme in den Ausgabe-Features erstellen, in denen die Korrelationen über alle Zeitverzögerungen an jeder Position zusammengefasst und visualisiert werden. Sie können auch Ausgabetabellen erstellen, die alle individuellen Korrelationen zwischen den Positionen bei jeder Zeitverzögerung enthalten.

    Weitere Informationen zu Werkzeugausgaben

  • Verwenden Sie den Parameter Räumliche Nachbarn in Berechnungen einbeziehen, um die Kreuzkorrelationen unter Verwendung von Nachbarschaften an jeder Position zu berechnen. Dies ist dann sinnvoll, wenn sich die Zeitserien nahe gelegener Positionen tendenziell ähnlicher sind als die Zeitserien weiter entfernter Positionen. Bei der Verwendung von Nachbarn ist die Kreuzkorrelation einer Position ein gewichteter Durchschnitt der Korrelationen zwischen der primären Variable der fokalen Position und der sekundären Variable der einzelnen Nachbarn (einschließlich der Position selbst). Wenn eine Position beispielsweise fünf Nachbarn hat, ist die Kreuzkorrelation der Position ein gewichteter Durchschnitt aus sechs Korrelationen: der Korrelation zwischen der primären Variable der fokalen Position und der sekundären Variable der fokalen Position, der Korrelation zwischen der primären Variable der fokalen Position und der sekundären Variable des ersten Nachbarn, der Korrelation zwischen der primären Variable der fokalen Position und der sekundären Variable des zweiten Nachbarn usw. Mit dem Parameter Methode zur Gewichtung für räumliche Nachbarn werden die Gewichtungen angegeben, die für den gewichteten Durchschnitt verwendet werden.

  • Um die statistische Signifikanz der Kreuzkorrelationen bei jeder Verzögerung zu testen, muss der Parameter Trends filtern und entfernen aktiviert werden. Wenn diese Option aktiviert ist, werden p-Werte und Konfidenzintervalle von 95 Prozent für alle Verzögerungen an allen Positionen berechnet. Außerdem können Signifikanztests nur für paarweise Korrelationen zwischen zwei Zeitserien durchgeführt werden (und nicht für einen gewichteten Durchschnitt mehrerer Korrelationen). Wenn Sie also räumliche Nachbarn in die Berechnungen einbeziehen, enthält nur die Ausgabetabelle mit den paarweisen Korrelationen p-Werte und Konfidenzintervalle. Werden keine Nachbarn einbezogen, so enthalten die Ausgabe-Features und die Ausgabetabelle für verzögerte Korrelationen Felder für den p-Wert und das Konfidenzintervall.

    Vorsicht:

    Die statistischen Signifikanztests werden unabhängig voneinander für jede Zeitverzögerung an jeder Position durchgeführt, und es gibt keine Korrektur für das Verfahren des Multiplen Testens (Multiple Hypothesis Testing). Seien Sie vorsichtig, wenn Sie die Signifikanz eines bestimmten p-Wertes oder Konfidenzintervalls interpretieren.

    Weitere Informationen zum Entfernen von Trends und Filtern der Autokorrelation

  • Dieselbe Analysevariable kann sowohl für die primäre als auch für die sekundäre Analysevariable eingegeben werden (als Autokorrelationsanalyse bezeichnet). Die Ergebnisse können jedoch schwer zu interpretieren sein, da eine Zeitserie immer perfekt mit sich selbst korreliert ist, wenn der Wert der Zeitverzögerung gleich Null (nicht verschoben) ist. Die Ausgabe-Features und Korrelationstabellen enthalten die Korrelationsergebnisse aller Zeitverzögerungen, wobei die Ergebnisse der Zeitverzögerung mit dem Wert Null gefiltert oder abgewählt werden können.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raum-Zeit-Würfel

Der Raum-Zeit-Würfel, der die zu analysierende Variable enthält. Raum-Zeit-Würfel weisen die Dateierweiterung .nc auf und werden von verschiedenen Werkzeugen in der Toolbox "Space Time Pattern Mining" erstellt.

File
Primäre Analysevariable

Die numerische Variable des Raum-Zeit-Würfels, der die Zeitserienwerte der primären Variable enthält.

String
Sekundäre Analysevariable

Die numerische Variable des Raum-Zeit-Würfels, der die Zeitserienwerte der sekundären Analysevariable enthält. Bei der Verwendung von Zeitverzögerungen wird die sekundäre Analysevariable gegenüber der primären Analysevariable verschoben.

String
Ausgabe-Features

Die Ausgabe-Features, die die Kreuzkorrelationen an jeder Position für alle Zeitverzögerungen enthalten. Die Ausgabe enthält auch Felder mit den stärksten Korrelationen (positiv, negativ und absolut) und Felder mit den Korrelationen aller Zeitverzögerungen. Wenn Sie Trends filtern und entfernen und keine Nachbarn verwenden, enthält die Ausgabe Felder mit p-Werten und 95-Prozent-Konfidenzintervallen für alle Kreuzkorrelationen.

Feature Class
Zeitserien-Pop-ups aktivieren
(optional)

Gibt an, ob Zeitseriendiagramme in den Pop-ups der Ausgabe-Features erstellt werden, die die Kreuzkorrelationsergebnisse anzeigen. Zeitserien-Pop-ups werden für Shapefile-Ausgaben nicht unterstützt.

  • Aktiviert: Für die Ausgabe-Features werden Zeitseriendiagramme erstellt.
  • Nicht aktiviert: Es werden keine Zeitseriendiagramme erstellt. Dies ist die Standardeinstellung.
Boolean
Maximale Zeitverzögerung
(optional)

Die maximale Anzahl der Zeitverzögerungen, die zur Verschiebung der sekundären Analysevariable verwendet werden. Die Kreuzkorrelationen werden für jeden Zeitverzögerungswert bis zum maximalen Wert berechnet. Geben Sie auch für negative Zeitverzögerungen einen positiven Wert an. Wenn beispielsweise 10 für diesen Parameter angegeben wird und bei der Zeitverzögerung die sekundäre Variable in beide Richtungen verschoben wird, werden Kreuzkorrelationen für alle Zeitverzögerungen zwischen -10 und 10 berechnet. Wird kein Wert angegeben, wird ein Wert auf der Grundlage der Länge der Zeitserie bestimmt. Geben Sie den Wert 0 an, um nur die unverarbeitete Korrelation zwischen den Zeitserien ohne Zeitverzögerungen zu berechnen.

Long
Verzögerungsrichtung der sekundären Variable
(optional)

Gibt die Richtung der Zeitverzögerung an. Die sekundäre Variable kann auf der Zeitachse vorwärts (relativ zur primären Variable), rückwärts oder in beide Richtungen verschoben werden.

  • Sekundäre Variable in beide Richtungen verschiebenDie sekundäre Variable wird in beide Richtungen verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen -5 und 5 berechnet. Dies ist die Standardeinstellung.
  • Sekundäre Variable zeitlich nach vorne verschiebenDie sekundäre Analysevariable wird zeitlich nach vorne (nach rechts auf der Zeitachse) verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen 0 und 5 berechnet. Diese Option ist angebracht, wenn Änderungen im Wert der sekundären Analysevariable vor den Änderungen in der primären Analysevariable auftreten.
  • Sekundäre Variable zeitlich nach hinten verschiebenDie sekundäre Analysevariable wird zeitlich nach hinten (nach links auf der Zeitachse) verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen -5 und 0 berechnet. Diese Option ist angebracht, wenn Änderungen im Wert der primären Analysevariable vor den Änderungen in der sekundären Analysevariable auftreten.
String
Räumliche Nachbarn in Berechnungen einbeziehen
(optional)

Gibt die Nachbarn um jede Position herum an, die in Berechnungen verwendet werden sollen. Bei der Verwendung von Nachbarn ist die Kreuzkorrelation einer Position der gewichtete Durchschnitt der Korrelationen zwischen der primären Variable der fokalen Position und der sekundären Variable der einzelnen Nachbarn (einschließlich der Position selbst).

  • Keine NachbarnEs werden keine räumlichen Nachbarn in die Berechnungen einbezogen.
  • EntfernungsbandPositionen innerhalb einer angegebenen Entfernung von jeder Position werden als Nachbarn in die Berechnungen einbezogen.
  • Nächste Nachbarn (K)Eine bestimmte Anzahl der nächstgelegenen Positionen wird als Nachbarn in die Berechnungen einbezogen.
  • Nur benachbarte KantenPolygone, die eine gemeinsame Kante haben, werden als Nachbarn einbezogen (Rook Contiguity).
  • Benachbarte Kanten/EckenPolygone, die eine gemeinsame Kante oder Ecke haben, werden als Nachbarn einbezogen (Queen Contiguity).
String
Anzahl der räumlichen Nachbarn
(optional)

Die Anzahl der nächstgelegenen Positionen, die als Nachbarn in die Berechnungen einbezogen werden.

Long
Entfernungsband
(optional)

Alle Positionen innerhalb dieser Entfernung werden als Nachbarn einbezogen. Wird kein Wert bereitgestellt, wird er während der Verarbeitung geschätzt und als Geoverarbeitungsmeldung einbezogen. Wenn die angegebene Distanz zu mehr als 1.000 Nachbarn führt, werden nur die 1.000 nächstgelegenen Positionen als Nachbarn einbezogen. Bei Polygonen wird zur Bestimmung der Nachbarn die Entfernung zwischen Schwerpunkten verwendet.

Linear Unit
Methode zur Gewichtung für räumliche Nachbarn
(optional)

Gibt das Gewichtungsschema an, das bei der Berechnung der Korrelationen auf räumliche Nachbarn angewendet wird. Die Gewichtungen werden bei der Berechnung des gewichteten Durchschnitts der Korrelation zwischen dem fokalen Feature und jedem Nachbarn verwendet.

  • Gleiche GewichtungenJeder Nachbar erhält die gleiche Gewichtung (ungewichtet). Dies ist die Standardeinstellung.
  • Biquadrat-KernelNachbarn werden mit einem Biquadrat-Kernel gewichtet.
  • Gauß-KernelNachbarn werden mit einem Gauß'schen Kernel gewichtet.
String
Trend filtern und entfernen
(optional)

Gibt an, ob Trends, saisonale Schwankungen und die Autokorrelation aus der primären Analysevariable entfernt und zum Filtern der sekundären Analysevariable verwendet werden sollen.

  • Aktiviert: Trends, saisonale Schwankungen und die Autokorrelation werden entfernt.
  • Deaktiviert: Die Werte der Zeitserie werden nicht geändert. Dies ist die Standardeinstellung.
Boolean
Ausgabetabelle für verzögerte Korrelationen
(optional)

Eine Tabelle mit den Korrelationen für jede Zeitverzögerung an jeder Position.

Table
Ausgabetabelle für paarweise Korrelationen
(optional)

Eine Tabelle mit den paarweisen Korrelationen zwischen jeder Position und jedem Nachbarn bei allen Zeitverzögerungen.

Table

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Layer-Gruppe

Ein Gruppen-Layer der Ausgabe-Layer.

Group Layer

arcpy.stpm.TimeSeriesCrossCorrelation(in_cube, analysis_variable_1, analysis_variable_2, output_features, {enable_pop_ups}, {max_lag}, {lag_direction}, {neighborhood_type}, {num_nbrs}, {distance_band}, {spatial_weights}, {filter_option}, {out_corr_table}, {out_pair_table})
NameErläuterungDatentyp
in_cube

Der Raum-Zeit-Würfel, der die zu analysierende Variable enthält. Raum-Zeit-Würfel weisen die Dateierweiterung .nc auf und werden von verschiedenen Werkzeugen in der Toolbox "Space Time Pattern Mining" erstellt.

File
analysis_variable_1

Die numerische Variable des Raum-Zeit-Würfels, der die Zeitserienwerte der primären Variable enthält.

String
analysis_variable_2

Die numerische Variable des Raum-Zeit-Würfels, der die Zeitserienwerte der sekundären Analysevariable enthält. Bei der Verwendung von Zeitverzögerungen wird die sekundäre Analysevariable gegenüber der primären Analysevariable verschoben.

String
output_features

Die Ausgabe-Features, die die Kreuzkorrelationen an jeder Position für alle Zeitverzögerungen enthalten. Die Ausgabe enthält auch Felder mit den stärksten Korrelationen (positiv, negativ und absolut) und Felder mit den Korrelationen aller Zeitverzögerungen. Wenn Sie Trends filtern und entfernen und keine Nachbarn verwenden, enthält die Ausgabe Felder mit p-Werten und 95-Prozent-Konfidenzintervallen für alle Kreuzkorrelationen.

Feature Class
enable_pop_ups
(optional)

Gibt an, ob Zeitseriendiagramme in den Pop-ups der Ausgabe-Features erstellt werden, die die Kreuzkorrelationsergebnisse anzeigen. Zeitserien-Pop-ups werden für Shapefile-Ausgaben nicht unterstützt.

  • CREATE_POPUPFür die Ausgabe-Features werden Zeitseriendiagramme erstellt.
  • NO_POPUPEs werden keine Zeitseriendiagramme erstellt. Dies ist die Standardeinstellung.
Boolean
max_lag
(optional)

Die maximale Anzahl der Zeitverzögerungen, die zur Verschiebung der sekundären Analysevariable verwendet werden. Die Kreuzkorrelationen werden für jeden Zeitverzögerungswert bis zum maximalen Wert berechnet. Geben Sie auch für negative Zeitverzögerungen einen positiven Wert an. Wenn beispielsweise 10 für diesen Parameter angegeben wird und bei der Zeitverzögerung die sekundäre Variable in beide Richtungen verschoben wird, werden Kreuzkorrelationen für alle Zeitverzögerungen zwischen -10 und 10 berechnet. Wird kein Wert angegeben, wird ein Wert auf der Grundlage der Länge der Zeitserie bestimmt. Geben Sie den Wert 0 an, um nur die unverarbeitete Korrelation zwischen den Zeitserien ohne Zeitverzögerungen zu berechnen.

Long
lag_direction
(optional)

Gibt die Richtung der Zeitverzögerung an. Die sekundäre Variable kann auf der Zeitachse vorwärts (relativ zur primären Variable), rückwärts oder in beide Richtungen verschoben werden.

  • BOTHDie sekundäre Variable wird in beide Richtungen verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen -5 und 5 berechnet. Dies ist die Standardeinstellung.
  • FORWARDDie sekundäre Analysevariable wird zeitlich nach vorne (nach rechts auf der Zeitachse) verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen 0 und 5 berechnet. Diese Option ist angebracht, wenn Änderungen im Wert der sekundären Analysevariable vor den Änderungen in der primären Analysevariable auftreten.
  • BACKWARDDie sekundäre Analysevariable wird zeitlich nach hinten (nach links auf der Zeitachse) verschoben. Beträgt die maximale Zeitverzögerung beispielsweise 5, werden die Korrelationen für alle Zeitverzögerungen zwischen -5 und 0 berechnet. Diese Option ist angebracht, wenn Änderungen im Wert der primären Analysevariable vor den Änderungen in der sekundären Analysevariable auftreten.
String
neighborhood_type
(optional)

Gibt die Nachbarn um jede Position herum an, die in Berechnungen verwendet werden sollen. Bei der Verwendung von Nachbarn ist die Kreuzkorrelation einer Position der gewichtete Durchschnitt der Korrelationen zwischen der primären Variable der fokalen Position und der sekundären Variable der einzelnen Nachbarn (einschließlich der Position selbst).

  • NO_NBRSEs werden keine räumlichen Nachbarn in die Berechnungen einbezogen.
  • FIXED_DISTANCEPositionen innerhalb einer angegebenen Entfernung von jeder Position werden als Nachbarn in die Berechnungen einbezogen.
  • K_NEAREST_NEIGHBORSEine bestimmte Anzahl der nächstgelegenen Positionen wird als Nachbarn in die Berechnungen einbezogen.
  • CONTIGUITY_EDGES_ONLYPolygone, die eine gemeinsame Kante haben, werden als Nachbarn einbezogen (Rook Contiguity).
  • CONTIGUITY_EDGES_CORNERSPolygone, die eine gemeinsame Kante oder Ecke haben, werden als Nachbarn einbezogen (Queen Contiguity).
String
num_nbrs
(optional)

Die Anzahl der nächstgelegenen Positionen, die als Nachbarn in die Berechnungen einbezogen werden.

Long
distance_band
(optional)

Alle Positionen innerhalb dieser Entfernung werden als Nachbarn einbezogen. Wird kein Wert bereitgestellt, wird er während der Verarbeitung geschätzt und als Geoverarbeitungsmeldung einbezogen. Wenn die angegebene Distanz zu mehr als 1.000 Nachbarn führt, werden nur die 1.000 nächstgelegenen Positionen als Nachbarn einbezogen. Bei Polygonen wird zur Bestimmung der Nachbarn die Entfernung zwischen Schwerpunkten verwendet.

Linear Unit
spatial_weights
(optional)

Gibt das Gewichtungsschema an, das bei der Berechnung der Korrelationen auf räumliche Nachbarn angewendet wird. Die Gewichtungen werden bei der Berechnung des gewichteten Durchschnitts der Korrelation zwischen dem fokalen Feature und jedem Nachbarn verwendet.

  • EQUALJeder Nachbar erhält die gleiche Gewichtung (ungewichtet). Dies ist die Standardeinstellung.
  • BISQUARENachbarn werden mit einem Biquadrat-Kernel gewichtet.
  • GAUSSIANNachbarn werden mit einem Gauß'schen Kernel gewichtet.
String
filter_option
(optional)

Gibt an, ob Trends, saisonale Schwankungen und die Autokorrelation aus der primären Analysevariable entfernt und zum Filtern der sekundären Analysevariable verwendet werden sollen.

  • FILTERTrends, saisonale Schwankungen und die Autokorrelation werden entfernt.
  • NO_FILTERDie Werte der Zeitserie werden nicht geändert. Dies ist die Standardeinstellung.
Boolean
out_corr_table
(optional)

Eine Tabelle mit den Korrelationen für jede Zeitverzögerung an jeder Position.

Table
out_pair_table
(optional)

Eine Tabelle mit den paarweisen Korrelationen zwischen jeder Position und jedem Nachbarn bei allen Zeitverzögerungen.

Table

Abgeleitete Ausgabe

NameErläuterungDatentyp
output_layer_group

Ein Gruppen-Layer der Ausgabe-Layer.

Group Layer

Codebeispiel

TimeSeriesCrossCorrelation: Beispiel 1 (Python-Fenster)

Das folgende Python-Skript veranschaulicht, wie die Funktion TimeSeriesCrossCorrelation verwendet wird.

import arcpy
arcpy.stpm.TimeSeriesCrossCorrelation(
    in_cube=r"c:\data\Sales.nc",
    analysis_variable_1="MARKETING",
    analysis_variable_2="REVENUE",
    output_features=r"CrossCorrResults",
    enable_pop_ups="NO_POPUP",
    max_lag=10,
    lag_direction="BOTH",
    neighborhood_type="K_NEAREST_NEIGHBORS",
    num_nbrs=8,
    distance_band=None,
    spatial_weights="EQUAL",
    filter_option="FILTER",
    out_corr_table=r"LagCorrTable",
    out_pair_table=r"PairCorrTable"
)
TimeSeriesCrossCorrelation: Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie die Funktion TimeSeriesCrossCorrelation verwendet wird.

# Estimate the time lag between infection and 
# hospitalization for seasonal influenza.

# Import required modules.
import arcpy

# Set the workspace.
arcpy.env.workspace = "c:/data/data.gdb"

# Run Time Series Cross Correlation
# Use neighbors and calculate p-values
try:
    arcpy.stats.CausalInferenceAnalysis(
        in_cube=r"c:\data\FluData.nc",
        analysis_variable_1="FLU_CASES",
        analysis_variable_2="HOSPITALIZATIONS",
        output_features=r"CrossCorrResults",
        enable_pop_ups="POPUP",
        max_lag=10,
        lag_direction="BOTH",
        neighborhood_type="K_NEAREST_NEIGHBORS",
        num_nbrs=8,
        distance_band=None,
        spatial_weights="BISQUARE",
        filter_option="FILTER",
        out_corr_table=r"LagCorrTable",
        out_pair_table=r"PairCorrTable"
    )
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen