Zusammenfassung
Partitioniert eine Sammlung von Zeitserien, die in einem Raum-Zeit-Würfel gespeichert ist, anhand der Ähnlichkeit von Zeitserieneigenschaften. Zeitserien können anhand folgender drei Kriterien gruppiert werden: ob sie im Zeitverlauf ähnliche Werte aufweisen, tendenziell gleichzeitig größer oder kleiner werden oder ähnliche Wiederholungsmuster aufweisen. Die Ausgabe dieses Werkzeugs ist eine 2D-Karte, in der jede Position im Würfel symbolisiert durch Cluster-Mitgliedschaft und Meldungen angezeigt wird. Darüber hinaus enthält die Ausgabe Diagramme mit Informationen zur repräsentativen Zeitseriensignatur für jeden Cluster.
Weitere Informationen zur Funktionsweise des Werkzeugs Zeitserien-Cluster-Bildung
Abbildung
Verwendung
Dieses Werkzeug akzeptiert netCDF-Dateien, die mit dem Werkzeug Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, mit dem Werkzeug Raum-Zeit-Würfel aus definierten Features erstellen und mit dem Werkzeug Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen erstellt wurden.
Dieses Werkzeug vergleicht die Zeitserie an jeder Position mit allen anderen Positionen im Eingabe-Raum-Zeit-Würfel, und die Zeitserien werden anhand ihrer Ähnlichkeit gruppiert. Der Parameter Interesseneigenschaft legt die Bedeutung der Ähnlichkeit zweier Zeitserien fest. Sie können die Ähnlichkeit anhand einer der folgenden Eigenschaften definieren:
- Wert: Zeitserien sind ähnlich, wenn ihre Analysevariablen im Zeitverlauf nahezu ähnliche Werte aufweisen. Beispiel: Eine Zeitserie mit den Werten (1, 0, 1, 0, 1) weist eine größere Ähnlichkeit zu einer Zeitserie mit dem Werten (1, 1, 1, 1, 1) als zu einer Zeitserie mit den Werten (10, 0, 10, 0, 10) auf, da ihre Werte einander ähnlicher sind.
- Profil (Korrelation): Zeitserien sind ähnlich, wenn ihre Werte tendenziell gleichzeitig größer oder kleiner werden und nahezu proportional sind (also im Zeitverlauf miteinander korrelieren). Beispiel: Eine Zeitserie mit den Werten (1, 0, 1, 0, 1) weist eine größere Ähnlichkeit zu einer Zeitserie mit den Werten (10, 0, 10, 0, 10) als zu einer Zeitserie mit den Werten (1, 1, 1, 1, 1) auf, weil die Werte gleichzeitig und proportional größer und kleiner werden.
- Profil (Fourier): Zeitserien sind ähnlich, wenn ihre Werte im Zeitverlauf ähnliche geglättete periodische Muster aufweisen. Solche Perioden werden auch als Zyklen oder Saisons bezeichnet; sie stehen für die Dauer eines sich in einer neuen Periode wiederholenden Musters. Beispiel: Sich wöchentlich (von Montag bis Freitag) wiederholende Muster im Umsatzverlauf eines Unternehmens. Mit dem Parameter Zu ignorierende Zeitserieneigenschaften können Sie bei Bedarf bestimmte Eigenschaften dieser Muster ignorieren. Die sich wiederholenden Muster werden mittels funktionaler Datenanalyse mit einer Fourier-Familie erkannt. Damit diese Option möglichst wirkungsvoll ist, sollte sich die Zeitserie Ihres Eingabe-Raum-Zeit-Würfels über die gesamte Dauer mindestens einer Periode erstrecken. Wenn die Periode für Temperaturmessungen beispielsweise ein Jahr beträgt und die Temperaturen jahreszeitlichen Schwankungen unterliegen, die Daten aber aus wenigen Monaten eines einzigen Jahres stammen, wird der Jahreszeitraum von dieser Option möglicherweise nicht erkannt.
Anhand der Definition von Ähnlichkeit werden mit einem der Algorithmen für die Cluster-Bildung Cluster der Positionen des Raum-Zeit-Würfels gebildet. Dabei werden die endgültigen Cluster erstellt, die vom Werkzeug zurückgegeben werden. Weitere Informationen zu den Algorithmen für die Cluster-Bildung finden Sie unter Funktionsweise von "Zeitserien-Cluster-Bildung".
Die Ausgabe-Features werden dem Bereich Inhalt hinzugefügt, wobei das Rendering auf dem Feld CLUSTER_ID basiert und angegeben wird, in welchen Cluster die einzelnen Positionen fallen. Wenn Sie beispielsweise drei zu erstellende Cluster angeben, enthält jeder Datensatz im Feld CLUSTER_ID den Wert 1, 2 oder 3. Das Feld CENTER_REP identifiziert den Zeitserien-Medoid pro Cluster. Für die Medoid-Zeitserie pro Cluster enthält es den Wert 1 und für alle anderen Features den Wert 0.
-
Mit diesem Werkzeug werden Meldungen und optionale Diagramme erstellt, mit denen Sie die Merkmale der identifizierten Cluster leichter verstehen können. Sie können auf diese Meldungen zugreifen, indem Sie mit der Maus auf die Fortschrittsleiste zeigen, auf die Pop-out-Schaltfläche klicken oder den Abschnitt "Meldungen" im Bereich Geoverarbeitung erweitern. Sie können auch über den Geoverarbeitungsverlauf auf die Meldungen für eine vorherige Ausführung des Werkzeugs Zeitserien-Cluster-Bildung zugreifen. Wenn Sie eine Ausgabetabelle für Diagramme angeben, werden Diagramme für die Ausgabetabelle erstellt; diese enthalten die durchschnittliche Zeitserie pro Cluster und das Medoid der Zeitserie pro Cluster. Auf diese Diagramme können Sie im Bereich Inhalt unter der im Abschnitt Standalone-Tabelle erstellten Tabelle zugreifen. Weitere Informationen zu den ausgegebenen Meldungen und Diagrammen finden Sie unter Verwendung der Zeitserien-Cluster-Bildung.
-
Manchmal ist Ihnen die Anzahl der Cluster, die sich für Ihre Daten am besten eignet, bekannt. Wenn dem nicht so ist, müssen Sie möglicherweise verschiedene Werte für die Anzahl der Cluster ausprobieren, um herauszufinden, welche Werte die beste Unterscheidung zwischen Clustern ermöglichen. Wenn Sie den Parameter Anzahl der Cluster leer lassen, wertet das Werkzeug die optimale Anzahl der Cluster anhand der Pseudo-F-Statistik aus und gibt die optimale Cluster-Anzahl als Geoverarbeitungsnachricht an. Je größer die Pseudo-F-Statistik, desto stärker unterscheidet sich ein Cluster von den anderen. Die optimale Cluster-Anzahl beträgt maximal 10, wobei ihre Berechnung einen Großteil der Ausführungszeit des Werkzeugs in Anspruch nimmt. Wenn Sie den ungefähren Wert kennen oder die Ausführungszeit des Werkzeugs zu lang ist, empfiehlt es sich daher, eine Cluster-Anzahl anzugeben.
Um die optimale Cluster-Anzahl zu berechnen, probiert das Tool 2 bis 10 Cluster aus. Für jede dieser 9 Möglichkeiten führt das Werkzeug anhand von zufälligen Anfangswerten 10 Gruppierungen durch (außer wenn Profil (Korrelation) mit mehr als 10.000 Positionen im Raum-Zeit-Würfel verwendet wird; in diesem Fall wird jede Anzahl an Nachbarn 20-mal wiederholt). Daraus ergeben sich 90 (bzw. 180) mögliche Varianten für die Cluster-Bildung (10 bzw. 20 für jede der 9 Möglichkeiten), wobei diejenige mit der größten Pseudo-F-Statistik als endgültige Cluster-Anzahl zur Verwendung im Werkzeug ausgewählt wird. Die größte Pseudo-F-Statistik für jede der 9 möglichen Cluster-Anzahlen wird als Tabelle in die Geoverarbeitungsnachrichten geschrieben.
Hinweis:
Eine unendliche Pseudo-F-Statistik bedeutet, dass alle Zeitserien in einem Cluster identisch sind.
-
Die Cluster-ID, die einer Position zugewiesen ist, kann sich bei einzelnen Ausführungen unterscheiden, da die Anfangswerte für den Beginn der Cluster-Erstellung vom Algorithmus nach dem Zufallsprinzip ausgewählt werden. Angenommen, Sie unterteilen Positionen basierend auf dem jährlichen Bevölkerungswachstum in zwei Cluster. Wenn Sie die Analyse das erste Mal ausführen, kann es sein, dass die Features für hohes Wachstum mit Cluster 2 und die Features für niedriges Wachstum mit Cluster 1 bezeichnet werden. Wenn Sie dieselbe Analyse ein weiteres Mal ausführen, werden die Features für hohes Wachstum möglicherweise mit Cluster 1 bezeichnet. Eventuell stellen Sie fest, dass einige Positionen mit durchschnittlichem oder mittlerem Wachstum einem anderen Cluster angehören als zuvor. Der Grund hierfür ist eine zufällige Komponente im Algorithmus der Cluster-Bildung. Wenn die Ergebnisse der Cluster-Bildung sich nach einer erneuten Ausführung des Werkzeugs mit denselben Parametern erheblich unterscheiden, sollten Sie den Wert für den Parameter Anzahl der Cluster ändern.
Syntax
arcpy.stpm.TimeSeriesClustering(in_cube, analysis_variable, output_features, characteristic_of_interest, {cluster_count}, {output_table_for_charts}, {shape_characteristic_to_ignore}, {enable_time_series_popups})
Parameter | Erklärung | Datentyp |
in_cube | Der zu analysierende netCDF-Würfel. Diese Datei muss eine .nc-Erweiterung aufweisen und mit dem Werkzeug Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, Raum-Zeit-Würfel aus definierten Features erstellen oder Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen erstellt worden sein. | File |
analysis_variable | Die numerische Variable in der netCDF-Datei mit zeitbedingten Änderungen, über die ein Cluster von einem anderen unterschieden wird. | String |
output_features | Die neue Ausgabe-Feature-Class mit allen Positionen im Raum-Zeit-Würfel und einem Feld, das die Cluster-Mitgliedschaft angibt. Die Feature-Class ist eine zweidimensionale Darstellung der Cluster in den Daten. | Feature Class |
characteristic_of_interest | Gibt die Eigenschaft der Zeitserie an, die die zu clusternden Positionen bestimmt.
| String |
cluster_count (optional) | Die Anzahl der zu erstellenden Cluster. Wenn kein Wert angegeben ist, wertet das Werkzeug die optimale Anzahl von Clustern mit einer Pseudo-F-Statistik aus. Die optimale Anzahl der Cluster wird im Meldungsfenster angezeigt. | Long |
output_table_for_charts (optional) | Falls angegeben, enthält diese Tabelle die repräsentative Zeitserie für jeden Cluster, basierend auf dem Durchschnitt für jeden Zeitserien-Cluster und der Medoid-Zeitserie. Auf Diagramme, die über diese Tabelle erstellt werden, können Sie im Abschnitt Standalone-Tabellen zugreifen. | Table |
shape_characteristic_to_ignore [shape_characteristic_to_ignore,...] (optional) | Gibt die Eigenschaften an, die bei der Bestimmung der Ähnlichkeit zwischen zwei Zeitserien ignoriert werden.
Werden beide Eigenschaften ignoriert, gelten die beiden Zeitserien als ähnlich, wenn die Periodendauern ähnlich sind, auch wenn sie zu unterschiedlichen Zeiten beginnen und verschiedene Werte in den Perioden aufweisen. | String |
enable_time_series_popups (optional) | Gibt an, ob Zeitseriendiagramme in den Pop-ups der Ausgabe-Features erstellt werden, die die Zeitserie des Features und die durchschnittliche Zeitserie aller Features im selben Cluster wie das Feature anzeigen. Zeitserien-Pop-ups werden für Shapefile-Ausgaben nicht unterstützt.
| Boolean |
Codebeispiel
Das folgende Python-Skript veranschaulicht die Verwendung des Werkzeugs TimeSeriesClustering:
import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Value
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Value_3Clusts",
"VALUE", 3, "Temp_Value_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - correlation
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temp_Profile_3Clusts", "PROFILE", 3,
r"Temp_Profile_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - Fourier
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Fourier_3Clusts",
"PROFILE_FOURIER", 3, r"Temp_Fourier_3Clusts_Chart",
"TIME_LAG", "CREATE_POPUP")
Das folgende Python-Skript veranschaulicht, wie Sie das Werkzeug TimeSeriesClustering zum Gruppieren ähnlicher Ladenstandorte verwenden:
# Create clusters of store locations with similar sales volumes over time.
# Import system modules.
import arcpy
# Set property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True
# Set workspace...
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Create 3 clusters of location with similar extent of fluctuation in temperature.
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temperature_TSC",
"PROFILE_FOURIER", 3, "Temp_Chart", None,
"CREATE_POPUP")
# Create a feature class containing all the bins in the input space time cube.
arcpy.stpm.VisualizeSpaceTimeCube3D(r"Temperature.nc", "Air_NONE_ZEROS", "VALUE",
r"Temp_Bins.shp")
# Make the bins as a feature layer.
arcpy.MakeFeatureLayer_management("Temp_Bins.shp", "Temp_Bins_Temp_Layer")
# Join the clustering results to the bins so each bin now has a cluster ID.
arcpy.management.AddJoin("Temp_Bins_Temp_Layer", "Location",
r"Analysis.gdb\Temperature_TSC", "Location", "KEEP_ALL")
# Summarize the bins using Summary Statistics with Cluster ID as a case field
# to get the minimum, maximum, and average temperature for each cluster.
arcpy.analysis.Statistics("Temp_Bins_Temp_Layer", "Temp_Bins_Statistics.shp",
"Temp_Bins.VALUE MEAN;Temp_Bins.VALUE MAX;Temp_Bins.VALUE MIN",
"Temperature_TSC.CLUSTER_ID")
Umgebungen
- Zufallszahlengenerator
Der verwendete Zufallsgeneratortyp ist stets Mersenne Twister.
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja