予備回帰分析 (Exploratory Regression) (空間統計)

概要

入力された説明変数候補の考えられるすべての組み合わせを評価し、ユーザーが指定した条件のコンテキスト内で従属変数を最適に説明する OLS モデルを検索します。

[予備回帰分析 (Exploratory Regression)] の詳細

[予備回帰分析 (Exploratory Regression)] の図
候補となる説明変数のセットを指定すると、適切に指定された OLS モデルが見つかります。

使用法

  • このツールの主な出力は、レポート ファイルです。このファイルの内容は、ツールの実行中に [ジオプロセシング] ウィンドウの下部にメッセージとして書き込まれます。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。ジオプロセシング履歴を介して、以前に実行した [予備回帰分析 (Exploratory Regression)] のメッセージにアクセスすることもできます。

  • このツールは、オプションで、結果をまとめたレポートをテキスト ファイルで作成します。このレポート ファイルは [コンテンツ] ウィンドウに追加され、ArcMap 上で右クリックして、[開く] を選択して参照できます。

  • このツールはまた、オプションで p 値係数のカットオフならびに分散拡大係数 (VIF)値基準の最大値に見合うすべてのモデルをリストするテーブルを作成します。レポートを構成する要素とテーブルの詳細な説明は予備回帰分析結果の解釈をご参照ください。

  • このツールは [最小二乗法 (Ordinary Least Squares) (OLS)] ならびに [空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] を使用します。 必要に応じて空間ウェイト マトリックス ファイル[空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] ツールと共に使われ、モデルの残差を確認しますが、OLS ツールではまったく使われません。

  • このツールは入力された [候補となる説明変数] のすべての組み合わせを試み、適切で特定の OLS モデルを探します。[最小許容補正 R2][最大係数 p 値カットオフ][最大 VIF 値カットオフ] および [最小許容 Jarque Bera p 値] に対する閾値の基準を満たすモデルを見つけたときにのみ [空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] ツールをモデル残差に対して実行し、下方予測および上方予測がクラスタリングしていないか確かめます。これらすべての基準を満たすモデルが 1 つも存在しない場合、少なくとも残差のクラスタリングについて何らかの情報を提供するために、自由度を調整した R2 値が最も高い 3 つのモデルと Jarque Bera p 値が最も大きな 3 つのモデルの残差に対して、[空間的自己相関分析 (Spatial Autocorrelation (Morans I))] テストが行われます。

  • 特に従属変数が強い空間構造を持つ場合、空間的説明変数の候補を、できるだけ多く挙げてください。空間変数の例として、主要な高速道路までの距離、就職できそうな職場の数、近隣で買い物ができる場所の数、接続性の測定値、密度などがあります。従属変数の空間構造を捉える説明変数が見つかるまで、モデルの残差が空間的自己相関分析テストを終了することはほぼありません。回帰残差の有意なクラスタリング ([空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] ツールで判定) は、モデルの指定が適切でないことを示しています。モデルの指定が正しくない場合の対処法は、「回帰分析の側面」に示されています。

  • [空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] はすべての試験モデルで実行されるわけではないので (上述のヒントを参照)、オプションの [出力結果テーブル] では一部の SA (空間的自己相関分析) フィールドにデータが入らないことになります。DBF (*.dbf) ファイルは NULL 値を保存しないので、極端に小さい (負の) 数 (-1.797693e+308 といった値) で表示されます。ジオデータベース テーブルでは、欠けている値は NULL 値として表示されます。欠けている値が示すことは、関係するモデルの残差には空間的自己相関分析のための試験がなされていないということです。なぜなら、そのモデルはすべての他のモデルの検索条件を満たしていなかったからです。

  • [空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))] を実行するのに用いられる、デフォルトの空間ウェイト マトリックス ファイルは、空間リレーションシップの 8 最近隣内挿法のコンセプトに基づいています。このデフォルトが主に用いられているのは、かなり早く処理が進むからです。隣接リレーションシップを異なる方法で定義するために、[空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを使って単純に空間ウェイト マトリックス ファイルを独自に作成し、[入力空間ウェイト マトリックス ファイル] パラメーターのためにファイル名を特定するだけです。逆距離、ポリゴン隣接、または K 最近接内挿は、回帰残差をテストするための空間リレーションシップのコンセプトとしてすべて適切です。

    メモ:

    空間ウェイト マトリックス ファイルは空間構造のモデル残差をテストするためだけに使用されます。モデルが正しく特定されたとき、残差は空間的にランダムです (大きな残差は小さな残差が混合したものです。大きな残差は空間的にお互いがクラスタリングしません)。

    メモ:

    入力フィーチャに 8 未満のフィーチャがある場合、[空間的自己相関分析 (Spatial Autocorrelation (Morans I))] ツールの実行に使用される、デフォルトの空間ウェイト マトリックス ファイルは、K 最近隣を使用します (K はフィーチャの数から 2 を引いた値です)。通常、このツールを使用する場合は、最低 30 のフィーチャが必要です。

構文

arcpy.stats.ExploratoryRegression(Input_Features, Dependent_Variable, Candidate_Explanatory_Variables, {Weights_Matrix_File}, {Output_Report_File}, {Output_Results_Table}, {Maximum_Number_of_Explanatory_Variables}, {Minimum_Number_of_Explanatory_Variables}, {Minimum_Acceptable_Adj_R_Squared}, {Maximum_Coefficient_p_value_Cutoff}, {Maximum_VIF_Value_Cutoff}, {Minimum_Acceptable_Jarque_Bera_p_value}, {Minimum_Acceptable_Spatial_Autocorrelation_p_value})
パラメーター説明データ タイプ
Input_Features

フィーチャクラスまたはフィーチャ レイヤーは分析のための従属変数と候補となる説明変数を保存します。

Feature Layer
Dependent_Variable

数値フィールドは OLS を使用してモデルを作る観測地を保存します。

Field
Candidate_Explanatory_Variables
[Candidate_Explanatory_Variables,...]

OLS を試すフィールドのリストは説明変数をモデル化します。

Field
Weights_Matrix_File
(オプション)

フィーチャ間の空間リレーションシップを指定する空間ウェイトが含まれたファイル。このファイルは回帰残差に対して空間的自己相関分析を確かめるのに使用されます。これを作成するために [空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix)] ツールを使うこともできます。空間ウェイト マトリックス ファイルを使わない場合、各フィーチャの 8 つの最近隣内挿に基づいて空間的自己相関分析のために残差は確認されます。

