時系列の平滑化 (Time Series Smoothing) (空間統計)

サマリー

中心化移動平均、前方移動平均、後方移動平均、および局所線形回帰分析に基づく適応方法を使用して、1 つまたは複数の時系列の数値変数を平滑化します。 多くの場合、短期的な変動を平滑化することで、長期的な傾向やサイクルを明らかにできます。

時系列の平滑化の詳細

時系列の平滑化ツールの図
時系列の値を平滑化します。

使用法

  • [フィールドを入力データに追加] パラメーターを使用して、平滑化された値のフィールドを入力フィーチャまたはテーブルに追加することができます。 フィールドを入力に追加した場合、出力座標系の環境は無視されます。 入力フィーチャかテーブルに結合フィールドがある場合、入力データは追加できず、新しい出力を作成する必要があります。

  • [時間フィールド] パラメーターでは、各入力レコードの時間を指定します。 同じ時系列において、同じ時間に複数の値を含めることはできません。

  • [分析フィールド] パラメーターでは、平滑化する値を指定します。 分析フィールドの値を平滑化する場合、タイム ウィンドウ内の非 NULL 値のみが使用されます。 分析フィールドのすべての値がタイム ウィンドウ内で NULL の場合、平滑化された値は NULL になります。

  • 複数の時系列を指定するには、[グループ化の方法] パラメーターを使用します。 同じ場所にあるすべての値を同じ時系列にグループ化したり、ID フィールドを使用して値をグループ化したり、(場所に関係なく) すべての値を同じ時系列にグループ化したりできます。 値をグループ化する場合、各グループ内でスムージングを実施できるよう、すべてのグループに異なる時刻を持つ複数のレコードがあることを確認します。

  • うるう年や月の日数のために、[タイム ウィンドウ] パラメーターの単位が年または月の場合、時間値は整数である必要があります。 たとえば、1.5 か月の場合、その月によって異なるタイム ウィンドウになります。 前方および後方移動平均の場合、タイム ウィンドウに任意の正の整数を指定できます。 中心化移動平均および適応帯域幅局所線形回帰分析では、タイム ウィンドウが平滑化されるレコードの両側に分割された場合にそれぞれの側が正の整数になるよう、タイム ウィンドウには正の偶数の整数を指定する必要があります。

  • [時系列ポップアップの有効化] パラメーターがオンになっている場合、時系列ごとにチャートが作成され、各時系列の 1 つ目のフィーチャ レコードにそのチャートが追加されます。 2D マップでは、フィーチャを選択するとポップアップにチャートが表示されます。 3D シーンでは、時系列の 1 つ目のフィーチャを選択するとポップアップにチャートが表示されます。

    注意:

    グループ化の方法が使用される場合、各時系列の最初のフィーチャが、マップ内で最初に描画されるとは限りません。 これらのフィーチャのポップアップにアクセスするには、属性テーブルのレコードを右クリックします。

パラメーター

ラベル説明データ タイプ
入力フィーチャまたはテーブル

時系列データと平滑化するフィールドを含むフィーチャまたはテーブル。

Feature Layer; Table View
時間フィールド

各レコードの時間を含むフィールド。

Field
分析フィールド

平滑化する値を含むフィールド。

Field
グループ化の方法
(オプション)

レコードをさまざまな時系列にグループ化するために使用する方法を指定します。 平滑化は時系列ごとに個別に実行されます。

  • 位置同じ場所にあるフィーチャは、同じ時系列にグループ化されます。 これがデフォルトです。
  • ID フィールドID フィールドの値が同じレコードは、同じ時系列にグループ化されます。
  • なしすべてのレコードが同じ時系列に含まれます。
String
スムージング方法
(オプション)

使用する平滑化方法を指定します。

  • 後方移動平均平滑化された値は、そのレコードとその前のタイム ウィンドウ内の値の平均値となります。 これがデフォルトです。
  • 中心化移動平均平滑化された値は、そのレコードとその前後の値の平均値となります。 タイム ウィンドウの半分はレコードの時間以前、もう半分はレコードの時間以降に使用されます。
  • 前方移動平均平滑化された値は、そのレコードとその後のタイム ウィンドウ内の値の平均値となります。
  • 適応帯域幅局所線形回帰分析平滑化された値は、そのレコードを中心とした局所線形回帰分析の結果になります。 タイム ウィンドウのサイズは、各レコードに対して最適化されます。
String
タイム ウィンドウ
(オプション)

タイム ウィンドウの長さ。 値は、秒、分、時間、日、週、月、または年単位で指定できます。 後方移動平均、前方移動平均、中心化移動平均の場合は、値と単位を指定する必要があります。 適応帯域幅局所線形回帰分析では、値を空のままにでき、各値に対して個別にタイム ウィンドウが推定されます。 タイム ウィンドウの境界上にある値は、タイム ウィンドウに含まれます。 たとえば、日次データがあり、タイム ウィンドウを 4 日に設定して後方移動平均を使用した場合、レコードを平滑化する際に、レコードの値とその前の 4 日間の値の 5 つの値がタイム ウィンドウに含まれます。

Time Unit
フィールドを入力データに追加
(オプション)

出力フィールドを入力データセットに追加するか、新しい出力テーブルまたはフィーチャクラスとして保存するかを指定します。 フィールドを入力に追加した場合、出力座標系の環境は無視されます。

  • オン - 出力フィールドは入力フィーチャに追加されます。 このオプションを実行すると、入力データが変更されます。
  • オフ - 出力フィールドは入力フィーチャに追加されません。 出力フィールドを含む出力テーブルまたはフィーチャクラスが作成されます。 これがデフォルトです。

Boolean
出力フィーチャ
(オプション)

出力フィーチャには、平滑化された値のほか、タイム ウィンドウや近傍数のフィールドが含まれます。

Feature Class; Table
ID フィールド
(オプション)

各時系列の一意の ID を含む整数またはテキスト フィールド。 このフィールドの値が同じレコードはすべて、同じ時系列に含まれます。

Field
開始時と終了時に短縮されたタイム ウィンドウを適用
(オプション)

各時系列の開始時と終了時にタイム ウィンドウを短縮するかどうかを指定します。

  • オン - 時系列の開始時と終了時にタイム ウィンドウを短縮して、時系列の開始前と終了後にタイム ウィンドウが拡大されないようにします。
  • オフ - タイム ウィンドウは短縮されません。 タイム ウィンドウが時系列の開始前または終了後に拡大された場合、平滑化された値は NULL になります。 これがデフォルトです。

Boolean
時系列ポップアップの有効化
(オプション)

時系列の元の値と平滑化された値を示すポップアップ チャートを出力フィーチャまたはテーブルに含めるかどうかを指定します。

  • オン - 出力にポップアップ チャートが含まれます。 これがデフォルトです。
  • オフ - 出力にポップアップ チャートは含まれません。

Boolean

派生した出力

ラベル説明データ タイプ
更新されたフィーチャまたはテーブル

出力フィールドが追加された、更新された入力テーブルまたはフィーチャクラス。

Feature Class, Table

arcpy.stats.TimeSeriesSmoothing(in_features, time_field, analysis_field, {group_method}, {method}, {time_window}, {append_to_input}, {output_features}, {id_field}, {apply_shorter_window}, {enable_time_series_popups})
名前説明データ タイプ
in_features

時系列データと平滑化するフィールドを含むフィーチャまたはテーブル。

Feature Layer; Table View
time_field

各レコードの時間を含むフィールド。

Field
analysis_field

平滑化する値を含むフィールド。

Field
group_method
(オプション)

レコードをさまざまな時系列にグループ化するために使用する方法を指定します。 平滑化は時系列ごとに個別に実行されます。

  • LOCATION同じ場所にあるフィーチャは、同じ時系列にグループ化されます。 これがデフォルトです。
  • ID_FIELDID フィールドの値が同じレコードは、同じ時系列にグループ化されます。
  • NONEすべてのレコードが同じ時系列に含まれます。
String
method
(オプション)

使用する平滑化方法を指定します。

  • BACKWARD平滑化された値は、そのレコードとその前のタイム ウィンドウ内の値の平均値となります。 これがデフォルトです。
  • CENTERED平滑化された値は、そのレコードとその前後の値の平均値となります。 タイム ウィンドウの半分はレコードの時間以前、もう半分はレコードの時間以降に使用されます。
  • FORWARD平滑化された値は、そのレコードとその後のタイム ウィンドウ内の値の平均値となります。
  • ADAPTIVE平滑化された値は、そのレコードを中心とした局所線形回帰分析の結果になります。 タイム ウィンドウのサイズは、各レコードに対して最適化されます。
String
time_window
(オプション)

タイム ウィンドウの長さ。 値は、秒、分、時間、日、週、月、または年単位で指定できます。 後方移動平均、前方移動平均、中心化移動平均の場合は、値と単位を指定する必要があります。 適応帯域幅局所線形回帰分析では、値を空のままにでき、各値に対して個別にタイム ウィンドウが推定されます。 タイム ウィンドウの境界上にある値は、タイム ウィンドウに含まれます。 たとえば、日次データがあり、タイム ウィンドウを 4 日に設定して後方移動平均を使用した場合、レコードを平滑化する際に、レコードの値とその前の 4 日間の値の 5 つの値がタイム ウィンドウに含まれます。

Time Unit
append_to_input
(オプション)

出力フィールドを入力データセットに追加するか、新しい出力テーブルまたはフィーチャクラスとして保存するかを指定します。 フィールドを入力に追加した場合、出力座標系の環境は無視されます。

  • APPEND_TO_INPUT出力フィールドは入力フィーチャに追加されます。 このオプションを実行すると、入力データが変更されます。
  • NEW_OUTPUT出力フィールドは入力フィーチャに追加されません。 出力フィールドを含む出力テーブルまたはフィーチャクラスが作成されます。 これがデフォルトです。
Boolean
output_features
(オプション)

出力フィーチャには、平滑化された値のほか、タイム ウィンドウや近傍数のフィールドが含まれます。

Feature Class; Table
id_field
(オプション)

各時系列の一意の ID を含む整数またはテキスト フィールド。 このフィールドの値が同じレコードはすべて、同じ時系列に含まれます。

Field
apply_shorter_window
(オプション)

各時系列の開始時と終了時にタイム ウィンドウを短縮するかどうかを指定します。

  • APPLY_SHORTER_WINDOW時系列の開始時と終了時にタイム ウィンドウを短縮して、時系列の開始前と終了後にタイム ウィンドウが拡大されないようにします。
  • NOT_APPLY_SHORTER_WINDOWタイム ウィンドウは短縮されません。 タイム ウィンドウが時系列の開始前または終了後に拡大された場合、平滑化された値は NULL になります。 これがデフォルトです。
Boolean
enable_time_series_popups
(オプション)

時系列の元の値と平滑化された値を示すポップアップ チャートを出力フィーチャまたはテーブルに含めるかどうかを指定します。

  • CREATE_POPUP出力にポップアップ チャートが含まれます。 これがデフォルトです。
  • NO_POPUP出力にポップアップ チャートは含まれません。
Boolean

派生した出力

名前説明データ タイプ
updated_features

出力フィールドが追加された、更新された入力テーブルまたはフィーチャクラス。

Feature Class, Table

コードのサンプル

TimeSeriesSmoothing の例 1 (Python ウィンドウ)

次の Python スクリプトは、TimeSeriesSmoothing 関数の使用方法を示しています。

import arcpy
arcpy.stats.TimeSeriesSmoothing("temperature_CA", "START_DATE", "VALUE", 
            "LOCATION", "BACKWARD", "1 Months", "NEW_OUTPUT", "temperature_smoothed", 
            None, "NOT_APPLY_SHORTER_WINDOW", "CREATE_POPUP")
TimeSeriesSmoothing の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、TimeSeriesSmoothing 関数を使用して人口を予測する方法を示します。

import arcpy
arcpy.env.workspace = "C:/Analysis/data.gdb"

# Smooth temperature data using adaptive method by ID Field and revise input 
arcpy.stats.TimeSeriesSmoothing("temperature_CA", "START_DATE", "VALUE", 
            "ID_FIELD", "ADAPTIVE", None, "APPEND_TO_INPUT", None, "FIPS", 
            "NOT_APPLY_SHORTER_WINDOW", "NO_POPUP")