欠損値の補完 (Fill Missing Values) (時空間パターン マイニング)

サマリー

空間近傍、時空間近傍、または時系列の値に基づいて欠損 (NULL) 値を推定値に置き換えます。

欠損値の補完 (Fill Missing Values) ツールの詳細

欠損値の補完 (Fill Missing Values) ツールの例

使用法

  • [入力フィーチャ] 値として、ポイントまたはポリゴンを指定できます。

  • 結果の出力には、[補完するフィールド] パラメーターの各フィールドごとに 3 つのフィールドが含まれます。 1 つ目のフィールドには元の値と補完値が格納され、2 つ目のフィールドには、値が推定されたことを示すインジケーターが格納されます。 推定フィールドでは元のフィールド名が維持されますが、次の命名規則を使用してフィールド エイリアスが作成されます。<field>_FILLED および <field>_ESTIMATED 3 つ目のフィールドは、各推定値の計算に使用される近傍数フィールド <field>_ N_NEIGHBORS です。

  • 出力には、ターゲットの欠損値の計算に使用される近傍数と近傍値の範囲の理解に役立つ値が格納されるフィールドも含まれます。 [補完方法] パラメーターが [平均] オプションに設定されている場合は、計算に使用された近傍の標準偏差 (<field>_STD) が報告されます。 [最小] オプションの場合は最大近傍値が、[最大] オプションの場合は最小近傍値が報告されます。 [補完方法] パラメーターが [中央値] オプションに設定されている場合は、近傍の平均絶対偏差が報告されます。 欠損値が [時系列的トレンド] オプションを使用して補完される場合、フィールドにはスプラインの二乗残差の合計が格納されます。 NNBRS フィールドには、推定値の計算に使用される近傍数が含まれています。

  • NULL 値が含まれていないフィールドを挿入できます。 これらのフィールドは出力にコピーされますが、出力 (<field>_FILLED<field>_ESTIMATED など) 内で追加フィールドに関連付けられることはありません。 別の方法として、出力に追加される [一意の ID] パラメーターの値を指定できます。この値は、結果を再び [入力フィーチャクラス] 値に結合するために使用できます。

  • フィールド NUM_EST (リレート テーブルを使用している場合は TOT_EST) は、関連付けられたレコードについて推定された変数の総数を示します。 このフィールドは出力マップのレンダリングに使用されます。

  • [入力フィーチャにフィールドを追加] パラメーターを使用して、追加フィールドを入力フィーチャクラスに追加することができます。 これらのフィールドを追加した場合、リレート テーブルを指定することはできません。

  • このツールは、反復形状として保存されたか、リレート テーブルとともに保存されたパネル データで使用できます。 [ロケーション ID] パラメーターに値が指定されている場合、このツールは、入力がパネル データであり、[時間フィールド] パラメーターが必須であることを認識します。

  • [ロケーション ID] 値は整数フィールドで、一意の固定された位置を表している必要があります。 時間の経過とともに異なる X,Y 座標を指定してはなりません。

  • [固定距離][隣接エッジのみ]、または [隣接エッジ コーナー] オプションが [空間リレーションシップのコンセプト] パラメーターに選択されている場合は、[距離バンド][時間近傍] パラメーターに値を選択して、時空間ウィンドウをシミュレートできます。

  • [固定距離][隣接エッジのみ]、または [隣接エッジ コーナー] オプションが [空間リレーションシップのコンセプト] パラメーターに選択されている場合は、[空間近傍数] パラメーター値を設定して、近傍の最小数を指定できます。

  • [補完方法] パラメーターの [時系列的トレンド] オプションは、[ロケーション ID][時間フィールド] パラメーターに値が設定されている場合のみ使用できます。

  • [時系列的トレンド] オプションを使用して値を補完する場合、補完対象の NULL 値を含む場所を補完するには、時系列の最初と最後に、値を持つ期間が 2 つずつ存在している必要があります。 この要件のため、最初の 2 つの時間ステップまたは最後の 2 つの時間ステップに存在する NULL は常に、[時系列的トレンド] オプションを使用して埋めることはできません。

  • [時系列的トレンド] オプションでは、SciPy 内挿パッケージ内にある Interpolated Univariate Spline 手法が使用されます。

  • 推定して埋めることができなかった欠損値は、最初にそれらの NULL が存在していた形式で出力に示されます。

  • パネル データの欠落値を空間近傍のみで埋めるときは、[時間近傍] パラメーターを 0 に設定する必要があります。

  • データがパネル データの場合、[時間近傍] パラメーターを使用して時間でフィルターを設定できます。 または、[時間近傍] を 0 に設定すると、空間近傍のみを表示することもできます。

  • 結果として示された補完値を検査して、それらの値が解析で有意であることを確認することが重要です。 たとえば、元のフィールドが整数であるときに、このツールが空間近傍の平均値を使用して補完するように設定された場合は、結果に小数が示されることになります。入力フィールドが個数の場合、これは有意ではない可能性があります。 さらに、[時系列的トレンド] パラメーターに使用される手法に応じて、既存の値がいずれも負ではない場合でも、結果として負の数が取得されることがあります。 補完するフィールドが人口を示す場合、これも有意ではありません。

  • フィールド N_NEIGHBORS は、フィーチャの計算に含まれる近傍数を報告します。 [補完方法] パラメーターが [時系列的トレンド] に設定されている場合、この数は [ロケーション ID] 値の時系列に存在する値の数を示します (たとえば、時系列で 1 つの値のみが欠落している場合は、データセット内の時間ステップ数から 1 を引いた値が報告されます)。 [K 近傍][空間リレーションシップのコンセプト] パラメーター値および [時間近傍] 値を使用している場合、報告される近傍数には、指定したタイム ウィンドウ内に存在するフィーチャの k 近傍が含まれます。

  • ツールの実行中に、補完されるフィールドの分析と特性の詳細を示すメッセージ[ジオプロセシング] ウィンドウの下部に書き込まれます。 このメッセージにアクセスするには、進行状況バーにマウス カーソルを合わせるか、[別ウィンドウに表示] ボタン 別ウィンドウに表示 をクリックするか、[ジオプロセシング] ウィンドウのメッセージ セクションを展開します。 ジオプロセシング履歴を介して、以前に実行した [欠損値の補完 (Fill Missing Values)] ツールのメッセージにアクセスすることもできます。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