注意: 空間ウェイト マトリックス ファイルはモデル残差の空間構造を計算することにのみ使用されます。OLS モデルを構築したりキャリブレーションするためには使用されません。

File
Output_Report_File
(オプション)

レポート ファイルはツールの結果を保存し、それには入力した検索条件のすべてを満たすモデルの詳細も含みます。この出力ファイルはまた、条件を満たすモデルが見いだされなかった場合に、一般的な回帰の問題を修正するときの参考になる診断結果を含みます。

File
Output_Results_Table
(オプション)

作成された出力テーブルはすべてのモデルの p 値係数 VIF のカットオフについて説明変数や診断結果を保存する場合があります。

Table
Maximum_Number_of_Explanatory_Variables
(オプション)

すべてのモデルの説明変数から、ここで入力したものまでが確認されます。たとえば、Minimum_Number_of_Explanatory_Variables2Maximum_Number_of_Explanatory_Variables3 の場合、[予備回帰分析 (Exploratory Regression)] ツールはすべてのモデルについて 2 つの説明変数のすべての組み合わせを試み、またすべてのモデルについて 3 つの説明変数のすべての組み合わせを試みます。

Long
Minimum_Number_of_Explanatory_Variables
(オプション)

この値は、評価したモデルの説明変数の最小数を表します。たとえば、Minimum_Number_of_Explanatory_Variables2Maximum_Number_of_Explanatory_Variables3 の場合、[予備回帰分析 (Exploratory Regression)] ツールはすべてのモデルについて 2 つの説明変数のすべての組み合わせを試み、またすべてのモデルについて 3 つの説明変数のすべての組み合わせを試みます。

Long
Minimum_Acceptable_Adj_R_Squared
(オプション)

これは条件を満たすと見なしたモデルの調整済み決定係数の最小値です。もしモデルが他の検索条件すべてを満たす一方で、アジャストされた相関係数の二乗が入力値より小さい場合、Output_Report_File には条件を満たすモデルとして表示されません。有効な値の範囲は 0.0 〜 1.0 です。デフォルト値は 0.5 で、条件を満たすモデルは従属変数の値変動の少なくとも 50% を説明できることを示しています。

Double
Maximum_Coefficient_p_value_Cutoff
(オプション)

評価したそれぞれのモデルでは、最小二乗法は説明変数 p 値係数を計算します。ここで入力した p 値カットオフは、モデルが条件を満たすかどうかという点で、モデルのすべての係数に対して必要な信頼度を表します。小さな p 値は高い信頼度を表します。有効な値の範囲は 1.0 〜 0.0 ですが、ほとんどの場合は 0.1、0.05、0.01、0.001 などです。デフォルト値は 0.05 で、条件を満たすモデルは説明変数のみを含み、その係数は統計的に 95% の信頼度 (0.05 よりも小さい p 値) があることを示しています。このデフォルト値を緩和するには、大きい p 値のカットオフ (0.1 など) を入力します。もし多くのモデルが条件を満たすようになった場合、検索条件を厳しくするためにデフォルトの p 値を 0.05 から 0.01、またはそれよりも小さな値を考えるでしょう。

Double
Maximum_VIF_Value_Cutoff
(オプション)

この値はモデルに許容できる説明変数にどれだけ冗長性 (多重共線性) があるか反映しています。分散拡大係数 (VIF) 値が約 7.5 よりも高いとき、多重共線性はモデルを不安定にさせます。したがって、ここでは 7.5 がデフォルト値です。条件を満たすモデルにより小さな冗長性を持たせたい場合、このパラメーターにより小さい値、たとえば 5.0 を入力します。

