コンポジット インデックスの計算 (Calculate Composite Index) (空間統計)

サマリー

複数の数値変数を結合して 1 つのインデックスを作成します。

コンポジット インデックスは、社会的ドメインと環境的ドメイン全体で使用され、複数のインジケーターから取得した複雑な情報を 1 つのメトリックとして表現します。これにより、目標に至るまでの進捗状況を計測し、意思決定を容易に下せるようになります。 このツールでは、インデックス作成プロセスの主な 3 つのステップを実行できます。つまり、入力変数を共通のスケールに標準化し (前処理)、複数の変数を結合して 1 つのインデックス変数を作成し (結合)、結果として生成されたインデックスをスケール処理して意味のある値に分類する (後処理) ことができます。

コンポジット インデックスの計算ツールの詳細

コンポジット インデックスの計算ツールの図

使用法

  • 適切なインデックスを作成できるかどうかは、インデックスが答えようとする質問、変数の選択肢、適用する方法をどれだけ慎重に検討したかによって決まります。 これらの内容は、ドメイン エキスパートやエンド ユーザーに相談した上で決定する必要があります。

    コンポジット インデックス作成時のベスト プラクティスの詳細

  • [変数の入力] パラメーターを使用して、インデックスで使用する数値フィールドを指定します。 このツールでは、入力変数で値が欠落しているレコードが無視されます。

  • [変数のスケール処理方法と結合方法の事前設定] パラメーターには、インデックスを作成する方法を指定できます。 たとえば、[値の結合 (スケール処理済みの値の平均値)] オプションを選択すると、入力変数が 0 ~ 1 でスケール処理され、再スケール処理された入力変数の平均値がインデックスとして使用されます。

    • [変数のスケール処理方法と結合方法の事前設定] パラメーターに値を指定すると、[入力変数をスケール処理する方法] パラメーターと [スケール処理済みの変数を結合する方法] パラメーターの値が変化します。 さらにカスタマイズするには、[カスタム] オプションを選択して、手動で値を設定します。

  • [入力変数をスケール処理する方法] パラメーターに値を指定すると、選択した方法がすべての入力変数に適用されます。

    • [最小値-最大値] オプションを選択すると、入力変数の分布が保持され、わかりやすい 0 ~ 1 のスケールでスケール処理されるため、このオプションは最も簡単な方法です。
    • 傾斜分布または外れ値を含む変数を操作する場合は、データのランクを考慮する [パーセンタイル] または [ランク] 方法を使用するか、変数をバイナリ値 (0 または 1) に変換する [閾値によるフラグ (バイナリ)] オプションを使用します。
    • 新しいデータが使用可能になるごとに再作成される長期的なインデックス (年間業績インデックスなど) を作成するには、[最小値-最大値 (カスタム データ範囲)] または [Z スコア (カスタム)] オプションを使用します。 これらのオプションのいずれかを使用すると、安定した水準点を設定し、範囲と分布が異なるデータを比較できるようになります。
    • [ロウの値] オプションは、割合を使用する場合や他のツールで変数を前処理した場合など、変数が比較可能なスケールにある場合に有効です。

  • このツールで使用できない前処理方法を適用する必要がある場合や入力変数ごとに異なる前処理方法が必要な場合は、[フィールドの変換 (Transform Field)] ツール、[フィールドの標準化 (Standardize Field)] ツール、または [フィールドの再分類 (Reclassify Field)] ツールを使用します。

    • 前処理を実行する場合には、入力変数が比較可能なスケールにあることを確認します。
    • 独自の前処理の実行時には、[入力変数をスケール処理する方法] パラメーターの [ロウの値] オプションを使用します。

  • すべての入力変数が共通の計測スケール (割合など) にある場合は、[入力変数をスケール処理する方法] パラメーターの [ロウの値] オプションを使用します。

  • [入力変数をスケール処理する方法] パラメーターの [閾値によるフラグ (バイナリ)] オプションを使用すると、閾値に応じて入力変数を 0 と 1 の値に変換できます。 [閾値に合わせてスケール処理する方法] パラメーターを使用すると、閾値を設定する前に、必要に応じて前処理手順をすべての変数に適用できます。 たとえば、次の手順を実行すると、場所ごとに 90 番目のパーセンタイルを上回る入力変数の数がカウントされます。

    1. [入力変数をスケール処理する方法] パラメーターの値を [閾値によるフラグ (バイナリ)] に設定します。
    2. [閾値に合わせてスケール処理する方法] パラメーターの値を [パーセンタイル] に設定します。
    3. [閾値] パラメーターの値を変数ごとに 0.9 [より大きい] に設定します。
    4. [スケール処理済みの変数を結合する方法] パラメーターの値を [合計] に設定します。

  • [スケール処理済みの変数を結合する方法] パラメーターには、加法 (合計および平均) と乗法 (乗算および幾何補正平均) があります。

    • 加法では、大きい値の変数で小さい値の変数を補正することができます。
    • 乗法では、大きい値で小さい値を補正することができません。 大きいインデックス値は、複数の変数に大きい値が存在する場合にのみ発生します。

  • [ウェイト] パラメーター ([変数のウェイト] パラメーター カテゴリ内) を使用すると、各入力変数の相対的な重要性を示すことができます。 すべてのウェイトはデフォルトで 1 に設定され、各変数が同等に重み付けされることを意味します。

    • ある変数が別の変数よりも 2 倍重要であることが判明している場合は、その変数のウェイトを 2 に設定し、別の変数のウェイトを 1 に設定します。
    • 合計で 1 になるウェイトを設定することもできます。たとえば、3 つの変数が使用されており、そのうちの 1 つの変数がそれ以外の 2 つの変数よりも 2 倍重要であると思われる場合は、ウェイトの値として 0.5、0.25、0.25 を使用できます。

  • ウェイトは、結果として生成されるインデックスに大きく影響します。 変数の相対的な重要性の設定は、解析の主観的な要素であるため、ドメインの知識と文書による正当性で推進する必要があります。

  • このツールを実行すると、インデックス フィールド、ランク フィールド、パーセンタイル フィールドが作成されます。 反転したり、インデックスが新しい最小値および最大値にスケール処理された場合には、インデックス RAW フィールドも作成されます。 [追加分類出力] パラメーターで指定された分類オプションごとに新しいフィールドが追加されます。 入力内容がフィーチャクラスであり、フィーチャクラスが [出力フィーチャまたはテーブル] パラメーターで指定されている場合は、このツールで 1 つのグループ レイヤーが生成され、インデックス フィールド、パーセンタイル フィールド、および選択した各分類オプションのレイヤーが表示されます。

  • 出力インデックス レイヤーにはチャートがあり、インデックスの分布を表示したり、前処理手順で目的の結果が得られたかどうかを特定したり、入力変数とインデックスに相関関係があるかどうかを確認したりすることができます。

  • インデックスが計測方法であるという概念は、複数のディメンションで表すことができます。 たとえば、脆弱性インデックスが住宅、交通手段、および収入ドメインで構成されており、各ドメインが複数の変数で構成されているとします。 各ディメンションを表すサブインデックスを構築する方法を考察してください。 このためには、このツールを複数回 (ディメンションごとに 1 回) 実行し、その結果を最終インデックスへの入力変数として使用します。

  • サブインデックスから成るインデックスを構築するときには、このプロセスを効率化するために、ModelBuilder または AllSource のノートブックを使用することをご検討ください。 ModelBuilder を使用する場合は、[フィールドを入力テーブルに追加] パラメーターをオフにして、サブインデックスごとに新しいフィーチャを作成してください。 これによりサブインデックスごとに別々の出力が作成されます。最終的なインデックスを作成する前に、これらを結合させる必要があります。 このツールでは、[フィールドを入力テーブルに追加] パラメーターがオンの場合に、ModelBuilder で複数のインデックスをチェーニングすることはサポートされていません。

  • ベスト プラクティスは、入力変数の数を減らしながら、インデックスに必要不可欠な情報を取得するのに十分な数を維持することです。 入力変数が多数存在すると、インデックスの解釈が困難になることがあります。 また、複数の変数が同じドメイン (収入の中央値や貧困など) に関連している場合は、このドメインの影響がインデックスで過剰表現されることがあります。

  • このツールでは現在、Microsoft SQL Server または Oracle を使用するエンタープライズ ジオデータベース、SQLite データベース、またはモバイル ジオデータベースに配置された出力フィーチャをサポートしていません。 [フィールドを入力フィーチャに追加] パラメーターをオンにした場合、Microsoft SQL Server または Oracle を使用するエンタープライズ ジオデータベース、SQLite データベース、またはGeoPackage ファイルに入力デーブルを配置できません。

パラメーター

ラベル説明データ タイプ
入力テーブル

インデックスを作成するために結合される変数を含むテーブルまたはフィーチャ。

Table View
変数の入力

インデックスとして結合される変数を表す数値フィールドのリスト。 [方向の反転] チェックボックスをオンにして、変数の値を反転させます。 これは、最初に最も大きい値が設定されていたフィーチャまたはレコードに最も小さい値が設定されることを意味し、この逆のことも当てはまります。

Value Table
フィールドを入力テーブルに追加
(オプション)

結果を入力データに追加するか、出力フィーチャクラスまたはテーブルとして生成するかを指定します。

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

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

結果を含む出力フィーチャまたはテーブル。

Table; Feature Class
変数のスケール処理方法と結合方法の事前設定
(オプション)

インデックスの作成時に使用するワークフローを指定します。 これらのオプションは、共通のインデックス作成ワークフローを表します。各オプションで、[入力変数をスケール処理する方法] パラメーターと [スケール処理済みの変数を結合する方法] パラメーターのデフォルト値が設定されます。

  • 値の結合 (スケール処理済みの値の平均値)入力変数を 0 ~ 1 でスケール処理し、スケール処理済みの値の平均値を求めると、インデックスが作成されます。 この方法は、わかりやすいインデックスを作成する場合に有効です。 入力変数の分布と外れ値の形状がインデックスに影響します。 これがデフォルトです。
  • ランクの結合 (パーセンタイルの平均値)入力変数のランクを 0 ~ 1 でスケール処理し、スケール処理済みの値の平均値を求めると、インデックスが作成されます。 このオプションは、変数値のランクが値と値の差よりも重要な場合に有効です。 入力変数の分布と外れ値の形状はインデックスに影響しません。
  • 複合的な差異 (スケール処理済みの値の幾何補正平均値)入力変数を 0 ~ 1 でスケール処理し、スケール処理済みの値の幾何補正平均値を求めると、インデックスが作成されます。 大きい値で小さい値が完全に補正されることはないので、このオプションは、複数の変数に大きい値が存在する場合にのみ大きいインデックス値が生成されるインデックスを作成する際に有効です。
  • 極値のハイライト表示 (90 番目のパーセンタイルを上回る値の数)90 番目のパーセンタイル以上の値を含む入力変数の数がカウントされるインデックスが作成されます。 この方法は、最も極端と思われる場所または最も必要性が高いと思われる場所を特定する場合に有効です。
  • カスタムカスタマイズされた変数スケール処理オプションと変数結合オプションを使用して、インデックスが作成されます。
