最小二乗法(Ordinary Least Squares)(OLS) (空間統計解析)
サマリ
グローバルな最小二乗法(OLS)による線形回帰分析は予測したり、独立変数との関係から従属変数をモデル化したりします。
[結果] ウィンドウからツールのこのツールの結果(オプションのレポート ファイルを含む)にアクセスできます。バックグラウンド処理を無効にすると、結果は [進行状況] ダイアログ ボックスにも書き込まれます。
図
使用法
-
最小二乗法による回帰分析の結果を信頼できるのは、最小二乗法で本質的に必要とされる仮定をすべて、データと回帰モデルが満たしている場合だけです。モデルが適切に指定されているか確認するには、「回帰分析の基本」にある表「一般的な回帰分析の問題、結果、対策」をご参照ください。
-
従属変数と独立変数は、さまざまな値を含む数値フィールドである必要があります。最小二乗法では、変数がすべて同じ値を持つ場合(たとえば、フィールドの値がすべて 9.0 の場合)、解がありません。最小二乗法のような線形回帰分析法は、二値的な結果を予測するのには適していません(たとえば、従属変数の値がすべて 1 または 0 の場合)。
-
個別値フィールドは、モデルの予測を各フィーチャにリンクします。そのため、個別値フィールドの値はどのフィーチャでも一意でなくてはならず、一般にそのフィーチャクラスに残る永続フィールドである必要があります。個別値フィールドがない場合は、フィーチャクラス テーブルに新しい整数フィールドを追加して、フィールド値が FID/OID フィールドと等しくなるように計算することで、簡単に作成できます。固有値パラメータに FID/OID フィールドを直接使用することはできません。
-
統計的に有意な回帰残差に空間的自己相関が存在する場合は、最小二乗モデルの仕様が間違っているとみなされるため、最小二乗法による回帰分析の結果は信頼できません。回帰残差に対して [空間的自己相関分析(Spatial Autocorrelation(Morans I))] ツールを実行して、この問題が生じていないか確認してください。統計的に有意な回帰残差に空間的自己相関は、ほぼ常に、1 つ以上の重要な説明変数がモデルに欠けていることを示しています。
-
回帰残差が予測より明らかに上下にずれているものがないか視覚的に調べて、それが回帰モデルに欠けている変数の手がかりにならないか確認します。残余に対して [ホット スポット分析(Hot Spot Analysis)] を実行すると、予測とずれた結果の空間クラスタ化を視覚化するのに役立つことがあります。
-
仕様の間違いが、グローバル モデルを使用して非定常変数をモデル化しようとしたせいである場合は(最小二乗法はグローバル モデルです)、[地理空間加重回帰分析(Geographically Weighted Regression)] を使用して予測を改善し、独立変数に内在的な非定常性(局所的変数)を把握できることがことがあります。
-
計算結果が無限または未定義の場合、シェープファイル以外の出力は NULL に、シェープファイルの出力は -DBL_MAX(たとえば、-1.7976931348623158e+308)になります。
モデルのサマリ診断情報は、最小二乗法サマリ レポートとオプションの診断出力テーブルに書き込まれます。いずれの場合も、AICc(Corrected Akaike Information Criterion、補正赤池情報量基準)、決定係数、Joint F 統計、Wald 統計、Koenker's Breusch-Pagan 統計、および Jarque-Bera 統計の診断情報が含まれます。また、診断テーブルには、補正されていない AIC とシグマ 2 の値も含まれます。
-
オプションの係数または診断出力テーブルがすでに存在していて、[ジオプロセシング処理の出力ファイルを上書き] がオンの場合、テーブルは上書きされます。
-
このツールでは、必要に応じて結果を要約している PDF ファイルを作成することもできます。PDF ファイルは、カタログ ウィンドウに自動的に表示されません。PDF ファイルをカタログに表示するには、ArcCatalog アプリケーションを開き、[カスタマイズ] メニュー オプションを選択し、[ArcCatalog オプション] をクリックし、[ファイル タイプ] タブを選択します。[新規タイプ] ボタンをクリックし、[ファイル拡張子] に [PDF] を指定します。
-
中国語または日本語の ArcGIS 言語パッケージで構成されたコンピュータでは、PDF [出力レポート ファイル] で文字の欠落とフォーマットの問題が発生することがあります。これらの問題は、フォント設定の変更により修正できます。
-
マップ レイヤを使用して、入力フィーチャクラスを指定できます。解析対象として指定したレイヤの中で何らかのフィーチャが選択されている場合、選択されているフィーチャだけが解析の対象となります。
このツールの主たる出力は最小二乗法サマリ レポートで、[結果] ウィンドウに書き込まれるか、追加のグラフィックスとともに指定した [出力レポート ファイル] に書き込まれます。レポートを開くには、[結果]ウィンドウで PDF レポート ファイルをダブルクリックします。[結果] ウィンドウで[メッセージ] 項目を右クリックし、[表示] をクリックすると、[メッセージ] ダイアログ ボックスに最小二乗法サマリ レポートが表示されます。
[最小二乗法(Ordinary Least Squares)] ツールは出力フィーチャクラスも作成します。オプションで、係数情報と診断情報を含んだテーブルも作成します。これらはすべて [結果] ウィンドウから表示できます。出力フィーチャクラスは自動的にコンテンツ ウィンドウに追加され、残差のモデルに、ホットおよびコールド レンダリング スキーマが適用されます。それぞれの出力の詳細な説明は、「最小二乗法の結果の解釈」をご参照ください。
このツールが、カスタム モデル ツールの一部であって、ツールの実行前にテーブルがモデル パラメータとして設定されている場合、オプションのテーブルは [結果] ウィンドウだけに表示されます。
シェープファイルを使用するときは、NULL 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、NULL 値がゼロとして格納または解釈される場合があります。場合によっては、NULL 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。
構文
パラメータ | 説明 | データ タイプ |
Input_Feature_Class |
分析する独立変数と従属変数を含むフィーチャクラスです。 | Feature Layer |
Unique_ID_Field |
入力フィーチャクラスのすべてのフィーチャで値が異なる整数フィールドです。 | Field |
Output_Feature_Class |
従属変数の推定値と残差を受け取る出力フィーチャクラスです。 | Feature Class |
Dependent_Variable |
モデル化しようとしている値を含む数値フィールドです。 | Field |
Explanatory_Variables [Explanatory_Variables,...] |
回帰モデルの独立変数を表すフィールドのリストです。 | Field |
Coefficient_Output_Table (オプション) |
各説明変数のモデル係数、標準化された係数、標準誤差、確率を受け取るオプションのテーブルへの絶対パスです。 | Table |
Diagnostic_Output_Table (オプション) |
モデルのサマリ診断情報を受け取るオプションのテーブルへの絶対パス名です。 | Table |
Output_Report_File (オプション) |
ツールで作成するオプションの PDF ファイルへのパス。このレポート ファイルは、モデル診断情報、グラフ、最小二乗法の結果の解釈に役立つ説明を含んでいます。 | File |
コードのサンプル
次の Python ウィンドウ スクリプトは OrdinaryLeastSquares(最小二乗法)ツールを使用する方法を示しています。
import arcpy
arcpy.env.workspace = r"c:\data"
arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID","olsResults.shp",
"GROWTH","LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
"olsCoefTab.dbf","olsDiagTab.dbf")
次のスタンドアロン Python スクリプトは OrdinaryLeastSquares(最小二乗法)ツールを使用する方法を示しています。
# Analyze the growth of regional per capita incomes in US
# Counties from 1969 -- 2002 using Ordinary Least Squares Regression
# Import system modules
import arcpy
# Set the geoprocessor object property to overwrite existing outputs
arcpy.gp.overwriteOutput = True
# Local variables...
workspace = r"C:\Data"
try:
# Set the current workspace (to avoid having to specify the full path to the feature classes each time)
arcpy.workspace = workspace
# Growth as a function of {log of starting income, dummy for South
# counties, interaction term for South counties, population density}
# Process: Ordinary Least Squares...
ols = arcpy.OrdinaryLeastSquares_stats("USCounties.shp", "MYID",
"olsResults.shp", "GROWTH",
"LOGPCR69;SOUTH;LPCR_SOUTH;PopDen69",
"olsCoefTab.dbf",
"olsDiagTab.dbf")
# Create Spatial Weights Matrix (Can be based off input or output FC)
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("USCounties.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6)
# Calculate Moran's Index of Spatial Autocorrelation for
# OLS Residuals using a SWM File.
# Process: Spatial Autocorrelation (Morans I)...
moransI = arcpy.SpatialAutocorrelation_stats("olsResults.shp", "Residual",
"NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE", "#",
"euclidean6Neighs.swm")
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()