補完される NULL 値を含むフィーチャクラス。

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

補完 (推定) 値を含む出力。

[リレート テーブル] パラメーター値が指定されている場合、[出力フィーチャ] には位置ごとの推定値の数が格納され、[出力テーブル] には補完 (推定) 値が格納されます。

Feature Class
補完するフィールド

欠損値 (NULL 値) を含む数値フィールド。

Field
補完方法

適用される計算のタイプを指定します。 [時系列的トレンド] オプションは、[ロケーション ID] と [時間フィールド] パラメーター値が指定されている場合のみ使用できます。

  • 平均 —NULL 値はフィーチャの近傍の平均値に置き換えられます。
  • 最小 —NULL 値はフィーチャの近傍の最小値に置き換えられます。
  • 最大 —NULL 値はフィーチャの近傍の最大値に置き換えられます。
  • 中央値 —NULL 値はフィーチャの近傍の中央値 (並べ替えたときの中央値) に置き換えられます。
  • 時系列トレンド —NULL 値は一意の位置におけるトレンドに基づいて置き換えられます。
String
空間リレーションシップのコンセプト
(オプション)

フィーチャ間の空間リレーションシップをどのよう定義するかを指定します。

  • 固定距離 — 指定された各フィーチャの臨界距離 ([距離バンド] パラメーター値) 内にある隣接フィーチャが計算に含められます。臨界距離外のものはすべて除外されます。
  • K 近傍 — 最も近い K 個のフィーチャが計算に含められます。K は指定した数値パラメーターです。
  • 隣接エッジのみ — 境界またはオーバーラップを共有する隣接ポリゴンだけが、ターゲットのポリゴン フィーチャの計算に影響を与えます。
  • 隣接エッジ コーナー — 境界、ノード、またはオーバーラップを共有するポリゴン フィーチャはターゲットのポリゴン フィーチャの計算に影響を与えます。
  • 空間ウェイトをファイルから取得 — 空間リレーションシップは、指定した空間ウェイト ファイルによって定義されます。 空間ウェイト ファイルへのパスは、[ウェイト マトリックス ファイル] パラメーターに指定します。