Double
Minimum_Acceptable_Jarque_Bera_p_value
(オプション)

Jarque Bera 診断テストが返す p 値はモデル残差が正規分布かどうかを示しています。p 値が統計的に有意な (小さい) 場合、モデル残差は正規でなく、モデルにはバイアスがかかっています。条件を満たすモデルは大きな Jarque Bera p 値を持ちます。デフォルトで最小の許容できる p 値は 0.1 です。この最小値以上の p 値を返すモデルが条件を満たしていると見なされます。バイアスのない合格モデルを見つけるのが難しい場合は、最小 p 値を緩和して、0.05 などの小さな値にしてみてください。

Double
Minimum_Acceptable_Spatial_Autocorrelation_p_value
(オプション)

他の検索条件すべてを満たすモデルには、[予備回帰分析 (Exploratory Regression)] ツールがモデル残差をチェックして空間クラスタリングの発生を確認します。 この診断テストの p 値が統計的に有意 (小さい) ならば、主要な説明変数が欠落している (モデルは必要なことの半分しか語っていない) ことが大いに考えられます。残念ながら、回帰残差に空間的自己相関分析がある場合、モデルが正しく指定されておらず、結果を信用することはできません。条件を満たすモデルは診断テストに対して大きな p 値を返します。デフォルトの最小の p 値は 0.1 です。この最小値以上の p 値を返すモデルが条件を満たしていると見なされます。もし、この診断テストによって正しく指定したモデルを見つけられない場合、およびこの基準を緩和すると決めた場合、0.05 のような小さい最小 p 値を入力します。

Double

コードのサンプル

ExploratoryRegression (予備回帰分析) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ExploratoryRegressionツールの使用方法を示しています。

import arcpy
arcpy.env.workspace = r"C:\ER"
arcpy.ExploratoryRegression_stats("911CallsER.shp", 
                                  "Calls", 
                                  "Pop;Jobs;LowEduc;Dst2UrbCen;Renters;Unemployed;Businesses;NotInLF; \
                                  ForgnBorn;AlcoholX;PopDensity;MedIncome;CollGrads;PerCollGrd; \
                                  PopFY;JobsFY;LowEducFY",
                                  "BG_911Calls.swm", "BG_911Calls.txt", "",
                                  "MAX_NUMBER_ONLY", "5", "1", "0.5", "0.05", "7.5", "0.1", "0.1")
ExploratoryRegression (予備回帰分析) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、ExploratoryRegression ツールの使用方法を示しています。

# Exploratory Regression of 911 calls in a metropolitan area
# using the Exploratory Regression Tool
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = r"C:\ER"
    # Join the 911 Call Point feature class to the Block Group Polygon feature class
    # Process: Spatial Join
    fieldMappings = arcpy.FieldMappings()
    fieldMappings.addTable("BlockGroups.shp")
    fieldMappings.addTable("911Calls.shp")
    sj = arcpy.SpatialJoin_analysis("BlockGroups.shp", "911Calls.shp", "BG_911Calls.shp",
                               "JOIN_ONE_TO_ONE",
                               "KEEP_ALL",
                               fieldMappings,
                               "COMPLETELY_CONTAINS", "", "")
    # Delete extra fieldsto clean up the data
    # Process: Delete Field 
    arcpy.DeleteField_management("BG_911Calls.shp", "OBJECTID;INC_NO;DATE_;MONTH_;STIME; \
                                 SD_T;DISP_REC;NFPA_TYP;CALL_TYPE;RESP_COD;NFPA_SF; \
                                 SIT_FND;FMZ_Q;FMZ;RD;JURIS;COMPANY;COMP_COD;RESP_YN; \
                                 DISP_DT;DAY_;D1_N2;RESP_DT;ARR_DT;TURNOUT;TRAVEL; \
                                 RESP_INT;ADDRESS_ID;CITY;CO;AV_STATUS;AV_SCORE; \
                                 AV_SIDE;Season;DayNight")
    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("BG_911Calls.shp", "TARGET_FID", "BG_911Calls.swm",
                                             "CONTIGUITY_EDGES_CORNERS",
                                             "EUCLIDEAN", "1", "", "", "ROW_STANDARDIZATION", "", "", "", "")
    # Exploratory Regression Analysis for 911 Calls
    # Process: Exploratory Regression
    er = arcpy.ExploratoryRegression_stats("BG_911Calls.shp",
                                      "Calls",
                                      "Pop;Jobs;LowEduc;Dst2UrbCen;Renters;Unemployed;Businesses;NotInLF; \
                                ForgnBorn;AlcoholX;PopDensity;MedIncome;CollGrads;PerCollGrd; \
                                PopFY;JobsFY;LowEducFY",
                                      "BG_911Calls.swm", "BG_911Calls.txt", "",
                                      "MAX_NUMBER_ONLY", "5", "1", "0.5", "0.05", "7.5", "0.1", "0.1")
 
except:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック