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

ライセンス レベル:BasicStandardAdvanced

サマリ

予備回帰分析ツールは入力された説明変数候補のすべての組み合わせを評価し、ユーザが指定する条件のコンテキスト内で従属変数を最もよく説明する OLS モデルを探します。

[結果] ウィンドウからツールのこのツールの結果(オプションのレポート ファイルを含む)にアクセスできます。バックグラウンド処理を無効にすると、結果は [進行状況] ダイアログ ボックスにも書き込まれます。

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

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

使用法

構文

ExploratoryRegression_stats (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
(オプション)

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

Long
Minimum_Number_of_Explanatory_Variables
(オプション)

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

Long
Minimum_Acceptable_Adj_R_Squared
(オプション)

これは条件を満たすとみなしたモデルのアジャストされた相関係数の二乗の最小値です。もしモデルが他の検索条件すべてを満たす一方で、アジャストされた相関係数の二乗が入力値より小さい場合、出力レポート ファイルには条件を満たすモデルとして表示されません。有効な値の範囲は 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% の信頼度があることを示しています。デフォルト値を緩和して 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, os
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 スクリプト)

次のスタンドアロン Python ウィンドウのスクリプトは、ExploratoryRegression(予備回帰分析)ツールの使用方法を示しています。

# Exploratory Regression of 911 calls in a metropolitan area
# using the Exploratory Regression Tool

# Import system modules
import arcpy, os

# Set geoprocessor object property to overwrite existing output, by default
arcpy.gp.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()

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ○
ArcGIS for Desktop Standard: ○
ArcGIS for Desktop Advanced: ○
5/10/2014