String
距離バンド
(オプション)

[空間リレーションシップのコンセプト] パラメーターの [固定距離] オプションのカットオフ距離。 ターゲット フィーチャに対して指定した制限から外れたフィーチャは、そのフィーチャの計算において無視されます。 このパラメーターは、[隣接エッジのみ] オプションや [隣接エッジ コーナー] オプションに対しては使用できません。

Linear Unit
時間近傍
(オプション)

ターゲット フィーチャの計算にどのフィーチャを使用するかを決定する前後の時間間隔。 ターゲット フィーチャのこの間隔に含まれないフィーチャは、そのフィーチャの計算において無視されます。

Time Unit
時間フィールド
(オプション)

データセット内の各レコードのタイムスタンプが格納されるフィールド。 このフィールドは Date タイプである必要があります。

このパラメーターは、[ロケーション ID] パラメーター値が指定されている場合には必須です。

Field
空間近傍数
(オプション)

計算に含まれる最近傍の数。

[空間リレーションシップのコンセプト] パラメーターの [固定距離][隣接エッジのみ]、または [隣接エッジ コーナー] オプションが選択されている場合、この数は、計算に含める近傍の最小数を示します。

Long
ロケーション ID
(オプション)

各位置を示す一意の ID 番号を含む整数フィールド。

このパラメーターは、[入力フィーチャ] パラメーターのフィーチャと [リレート テーブル] パラメーターの行を照合するか、一意のロケーション ID を指定して時間近傍を特定するために使用されます。

Field
リレート テーブル
(オプション)

[入力フィーチャ] パラメーターの各フィーチャの時系列データが格納されるテーブルまたはテーブル ビュー。

Table View
リレート ロケーション ID
(オプション)

リレートのキーとなる [ロケーション ID] パラメーター値が格納されている、[リレート テーブル] パラメーター内の整数フィールド。

Field
空間ウェイト マトリックス ファイル
(オプション)

フィーチャ間の空間リレーションシップ、および潜在的に時系列のリレーションシップを定義するウェイトが含まれたファイルへのパス。

File
ユニーク ID
(オプション)

[入力フィーチャ] パラメーターのレコードごとに異なる値を持つ整数フィールド。 このフィールドは、結果を再び元のデータセットに結合するために使用できます。

Unique ID フィールドがない場合は、整数フィールドを入力フィーチャの属性テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって作成できます。

Field
NULL 値
(オプション)

NULL (欠損) 値を表す値。 値が指定されない場合、<NULL> はジオデータベース フィーチャクラスを表すと見なされます。 シェープファイルの入力では、NULL プレースホルダーの数値は必須です。

Double
出力テーブル
(オプション)

補完 (推定) 値が格納される出力テーブル。

リレート テーブルが指定されている場合、出力テーブルは必須です。

Table
入力フィーチャにフィールドを追加
(オプション)

補完された値のフィールドを入力フィーチャに追加するか、補完された値のフィールドを含む出力フィーチャクラスを作成するかを指定します。 フィールドを追加した場合、リレート テーブルを指定できず、出力座標系の環境は無視されます。

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

Boolean

派生した出力

ラベル説明データ タイプ
更新された入力フィーチャ

補完された値のフィールドを含む更新済みの入力フィーチャ。

Feature Layer

