探索性回归 (Spatial Statistics)

许可等级:BasicStandardAdvanced

摘要

“探索性回归”工具会对输入的候选解释变量的所有可能组合进行评估,以便根据用户所指定的各种指标来查找能够最好地对因变量做出解释的 LOS 模型。

可从结果 窗口获取此工具的结果(包括可选报表文件)。如果禁用了后台处理,结果也将被写入进度 对话框。

了解有关“探索性回归”工作原理的详细信息

插图

Exploratory Regression Graphic
Given a set of candidate explanatory variables, finds properly specified OLS models.

用法

语法

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
(可选)

包含用于定义输入要素之间空间关系的空间权重的文件。此文件用于评估回归残差之间的空间自相关。您可以使用生成空间权重矩阵文件工具来创建此文件。尚未提供空间权重矩阵文件的情况下,将根据每个要素的 8 个最相邻像元对残差的空间自相关进行评估。

注:空间权重矩阵文件仅用于分析模型残差中的空间结构;不用于构建或校准任何 OLS 模型。

File
Output_Report_File
(可选)

报告文件包含工具结果,包括已通过您所输入的所有搜索条件的任何模型的相关详细信息。此输出文件还包含诊断信息,以帮助您在没有找到任何合格模型的情况下修复常见的回归问题。

File
Output_Results_Table
(可选)

创建的可选输出表,包含系数 p 值和 VIF 值中断内所有模型的解释变量和诊断信息。

Table
Maximum_Number_of_Explanatory_Variables
(可选)

将对解释变量数不超过此处输入值的所有模型进行评估。例如,如果 Minimum_Number_of_Explanatory_Variables 是 2,Maximum_Number_of Explanatory_Variables 是 3,探索性回归工具将会对包含两个解释变量的任一组合的所有模型进行评估,还会对包含三个解释变量的任一组合的所有模型进行评估。

Long
Minimum_Number_of_Explanatory_Variables
(可选)

此值表示所评估模型的解释变量的最小数量。例如,如果 Minimum_Number_of_Explanatory_Variables 是 2,Maximum_Number_of_Explanatory_Variables 是 3,探索性回归工具会对包含两个解释变量的任一组合的所有模型进行评估,还会对包含三个解释变量的任一组合的所有模型进行评估。

Long
Minimum_Acceptable_Adj_R_Squared
(可选)

这是您视为合格模型的最小校正可决系数值。如果模型已通过所有其它搜索条件,但“校正可决系数”值小于此处输入的值,则不会在输出报表文件中将其显示为“合格模型”。此参数的有效值范围是 0.0 至 1.0。默认值为 0.5,表示合格模型将解释因变量中至少 50% 的变化。

Double
Maximum_Coefficient_p_value_Cutoff
(可选)

对于所评估的每个模型,OLS 会计算解释变量系数 p 值。此处输入的中断 p 值表示模型中所有系数所需的置信度,需要达到此置信度才能认为模型满足条件。p 值较小表示置信度较强。此参数有效值的范围是 1.0 至 0.0,但很可能是 0.1、0.05、0.01、0.001 等等。默认值是 0.05,表示合格模型只包含其系数在统计学上处于 95% 置信度(p 值小于 0.05)的解释变量。要放宽此默认值,则应输入较大的 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
(可选)

对于通过所有其他搜索条件的模型,探索性回归工具将使用 Global Moran's I 对模型残差进行空间聚类检查。当此诊断检验的 p 值在统计学上具有显著性(小)时,表示该模型很可能缺少关键的解释变量(不能说明整个情况)。遗憾的是,如果回归残差中存在空间自相关,则模型将被错误指定,因此无法信任您的结果。对于此诊断检验,合格模型应具有较大的 p 值。默认的最小 p 值是 0.1。只有返回的 p 值大于此最小值的模型才被认为是合格的。如果对于此诊断检验,查找正确指定的模型很困难,并决定放宽此搜索条件,则可以输入更小的最小值,如 0.05。

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