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

サマリー

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

欠損値の補完ツールの詳細

欠損値の補完ツールの図

使用法

  • [入力フィーチャまたはテーブル] パラメーター値には、ポイントまたはポリゴン フィーチャ、またはスタンドアロン テーブルを指定できます。

  • 入力フィーチャの場合、欠損値は空間近傍、時空間近傍、または時系列の値を使用して推定できます。 欠損値は、入力フィーチャまたはリレート テーブル内にある可能性があります。 スタンドアロン テーブルの場合、欠損値は入力フィールドのグローバル統計または時系列の値を使用して推定できます。 スタンドアロン テーブルには空間情報がないため、テーブルには空間近傍を定義できません。

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

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

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

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

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

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

  • 入力フィーチャの場合、[ロケーション ID] パラメーターは、入力時空間データの構造に応じてさまざまな方法で使用できます。

    • データがリレート テーブルに格納されている場合 (つまり、時間経過にともなう属性を含むリレート テーブルを持つフィーチャクラスのフィーチャのセットがある場合) で、リレート テーブルの欠損値を補完する場合は、[リレート テーブル] パラメーターを使用できます。 [ロケーション ID] パラメーター値は、入力フィーチャクラスの各フィーチャをリレート テーブルのレコードのセットと照合します。これは、入力フィーチャごとに一意である必要があります。
    • データが (形状またはジオメトリの反復処理によって) 同じフィーチャクラスに格納されている場合、[ロケーション ID] パラメーターは、フィーチャクラス内の一意の各位置を指定します。 たとえば、米国の郡レベルの人口データが 10 年間分ある場合、フィーチャクラス内で各郡が 10 回反復処理され、一意の各郡の位置を指定するために郡 ID が使用されます。 ロケーション ID は、位置ごとに一意である必要がありますが、フィーチャごとに一意である必要はありません。

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

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

  • スタンドアロン テーブルの場合、[ロケーション ID] パラメーターに値が指定されていて、[時間フィールド] パラメーターに値が指定されていない場合、補完対象の NULL 値がある位置と同じロケーション ID を持つレコードを使用して推定値が計算されます。 たとえば、米国の郡レベルのデータがあり、同じ州内のすべての郡の平均を使用して欠損値を補完する場合、州を表すフィールドをロケーション ID として使用できます。

  • [ロケーション ID][時間フィールド] パラメーター値が入力スタンドアロン テーブルの場合、[補完方法] パラメーターの [時系列的トレンド] オプションが使用できます。

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

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

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

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

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

  • パネル データの欠損値を空間近傍で補完するときは、[時間近傍] パラメーターを 0 に設定します。

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

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

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

  • [NULL 値] パラメーターは NULL 値 (欠損値) を表します。 このパラメーターは、入力形式と出力形式に応じてさまざまな方法で使用されます。

    • ジオデータベース フィーチャクラスまたはテーブルでは、[NULL 値] パラメーターに値が指定されていない場合、<NULL> は NULL 値 (欠損値) と見なされます。 値が指定されている場合、その値と <NULL> の値がツールの出力で推定されます。
    • シェープファイルまたは dBASE テーブルでは、[NULL 値] パラメーターは必須です。 入力データの NULL または欠損値を表す値を指定する必要があります (例: -9999)。
    • 入力がファイル ジオデータベース フィーチャクラスまたはテーブルで、出力がシェープファイルまたは dBASE テーブルの場合、推定できない欠損値をツール出力で表現する方法を指定するために、このパラメーターは必須です。

  • 推定して補完できない欠損値は、最初にそれらの NULL が存在していた形式、または [NULL 値] パラメーターで指定された形式で出力に示されます。

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

パラメーター

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

補完される NULL 値を含むポイントまたはポリゴン フィーチャクラス、またはスタンドアロン テーブル。

[リレート テーブル] パラメーター値を指定した場合、補完される NULL 値はリレート テーブルに格納されます。 入力フィーチャは、時空間近傍を指定するためにリレート テーブルの行と照合されます。

Table View
出力フィーチャまたはテーブル
(オプション)

補完 (推定) 値を含む出力フィーチャまたはスタンドアロン テーブル。

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

Feature Class; Table
補完するフィールド

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

Field
補完方法

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

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

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

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

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

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

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

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

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

フィーチャ入力の場合、時間フィールドは、欠損値を補完するときの時間近傍を定義します。 リレート テーブルを指定した場合、値を入力する必要があります。

フィーチャおよびテーブル入力の場合、その位置で時系列的トレンドを使用して欠損値を補完するときに、時間フィールドが使用されます。

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

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

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

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

各位置を示すユニーク ID を含む整数またはテキスト フィールド。

リレート テーブルが指定されている場合、このフィールドは、各入力フィーチャをリレート テーブルの行と照合するために使用されます。このフィールドの値は、入力フィーチャごとに一意である必要があります。 リレート テーブルが指定されていない場合、このフィールドは、入力フィーチャ内の一意の各位置を指定して時間近傍を決定するために使用されます。 この場合、このフィールドの値は位置ごとに一意である必要がありますが、フィーチャごとに一意である必要はありません (複数のフィーチャが同じ位置である可能性があります)。

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

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

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

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

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

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

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

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

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

Field
NULL 値
(オプション)

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

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

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

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

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

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

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

Boolean

派生した出力

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

補完値フィールドを含む更新済みの入力フィーチャまたはテーブル。

Table View

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 値を含むポイントまたはポリゴン フィーチャクラス、またはスタンドアロン テーブル。

related_table パラメーター値を指定した場合、補完される NULL 値はリレート テーブルに格納されます。 入力フィーチャは、時空間近傍を指定するためにリレート テーブルの行と照合されます。

Table View
out_features
(オプション)

補完 (推定) 値を含む出力フィーチャまたはスタンドアロン テーブル。

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

Feature Class; Table
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_ONLYCONTIGUITY_EDGES_CORNERS オプションに対しては使用できません。

Linear Unit
temporal_neighborhood
(オプション)

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

Time Unit
time_field
(オプション)

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

フィーチャ入力の場合、時間フィールドは、欠損値を補完するときの時間近傍を定義します。 リレート テーブルを指定した場合、値を入力する必要があります。

フィーチャおよびテーブル入力の場合、その位置で時系列的トレンドを使用して欠損値を補完するときに、時間フィールドが使用されます。

Field
number_of_spatial_neighbors
(オプション)

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

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

Long
location_id
(オプション)

各位置を示すユニーク 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> 値が補完されます。 入力または出力がシェープファイルまたは dBASE テーブルの場合、NULL プレースホルダーの数値は必須です。

Double
out_table
(オプション)

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

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

Table
append_to_input
(オプション)

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

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

派生した出力

名前説明データ タイプ
updated_features

補完値フィールドを含む更新済みの入力フィーチャまたはテーブル。

Table View

コードのサンプル

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

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

import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.stpm.FillMissingValues("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 overwriteOutput 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.stpm.FillMissingValues(
            "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.stpm.CreateSpaceTimeCubeDefinedLocations(
            "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.stpm.EmergingHotSpotAnalysis(
            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.stpm.VisualizeSpaceTimeCube3D(
            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())