String
入力変数をスケール処理する方法
(オプション)

入力変数を共通のスケールに変換する場合に使用する方法を指定します。

  • 最小値-最大値各変数の最小値と最大値を使用して、変数が 0 ~ 1 でスケール処理されます。 これがデフォルトです。
  • 最小値-最大値 (カスタム データ範囲)[カスタム データ範囲] パラメーターで指定された各変数の許容最小値と許容最大値を使用して、変数が 0 ~ 1 でスケール処理されます。 この方法には多数の用途があり、水準点、参照統計情報、または理論値に基づいて最小値と最大値を指定することができます。 たとえば、1 日のオゾンの記録が 5 ~ 27 ppm (パーツ パー ミリオン) の場合は、過去の観察とドメインの専門知識に基づいて理論上の最小値と最大値を使用し、パラメーターの許容最大値と許容最小値を設定することができます。 これにより、複数日にまたがってインデックスを比較できるようになります。
  • パーセンタイルデータ値のランクをスケール処理すると、変数が 0 ~ 1 でパーセンタイルに変換されます。 このオプションは、外れ値や傾斜分布など、データ値間の絶対差を無視する場合に有効です。
  • ランク変数がランク付けされます。 最も小さい値にはランク値 1 が割り当てられ、次に小さい値にはランク値 2 が割り当てられ、以下同様に割り当てられます。 同じ値の場合は、ランクの平均値が割り当てられます。
  • Z スコア平均値を減算して求められた値を標準偏差 (Z スコアと呼ばれる) で除算すると、各変数が標準化されます。 Z スコアは、平均値を上回る標準偏差または下回る標準偏差の数です。 このオプションは、変数の平均値が重要な比較ポイントになる場合に有効です。 平均値を上回る値は正の Z スコアになり、平均値を下回る値は負の Z スコアになります。
  • Z スコア (カスタム)カスタム平均値を減算して求められた値をカスタム標準偏差で除算すると、各変数が標準化されます。 カスタム値を [カスタム標準化] パラメーターで指定します。 このオプションは、変数の平均値と標準偏差がこれまでの調査で判明している場合に有効です。
  • 閾値によるフラグ (バイナリ)定義済みの閾値を上回っている変数または下回っている変数が特定されます。 結果として生成されるフィールドには、閾値を超えているかどうかを示すバイナリ値 (0 または 1) が表示されます。 また、[閾値に合わせてスケール処理する方法] パラメーターを使用して、閾値を定義する前に入力変数の値をスケール処理し、[閾値] パラメーターを使用して、閾値を指定することもできます。 この方法は、変数の値が特定の閾値 (汚染物質の安全性限界など) を超えているかどうかほど重要でない場合に有効です。
  • ロウの値これらの変数の元の値が使用されます。 この方法は、すべての変数が比較可能なスケール (割合や比率など) で計測される場合またはこのツールを使用する前に変数がすでに標準化されている場合にのみ使用します。