arcpy.stpm.FillMissingValues(in_features, {out_features}, fields_to_fill, fill_method, {conceptualization_of_spatial_relationships}, {distance_band}, {temporal_neighborhood}, {time_field}, {number_of_spatial_neighbors}, {location_id}, {related_table}, {related_location_id}, {weights_matrix_file}, {unique_id}, {null_value}, {out_table}, {append_to_input})
名前説明データ タイプ
in_features

補完される NULL 値を含むフィーチャクラス。

Feature Layer
out_features
(オプション)

補完 (推定) 値を含む出力。

related_table パラメーター値が指定されている場合、out_features には位置ごとの推定値の数が格納され、out_table には補完 (推定) 値が格納されます。

Feature Class
fields_to_fill
[fields_to_fill,...]

欠損値 (NULL 値) を含む数値フィールド。

Field
fill_method

適用される計算のタイプを指定します。 TEMPORAL_TREND オプションは、location_idtime_field パラメーター値が指定されている場合のみ使用できます。

  • AVERAGENULL 値はフィーチャの近傍の平均値に置き換えられます。
  • MINIMUMNULL 値はフィーチャの近傍の最小値に置き換えられます。
  • MAXIMUMNULL 値はフィーチャの近傍の最大値に置き換えられます。
  • MEDIANNULL 値はフィーチャの近傍の中央値 (並べ替えたときの中央値) に置き換えられます。
  • TEMPORAL_TRENDNULL 値は一意の位置におけるトレンドに基づいて置き換えられます。
String
conceptualization_of_spatial_relationships
(オプション)

フィーチャ間の空間リレーションシップをどのよう定義するかを指定します。

  • FIXED_DISTANCE指定された各フィーチャの臨界距離 (distance_band パラメーター値) 内にある隣接フィーチャが計算に含められます。臨界距離外のものはすべて除外されます。
  • K_NEAREST_NEIGHBORS最も近い K 個のフィーチャが計算に含められます。K は指定した数値パラメーターです。
  • CONTIGUITY_EDGES_ONLY境界またはオーバーラップを共有する隣接ポリゴンだけが、ターゲットのポリゴン フィーチャの計算に影響を与えます。
  • CONTIGUITY_EDGES_CORNERS境界、ノード、またはオーバーラップを共有するポリゴン フィーチャはターゲットのポリゴン フィーチャの計算に影響を与えます。
  • GET_SPATIAL_WEIGHTS_FROM_FILE空間リレーションシップは、指定した空間ウェイト ファイルによって定義されます。 空間ウェイト ファイルへのパスは、Weights_Matrix_File パラメーターに指定します。
String
distance_band
(オプション)

conceptualization_of_spatial_relationships パラメーターの FIXED_DISTANCE オプションのカットオフ距離。 ターゲット フィーチャに対して指定した制限から外れたフィーチャは、そのフィーチャの計算において無視されます。 CONTIGUITY_EDGES_ONLY または CONTIGUITY_EDGES_CORNERS オプションでは、このパラメーターを使用できません。

Linear Unit
temporal_neighborhood
(オプション)

ターゲット フィーチャの計算にどのフィーチャを使用するかを決定する前後の時間間隔。 ターゲット フィーチャのこの間隔に含まれないフィーチャは、そのフィーチャの計算において無視されます。

Time Unit
time_field
(オプション)

データセット内の各レコードのタイムスタンプが格納されるフィールド。 このフィールドは Date タイプである必要があります。

このパラメーターは、location_id パラメーター値が指定されている場合には必須です。

Field
number_of_spatial_neighbors
(オプション)

計算に含まれる最近傍の数。

conceptualization_of_spatial_relationships パラメーターの FIXED_DISTANCECONTIGUITY_EDGES_ONLY、または CONTIGUITY_EDGES_CORNERS オプションが選択されている場合、この数は、計算に含める近傍の最小数を示します。

Long
location_id
(オプション)

各位置を示す一意の ID 番号を含む整数フィールド。

このパラメーターは、in_features パラメーターのフィーチャと related_table パラメーターの行を照合するか、一意のロケーション ID を指定して時間近傍を特定するために使用されます。

Field
related_table
(オプション)

in_features パラメーターの各フィーチャの時系列データが格納されるテーブルまたはテーブル ビュー。

Table View
related_location_id
(オプション)

リレートのキーとなる location_id パラメーター値が格納されている、related_table パラメーター内の整数フィールド。

Field
weights_matrix_file
(オプション)

フィーチャ間の空間リレーションシップ、および潜在的に時系列のリレーションシップを定義するウェイトが含まれたファイルへのパス。

File
unique_id
(オプション)

in_features パラメーターのレコードごとに異なる値を持つ整数フィールド。 このフィールドは、結果を再び元のデータセットに結合するために使用できます。

unique_id フィールドがない場合は、整数フィールドをフィーチャクラス テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって作成できます。

Field
null_value
(オプション)

NULL (欠損) 値を表す値。 値が指定されない場合、<NULL> はジオデータベース フィーチャクラスを表すと見なされます。 シェープファイルの入力では、NULL プレースホルダーの数値は必須です。

Double
out_table
(オプション)

補完 (推定) 値が格納される出力テーブル。

リレート テーブルが指定されている場合、出力テーブルは必須です。

Table
append_to_input
(オプション)

補完された値のフィールドを入力フィーチャに追加するか、補完された値のフィールドを含む出力フィーチャクラスを作成するかを指定します。 フィールドを追加した場合、リレート テーブルを指定できず、出力座標系の環境は無視されます。

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

派生した出力

名前説明データ タイプ
updated_features

補完された値のフィールドを含む更新済みの入力フィーチャ。

Feature Layer

コードのサンプル

FillMissingValues (欠損値の補完) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.FillMissingValues_stpm("Chicago_Data", "Chicago_Filled", "COUNT", "AVERAGE",
                             "K_NEAREST_NEIGHBORS", "", "", "", 8)
FillMissingValues (欠損値の補完) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトで、FillMissingValues 関数を使用する方法を示します。

# Fill missing values using a feature set and related table
# Use the results to create a space-time cube from defined locations
# Run Emerging Hot Spot Analysis on the data
# Visualize the results in 3d

# Import system modules
import arcpy

# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables ...
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"

try:
    # Fill missing values in a feature class containing block group polygon shapes and a related table containing the incidents
    # Since some of the values are missing, you will fill them using the temporal trend method.
    arcpy.FillMissingValues_stpm("Chicago_Feature", "Chicago_FilledFeature", "COUNT", "TEMPORAL_TREND", "", "", NoneNone,
                                 "TIME", "", "MYID", "Chicago_Table", "MYID", "", "", "", "Chicago_FilledTable")

    # Create a defined location space-time cube using a related table
    # Using a reference time at the start of the month to force binning fall on month breaks
    # Using temporal aggregation to sum multiple entries into one month
    # Using the method drop location if missing values since you already filled using Fill Missing Values
    arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("Chicago_FilledFeature", r"C:\STPM\Chicago_Cube.nc", "MYID",
                                                   "APPLY_TEMPORAL_AGGREGATION", "TIME", "1 Months", "REFERENCE_TIME",
                                                   "10/1/2015", "", "COUNT SUM DROP_LOCATIONS", "Chicago_FilledTable",
                                                   "MYID")

    # Run an emerging hot spot analysis on the defined locations cube
    # Using contiguity edges so only block groups that bound each other are considered neighbors
    arcpy.EmergingHotSpotAnalysis_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE",
                                       "Chicago_Cube_EmergingHotSpot", "", 1, "",
                                       "CONTIGUITY_EDGES_ONLY")

    # Use Visualize Cube in 3d to see the hot spot results for each time slice
    arcpy.VisualizeSpaceTimeCube3D_stpm(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE", "HOT_AND_COLD_SPOT_RESULTS",
                                        "Chicago_Cube_Visualize3d")

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

関連トピック