String
閾値に合わせてスケール処理する方法
(オプション)

閾値を設定する前に入力変数を共通のスケールに変換する場合に使用する方法を指定します。

  • 最小値-最大値各変数の最小値と最大値を使用して、変数が 0 ~ 1 でスケール処理されます。
  • 最小値-最大値 (カスタム データ範囲)各変数の許容最小値と許容最大値を使用して、変数が 0 ~ 1 でスケール処理されます。
  • パーセンタイル変数が 0 ~ 1 でパーセンタイルに変換されます。
  • Z スコア平均値を減算して求められた値を標準偏差で除算すると、各変数が標準化されます。
  • Z スコア (カスタム)カスタム平均値を減算して求められた値をカスタム標準偏差で除算すると、各変数が標準化されます。
  • ロウの値変更なしで、これらの変数の値が使用されます。 これがデフォルトです。
String
カスタム標準化
(オプション)

各入力変数を標準化する際に使用するカスタム平均値とカスタム標準偏差。 変数ごとに、カスタム平均値を [平均] 列で指定し、カスタム標準偏差を [標準偏差] 列で指定します。

Value Table
カスタム データ範囲
(オプション)

変数の単位で使用する許容最小値と許容最大値。 許容最小値と許容最大値に基づいて、各変数が 0 ~ 1 でスケール処理されます。

Value Table
閾値
(オプション)

フィーチャにフラグを付けるかどうかを決定する閾値。 スケール処理済みの変数の単位で値を設定し、閾値を上回る値または下回る値にフラグを付けるかどうかを指定します。

Value Table
スケール処理済みの変数を結合する方法
(オプション)

スケール処理済みの変数を結合して 1 つの値にする場合に使用する方法を指定します。

Z スコアには負の値が常に含まれているため、Z スコアを使用して変数がスケール処理されている場合に、乗算と幾何補正平均値の計算はできません。

  • 合計値が追加されます。
  • 平均値の算術 (加法) 平均値が算出されます。 これがデフォルトです。
  • 乗算値が乗算されます。 スケール処理済みのすべての値は 0 以上でなければなりません。
  • 幾何補正平均値値の幾何補正 (乗法) 平均値が算出されます。 スケール処理済みのすべての値は 0 以上でなければなりません。
String
ウェイト
(オプション)

インデックスへの各入力変数の相対的な影響を設定するウェイト。 各ウェイトのデフォルト値は 1 であり、各変数の影響が同等であることを意味します。 ウェイトを増減させて、変数の相対的な重要性を反映します。 たとえば、ある変数が別の変数よりも 2 倍重要である場合は、ウェイト値として 2 を使用します。 乗算してスケール処理済みの値を結合する際に 1 より大きいウェイト値を使用すると、非常に大きい値を含むインデックスが生成されることがあります。

Value Table
出力インデックス名
(オプション)

インデックスの名前 この値は、フィールドのエイリアスやチャートのラベルなど、出力の視覚化に使用されます。 出力 (または追加された入力) がシェープファイルの場合、この値は使用されません。

String
出力インデックス値の反転
(オプション)

(たとえば、大きいインデックス値を小さい値として処理するために) 出力インデックス値の方向を反転させるかどうかを指定します。

  • オン - インデックス値の方向が反転されます。
  • オフ - インデックス値の方向が反転されません。 これがデフォルトです。

Boolean
出力インデックスの最小値と最大値
(オプション)

出力インデックス値の最小値と最大値。 このスケール処理は、スケール処理済みの変数を結合した後で適用されます。 値を指定しないと、出力インデックスがスケール処理されません。

Value Table
追加分類出力
(オプション)

出力インデックスの分類に使用する方法を指定します。 選択したオプションごとに出力フィールドが追加されます。

  • 等間隔一連の値を均等な間隔に分割して、クラスが作成されます。
  • 等量分類クラスごとに同じ数のレコードが含まれるクラスが作成されます。
  • 標準偏差標準偏差の数がインデックスの平均値を上回っているか下回っているかに応じてクラスが作成されます。 結果として生成される値は -3 ~ 3 になります。
  • カスタム[出力インデックス カスタム クラス] パラメーターを使用して、クラス閾値とクラスの値が指定されます。
String
クラスの出力インデックス番号
(オプション)

等間隔および等量分類方法で使用するクラスの数。

Long
出力インデックス カスタム クラス
(オプション)

カスタム分類方法の上限とクラスの値。 たとえば、この変数を使用すると、0 ~ 100 の値を含むインデックスを、カスタム閾値に応じて小さい値、中程度の値、大きい値を表すクラスに分類することができます。

Value Table

派生した出力

ラベル説明データ タイプ
更新された入力テーブル

更新された入力テーブル。

Feature Layer; Table View
出力レイヤー グループ

入力内容がフィーチャクラスであり、フィーチャクラスが [出力フィーチャまたはテーブル] パラメーターで指定されている場合は、1 つのグループ レイヤーが生成され、インデックス フィールド、パーセンタイル フィールド、および選択した各分類オプションのレイヤーが表示されます。

Group Layer

arcpy.stats.CalculateCompositeIndex(in_table, in_variables, {append_to_input}, {out_table}, {index_preset}, {preprocessing}, {pre_threshold_scaling}, {pre_custom_zscore}, {pre_min_max}, {pre_thresholds}, {index_method}, {index_weights}, {out_index_name}, {out_index_reverse}, {post_min_max}, {post_reclass}, {post_num_classes}, {post_custom_classes})
名前説明データ タイプ
in_table

インデックスを作成するために結合される変数を含むテーブルまたはフィーチャ。

Table View
in_variables
[[var1, reverse1],[var2, reverse2],...]

インデックスとして結合される変数を表す数値フィールドのリスト。 方向の反転列では、変数の値が反転されます。 これは、最初に最も大きい値が設定されていたフィーチャまたはレコードに最も小さい値が設定されることを意味し、この逆のことも当てはまります。 スケール処理の後で値が反転されます。

Value Table
append_to_input
(オプション)

結果を入力データに追加するか、出力フィーチャクラスまたはテーブルとして生成するかを指定します。

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

結果を含む出力フィーチャまたはテーブル。

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

インデックスの作成時に使用するワークフローを指定します。 これらのオプションは、共通のインデックス作成ワークフローを表します。各オプションで、preprocessing パラメーターと index_method パラメーターのデフォルト値が設定されます。

  • MEAN_SCALED入力変数を 0 ~ 1 でスケール処理し、スケール処理済みの値の平均値を求めると、インデックスが作成されます。 この方法は、わかりやすいインデックスを作成する場合に有効です。 入力変数の分布と外れ値の形状がインデックスに影響します。 これがデフォルトです。
  • MEAN_PCTL入力変数のランクを 0 ~ 1 でスケール処理し、スケール処理済みの値の平均値を求めると、インデックスが作成されます。 このオプションは、変数値のランクが値と値の差よりも重要な場合に有効です。 入力変数の分布と外れ値の形状はインデックスに影響しません。
  • GEOMEAN_SCALED入力変数を 0 ~ 1 でスケール処理し、スケール処理済みの値の幾何補正平均値を求めると、インデックスが作成されます。 大きい値で小さい値が取り消されないので、このオプションは、複数の変数に大きい値が存在する場合にのみ大きいインデックス値が生成されるインデックスを作成する際に有効です。
  • SUM_FLAGSPCTL90 番目のパーセンタイル以上の値を含む入力変数の数がカウントされるインデックスが作成されます。 この方法は、最も極端と思われる場所または最も必要性が高いと思われる場所を特定する場合に有効です。
  • CUSTOMカスタマイズされた変数スケール処理オプションと変数結合オプションを使用して、インデックスが作成されます。
String
preprocessing
(オプション)

入力変数を共通のスケールに変換する場合に使用する方法を指定します。

  • MINMAX各変数の最小値と最大値を使用して、変数が 0 ~ 1 でスケール処理されます。 これがデフォルトです。
  • CUST_MINMAXpre_min_max パラメーターで指定された各変数の許容最小値と許容最大値を使用して、変数が 0 ~ 1 でスケール処理されます。 この方法には多数の用途があり、水準点、参照統計情報、または理論値に基づいて最小値と最大値を指定することができます。 たとえば、1 日のオゾンの記録が 5 ~ 27 ppm (パーツ パー ミリオン) の場合は、過去の観察とドメインの専門知識に基づいて理論上の最小値と最大値を使用し、複数日にわたってインデックスを比較することができます。
  • PERCENTILE該当するデータ値よりも小さいデータ値の割合を算出すると、変数が 0 ~ 1 でパーセンタイルに変換されます。 このオプションは、外れ値や傾斜分布など、データ値間の絶対差を無視する場合に有効です。
  • RANK変数がランク付けされます。 最も小さい値にはランク値 1 が割り当てられ、次に小さい値にはランク値 2 が割り当てられ、以下同様に割り当てられます。 同じ値の場合は、ランクの平均値が割り当てられます。
  • ZSCORE平均値を減算して求められた値を標準偏差 (Z スコアと呼ばれる) で除算すると、各変数が標準化されます。 Z スコアは、平均値を上回る標準偏差または下回る標準偏差の数です。 このオプションは、変数の平均値が重要な比較ポイントになる場合に有効です。 平均値を上回る値は正の Z スコアになり、平均値を下回る値は負の Z スコアになります。
  • CUST_ZSCOREカスタム平均値を減算して求められた値をカスタム標準偏差で除算すると、各変数が標準化されます。 カスタム値を pre_custom_zscore パラメーターで指定します。 このオプションは、変数の平均値と標準偏差がこれまでの調査で判明している場合に有効です。
  • BINARY定義済みの閾値を上回っている変数または下回っている変数が特定されます。 結果として生成されるフィールドには、閾値を超えているかどうかを示すバイナリ値 (0 または 1) が表示されます。 また、pre_threshold_scaling パラメーターを使用して、閾値を定義する前に入力変数の値をスケール処理し、pre_thresholds パラメーターを使用して、閾値を指定することもできます。 この方法は、変数の値が特定の閾値 (汚染物質の安全性限界など) を超えているかどうかほど重要でない場合に有効です。
  • RAWこれらの変数の元の値が使用されます。 この方法は、すべての変数が比較可能なスケール (割合や比率など) で計測される場合またはこのツールを使用する前に変数がすでに標準化されている場合にのみ使用します。
String
pre_threshold_scaling
(オプション)

閾値を設定する前に入力変数を共通のスケールに変換する場合に使用する方法を指定します。

  • THRESHOLD_MINMAX各変数の最小値と最大値を使用して、変数が 0 ~ 1 でスケール処理されます。
  • THRESHOLD_CUST_MINMAX各変数の許容最小値と許容最大値を使用して、変数が 0 ~ 1 でスケール処理されます。
  • THRESHOLD_PERCENTILE変数が 0 ~ 1 でパーセンタイルに変換されます。
  • THRESHOLD_ZSCORE平均値を減算して求められた値を標準偏差で除算すると、各変数が標準化されます。
  • THRESHOLD_CUST_ZSCOREカスタム平均値を減算して求められた値をカスタム標準偏差で除算すると、各変数が標準化されます。
  • THRESHOLD_RAW変更なしで、これらの変数の値が使用されます。 これがデフォルトです。
String
pre_custom_zscore
[[field1, mean1, stdev1], [field2, mean2, stdev2],...]
(オプション)

各入力変数を標準化する際に使用するカスタム平均値とカスタム標準偏差。 変数ごとに、カスタム平均値を [平均] 列で指定し、カスタム標準偏差を [標準偏差] 列で指定します。

Value Table
pre_min_max
[[field1, min1, max1], [field2, min2, max2],...]
(オプション)

変数の単位で使用する許容最小値と許容最大値。 許容最小値と許容最大値に基づいて、各変数が 0 ~ 1 でスケール処理されます。

Value Table
pre_thresholds
[[field1, method1, threshold1], [field2, method2, threshold2],...]
(オプション)

フィーチャにフラグを付けるかどうかを決定する閾値。 スケール処理済みの変数の単位で値を設定し、閾値を上回る値または下回る値にフラグを付けるかどうかを指定します。

Value Table
index_method
(オプション)

スケール処理済みの変数を結合して 1 つの値にする場合に使用する方法を指定します。

  • SUM値が追加されます。
  • MEAN値の算術 (加法) 平均値が算出されます。 これがデフォルトです。
  • PRODUCT値が乗算されます。 スケール処理済みのすべての値は 0 以上でなければなりません。
  • GEOMETRIC_MEAN値の幾何補正 (乗法) 平均値が算出されます。 スケール処理済みのすべての値は 0 以上でなければなりません。

Z スコアには負の値が常に含まれているため、Z スコアを使用して変数がスケール処理されている場合に、乗算と幾何補正平均値の計算はできません。

String
index_weights
[[field1, weight1], [field2, weight2],...]
(オプション)

インデックスへの各入力変数の相対的な影響を設定するウェイト。 各ウェイトのデフォルト値は 1 であり、各変数の影響が同等であることを意味します。 ウェイトを増減させて、変数の相対的な重要性を反映します。 たとえば、ある変数が別の変数よりも 2 倍重要である場合は、ウェイト値として 2 を使用します。 乗算してスケール処理済みの値を結合する際に 1 より大きいウェイト値を使用すると、非常に大きい値を含むインデックスが生成されることがあります。

Value Table
out_index_name
(オプション)

インデックスの名前 この値は、フィールドのエイリアスやチャートのラベルなど、出力の視覚化に使用されます。 出力 (または追加された入力) がシェープファイルの場合、この値は使用されません。

String
out_index_reverse
(オプション)

(たとえば、大きいインデックス値を小さい値として処理するために) 出力インデックス値の方向を反転させるかどうかを指定します。

  • REVERSEインデックス値の方向が反転されます。
  • NO_REVERSEインデックス値の方向が反転されません。 これがデフォルトです。
Boolean
post_min_max
[min1, max1], [min2, max2]
(オプション)

出力インデックス値の最小値と最大値。 このスケール処理は、スケール処理済みの変数を結合した後で適用されます。 値を指定しないと、出力インデックスがスケール処理されません。

Value Table
post_reclass
[post_reclass,...]
(オプション)

出力インデックスの分類に使用する方法を指定します。 選択したオプションごとに出力フィールドが追加されます。

  • EQINTERVAL一連の値を均等な間隔に分割して、クラスが作成されます。
  • QUANTILEクラスごとに同じ数のレコードが含まれるクラスが作成されます。
  • STDDEV標準偏差の数がインデックスの平均値を上回っているか下回っているかに応じてクラスが作成されます。 結果として生成される値は -3 ~ 3 になります。
  • CUSTpost_custom_classes パラメーターを使用して、クラス閾値とクラスの値が指定されます。
String
post_num_classes
(オプション)

等間隔および等量分類方法で使用するクラスの数。

Long
post_custom_classes
[[min1, max1], [min2, max2],...]
(オプション)

カスタム分類方法の上限とクラスの値。 たとえば、この変数を使用すると、0 ~ 100 の値を含むインデックスを、カスタム閾値に応じて小さい値、中程度の値、大きい値を表すクラスに分類することができます。

Value Table

派生した出力

名前説明データ タイプ
updated_table

更新された入力テーブル。

Feature Layer; Table View
output_layer_group

入力内容がフィーチャクラスであり、フィーチャクラスが out_table パラメーターで指定されている場合は、1 つのグループ レイヤーが生成され、インデックス フィールド、パーセンタイル フィールド、および選択した各分類オプションのレイヤーが表示されます。

Group Layer

コードのサンプル

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

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


import arcpy
arcpy.stats.CalculateCompositeIndex(
    in_table=r"C:\MyData.gdb\CommunityCharacteristics", 
    out_table=r"C:\MyData.gdb\CommunityCharacteristicsIndex",
    in_variables=["ASTHMA_Prevalence_Percent", "Health_NoInsurance_Percent", 
                    "BelowPovertyLine_Percent"],
    index_preset="MEAN_SCALED")
CalculateCompositeIndex の例 2 (スタンドアロン スクリプト)

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


# Import system modules 
import arcpy 
import os 

try: 
    # Set the workspace and overwrite properties
    arcpy.env.workspace = r"C:\temp\temp.gdb" 
    arcpy.env.overwriteOutput = True 
    
    # Set the input point feature parameters
    input_features = os.path.join(arcpy.env.workspace, "CommunityCharacteristics")

    # Set a list of variables that will be combined into an index
    input_variables = ["ASTHMA_Prevalence_Percent", "Health_NoInsurance_Percent", 
                       "BelowPovertyLine_Percent"]

    # Set the output name that will contain the index values.
    output_features = os.path.join(arcpy.env.workspace, "CommunityCharacteristicsIndex")

    # Set the method to scale the input variables
    preprocessing_method = "PERCENTILE"

    # Set the method to combine the input variables
    combination_method = "MEAN"
    variable_weights = [["ASTHMA_Prevalence_Percent", 2],
                        ["Health_NoInsurance_Percent", 1],
                        ["BelowPovertyLine_Percent", 1]]

    # Set the output settings
    output_index_name = "Asthma_Needs_Index"
    output_index_range = "0 100"
    output_classification = "QUANTILE"
    output_classification_num_classes = 5

    # Call the tool using the parameters defined above.
    arcpy.stats.CalculateCompositeIndex(
        in_table=input_features,
        in_variables=input_variables, 
        out_table=output_features,
        index_preset="CUSTOM",
        preprocessing=preprocessing_method,
        index_method=combination_method,
        index_weights=variable_weights,
        out_index_name=output_index_name,
        post_min_max=output_index_range,
        post_reclass=output_classification,
        post_num_classes=output_classification_num_classes)

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