matlab空间截面回归,截面空间回归模型操作应用手册

原标题:截面空间回归模型操作应用手册

SAR模型数据集包含对地理区域或其他单元的观测;所以需要的是有一些距离的度量标准来区分哪些单位彼此之间比较近。

spregress命令对横断面数据进行建模。它要求每一个观察都代表一个独特的空间单元。对于每个单元(即面板数据)有多个观察值的数据,请参见spxtregress命令。

为了使模型与内生性问题符合横截面数据,请参考spivregress。

gs2sls使用了广义空间两阶段最小二乘(gs2sls)的广义矩估计方法。ml使用最大似然(ml)估计。对于正态分布的数据,ml在理论上比gs2sls更有效,但是当数据是i.i.d的时候, spregress,gs2sls产生的结果与spregress,ml并没有多大区别。

vce(稳健)方差估计可与spregress, ml一起使用,产生对非标准i.i.d.误差稳健的标准误差。

1

权重矩阵

重要的是要理解加权矩阵的选择是SAR模型的一部分。

只根据邻近区域来定义空间滞后有意义吗?或者你想要模拟随着距离增加而减少的距离的影响?或者,您希望根据数据中的某些度量(例如国家之间的进出口价值)来建模空间滞后吗? Sp系统有spmatrix create命令,可以创建连续矩阵和 inverse-distance矩阵。例如,输入

spmatrix create contiguity W

产生了连续性W,创建一个对称加权矩阵W,对于连续空间具有相同的正权单位,默认情况下,所有其他单位的权值为零,还可以选择包括二阶邻居(邻居的邻居)的非零权值。还有用于创建自定义权重矩阵的Sp命令。

spregress、gs2sls和spregress、ml均可对具有多重空间滞后的模型进行拟合 独立变量。可以使用不同的空间权重指定多个ivarlag选项 相同或不同变量的矩阵。

spregress, gs2sls和spregress, ml均能拟合具有多个独立变量空间滞后的模型。

对于相同或不同的变量,可以使用不同的空间权重矩阵指定多个ivarlag选项。

使用gs2sls估计器,您还可以包含由两个或多个空间加权矩阵指定的相关变量空间滞后和自回归误差项。

为此,可以指定多个dvarlag选项或多个errorlag选项。

多重加权矩阵可以被看作是对真实因变量或误差空间依赖性的“高阶”近似,它们允许对空间滞后的公式进行测试。

使用ml估计器,您可以只包含一个dvarlag和一个errorlag,但是每个都可以有自己的空间加权矩阵,可能是不同的。

2

A spatial autoregressive model

我们想要模拟美国南部各县的谋杀率。homicide1990.dta包含

hrate,即每10万人每年的县级谋杀率;

ln-population,即县人口的对数;

ln-pdensity,人口密度的对数;

还有基尼系数(gini),即该县的基尼系数(gini coefficient),它是衡量收入不平等的指标,数值越大,代表的不平等越严重(gini 1909)。

数据是Messner等人(2000)最初使用的数据的摘录;参见Britt(1994)对该主题的文献综述。我们使用spshape2dta创建homicide1990.dtahe homicide1990 shp.dta。后一个文件包含美国南部各县的边界坐标。

因为分析数据集和stata格式的shapefile必须在工作目录中才能设置数据,所以我们首先保存homicide1990.dta和homicide1990-shp.dta。使用copy命令将dta发送到工作目录。然后我们加载数据并输入spset来查看Sp设置。

代码为:

copyhttps: //www.stata-press.com/data/r16/homicide1990.dta .

copyhttps: //www.stata-press.com/data/r16/homicide1990_shp.dta .

use homicide1990

spset

我们使用grmap命令在县地图上绘制谋杀率。结果如下:

凶杀率似乎在空间上是相互依赖的,因为高自杀率的县似乎聚集在一起。我们可以拟合一个普通的线性回归,并使用Moran检验检验误差是否与空间相关。

为了进行测试,我们需要一个空间加权矩阵。我们将创建一个对相邻的县使用相同的正权值,而对所有其他县使用零权值的矩阵—称为连续矩阵。我们将使用默认的归一化矩阵。

生成空间权重矩阵代码为:

spmatrixcreate contiguity W

回归分析regress ,代码为:

regresshrate

检验空间相关性,代码为:

estatmoran, errorlag(W)

建立SAR模型,代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls dvarlag(W)

hrate空间滞后的估计系数为0.23,说明一个县的凶杀率与邻近县的凶杀率正相关。我们可以使用estat impact来解释结果,但首先我们将说明如何适用于其他SAR模型。

我们现在通过添加errorlag(W)来包含一个空间自回归误差项。 代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls dvarlag(W) errorlag(W

注意,当包含自回归误差项时,估计过程成为迭代广义矩法。

3

A spatial autoregressive model

我们保留SAR误差项e.hrate在我们的模型中,并使用ivarlag(W:::::) 加入表示独立变量的空间滞后项。

代码为:

spregress hrate ln_population ln_pdensity gini, gs2sls dvarlag(W) errorlag(W) ivarlag(W: ln_population ln_pdensity gini)

滞后变量和自回归误差项的系数显著。

我们常常不确定应该使用哪个空间加权矩阵来计算空间滞后。许多研究人员使用一个空间加权矩阵,其(i;j)第一个元素是单位i与单位j之间距离的倒数,这个逆距离矩阵具有许多优良的性质,在空间分析中有着悠久的历史。

使用GS2SLS估计,我们可以使用两个空间加权矩阵包含空间滞后,在这种情况下,我们可以将它们视为一起提供了对真实空间过程的“高阶”近似。在我们的模型中,仅使用连续矩阵,因变量存在空间滞后。现在,我们将包括它和另一个滞后的因变量使用逆距离矩阵。我们使用默认的标准归一化创建反距离矩阵M,并使用spmatrix dir列出我们的Sp矩阵。

代码为:

spmatrix create idistance M

spmatrix dir

现在,我们将dvarlag(M)添加到模型中。

代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls dvarlag(W) errorlag(W) ivarlag(W: ln_population ln_pdensity gini) dvarlag(M)

除了权重矩阵w,权重矩阵M设定的hrate滞后都是显著的,想要在我们的最终模型中包含两者。

我们可以重复这个过程,在errorlag(W)之外再拟合一个带有errorlag(M)的模型,在ivarlag(W::::)之外再拟合一个带有ivarlag(M::::)的模型。一个问题是,在这个例子中,我们“只有”N = 1412个空间单位(观测值)。为了适应高阶滞后,我们需要大量的空间单元,所以我们需要像在其他模型构建过程中一样进行判断。在我们的最后一个模型中,每一项都有一个加权矩阵。我们将W用于dvarlag和 ivarlag,但是M表示errorlag。

代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls dvarlag(W) errorlag(M) ivarlag(W: ln_population ln_pdensity gini)

我们注意到,当模型中存在依赖变量滞后或独立变量滞后时,基于系数估计来解释协变量效应是困难的。

hrate高速率的空间滞后改变了协变量效应。一个县的基尼系数的变化会改变该县的条件均值,而这个变化会改变所有相邻县的条件均值。这些县的hrate的变化进而影响所有相邻县的hrate,依此类推,直到所有由相邻县链连接的县都受到影响。

由于hrate的空间滞后是如何改变协变量效应的,所以协变量的影响在不同的县是不同的。协变量的影响和空间单位一样多。正如LeSage和Pace(2009,第2.7节)所讨论的,我们将这些空间单元级效应的平均值定义为协变量效应。

在其他国家,基尼系数对hrate条件均值的影响称为间接或溢出效应。由于模型中包含了基尼系数的空间滞后,因此存在第二个间接影响。hrate方程中包含了邻县的基尼系数,所以一个县的基尼系数的变化会改变邻县hrate的条件均值。在同一县,基尼系数对hrate条件均值的影响称为直接或间接影响的效果。直接和间接影响的总和称为总影响。

我们使用estat影响来估计这些影响的大小。

代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls dvarlag(W) errorlag(M) ivarlag(W: ln_population ln_pdensity gini)

看到输出顶部的百分比了吗?对于大型数据集,计算效果的标准误差可能很耗时,因此estat impact在计算过程中报告其进度。

由于基尼系数是正的,所以基尼系数的直接影响是正的。由于相关变量滞后系数为正,且基尼系数为正,因此hrate的空间滞后对基尼系数的间接影响为正。由于基尼系数的空间滞后,其间接效应为负。estat的影响表明,基尼系数和的两个间接影响对净正间接影响,虽然总和与0无显著差异。

注意,W的归一化影响协变量的滞后系数估计值的大小。对于GS2SLS估计,W的归一化(行归一化除外)并不影响协变量效应的渐近估计。在有限样本中,这意味着W的归一化可能对estat影响产生的估计值产生很小的影响—与影响的标准误差相比很小。对于ML估计量,标准化并不影响estat impact显示的估计效果的大小。参见选择权重矩阵及其标准化。

在回归后运行estat impact对正确解释模型至关重要。estat impact影响的输出可以直接读取为所有空间单位(观测值)的协变量平均每增量变化的因变量度量的变化。

estat impact显示边际(增量变化)效应。我们可能想看看协变量中离散变化的总体影响。在这个例子中,因变量的期望在协变量中是线性的。我们没有拟合多项式或其他非线性项。我们可以把增量变化乘以协变量的离散变化。或者,我们可以使用margin命令,它既适用于线性项,也适用于非线性项。

4

spregress, gs2sls heteroskedastic

spregress, gs2sls命令有一个异方差选项,要求误差是独立的,但不一定是同分布的。实际上,这个选项会导致空间自回归误差相关系数和标准误差的估计值发生变化。在没有空间自回归误差的模型中,只有标准误差会改变。

如果我们将异方差选项添加到模型中,我们得到

代码为:

spregresshrate ln_population ln_pdensity gini, gs2sls heteroskedastic dvarlag(W) errorlag(M) ivarlag(W: ln_population ln_pdensity gini)

5

spregress, ml

SAR模型可以使用ML估计进行拟合。这是我们在例1中使用ml代替gs2sls估计的第二个模型。

代码为:

spregresshrate ln_population ln_pdensity gini, ml dvarlag(W) errorlag(W)

我们使用estimate store存储估计结果,就像使用与gs2sls相同的模型一样,现在我们使用estimate表来比较系数估计及其标准误差。

代码为:

estimatestable gs2sls_model ml_model, b(% 6.3f) se(% 6.3f)

结果有明显的不同。ln pdensity系数在GS2SLS模型中显著,而在ML模型中不显著。然而,基尼系数估计是相似的,它们的标准误差也是相似的。hrate 滞后期的系数在ML模型中变成负的,SAR模型中误差相关性由0.36增加到0.62。我们注意到ML估计量在异方差性下是不一致的;为了一致性,误差分布需要被i.i.d。

◆◆◆◆

点击上图查看:

点击上图查看:

空间计量第三部: 空间计量及Matlab应用课程(SPATIAL AUTOREGRESSIVE MODELS USING STATA) 返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368157.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java垃圾回收(2)

并行清理 今天,我们介绍了并行GC的工作原理。 具体来说,这是在Eden上运行Parallel Scavenge收集器,在Tenured一代中运行Parallel Mark and Sweep收集器的组合。 您可以通过传递-XX: UseParallelOldGC来获得此选项,尽管…

Navicat Premium创建MySQL存储过程

1、使用Navicat Premium打开创建函数向导,操作:连接名——数据库——函数——新建函数 2、选择过程——输入存储过程参数——完成(这一步可以不填写参数,编写存储过程代码的时候设置参数) 3、按照要求完成存储过程代码…

CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

一、盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin)、边框&#xff…

mysql中将某个字段做计算,mysql创建计算字段使用子查询教程

作为计算字段使用子查询使用子查询的另一方法是创建计算字段。假如需要显示 customers表中每个客户的订单总数。订单与相应的客户ID存储在 orders 表中。为了执行这个操作,遵循下面的步骤。(1) 从 customers 表中检索客户列表。(2) 对于检索出的每个客户&#xff0c…

像Java这样的C ++具有低延迟

总览 以前,我写过一篇有关Java之类的C的文章。 这是我以前遇到的术语。 但是,经过思考,我认为像Java这样的C 是一个更好的术语,因为您仍在使用OOP做法(不是C风格的),但是您需要自己进行更多的工…

项目一总结

1、编程逻辑不明确的问题 在项目开始阶段,项目分工应根据项目模块进行详细分工,公用部分应尽量节省时间 2、对于文件命名规则的定义,现在项目名字命名很乱,在项目整合时会出很多问题 3、文件目录不清晰,条理性差 4、代…

Android GreenDao使用教程

一、Greendao简介 Greendao是一款用于数据库创建与管理的框架,由于原生SQLite语言比较复杂繁琐,使得不少程序员不得不去学习SQLite原生语言,但是学习成本高,效率低下,所以不少公司致力于开发一款简单的数据库管理框架&…

matlab如何将相近的数据,matlab新手,求帮助!主要是如何将数据和公式导入

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这是别人给我的程序,我想问一下怎么把我的两个excel数据导入,以及公式怎么写?clc;clear all;close all;datadlmread(all_data_in_situ_lxz.txt);data(6,:)[];data(12,:)[];data(13,:)[];data(13,…

Java垃圾回收(1)

这是有关垃圾收集(GC)的系列文章中的第一篇。 我希望能够涵盖整个系列过程中的理论知识以及热点虚拟机中的所有主要收集器。 这篇文章仅说明什么是垃圾回收,以及不同回收器共有的元素。 我为什么要在乎? 您的Java虚拟机可以为您管…

如果

(最近遇到了一些困难,这篇翻译自己一直就很喜欢,贴上来鼓励自己。) 如果 吉卜林【英】芮成钢【译】 如果,身边的人都失去理智,并将其归咎于你, 而你却能保持清醒; 如果,所…

深入c#的string类

一.字符串常用方法 1.IndexOf("") 如果找到字符串出现的位置则为索引位置,否则返回-1,索引从0开始 2.string Substring( int startIndex , int length ); 从开始位置startIndex,截取到结束位置(截取长度length&#xff…

go语言服务器连接mysql,服务器mysql怎么配置才能远程连接

如何设置MYSQL服务器允许远程连接?如果你使用的与数据库不在同一台服务器上电脑,那么MySQL 服务器就需要允许远程链接,网站才能正常运行。那么如何设置MYSQL服务器允许远程连接呢?我想这是很多人都想提出的疑问,下面是…

h1、h2、h3标签及strong标签对页面seo的影响

今天和大家来聊下h1,h2,h3,strong几个标签&#xff0c;在网页中的使用对页面seo的影响&#xff0c;也阐述了个人的一些想法。 首先简要讲下H标签及strong标签的含义&#xff1a;<h1>、<h2>、<h3>、<h4>、<h5>、<h6>,作为标题使用&#x…

少锁定Java对象池

自从我写任何东西以来已经有一段时间了&#xff0c;我一直在忙于我的新工作&#xff0c;该工作涉及在性能调整方面做一些有趣的工作。 挑战之一是减少应用程序关键部分的对象创建。 尽管Java随着时间的推移改进了GC算法&#xff0c;但垃圾回收打h一直是Java的主要难题。 Azul是…

Java (数组的遍历,for循环的使用)

/*多行注释的快捷键&#xff1a;Ctrlshift/ 快速格式化代码快捷键&#xff1a;Ctrlshiftf 自动导入一个包&#xff1a;Ctrlshifto */ package test_1;public class Day_2 {public static void main(String args[]) {//一个九九乘法表的实现int c 0;for (int a 1; a < 9; a…

php数据库postgresql,PHP 操作 PostgreSQL数据库

1.要让PHP支持PostgreSQL&#xff0c;就需要重新编译PHP&#xff1b;./configure --prefix/usr/local/php5 --with-apxs2/usr/local/apache2/bin/apxs --with-mysql/usr/local/mysql --with-config-file-path/usr/local/php5 --with-zlib --enable-mbstringall --with-mysql…

开始学习前端开发吧

据说最好的输入是输出&#xff0c;所以听我讲给你听我学到的东西吧。 学习前端入门时&#xff0c;无论在哪儿都告诉我们&#xff0c;要学习HTML CSS JS。google之&#xff0c;得到html是超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称…

Java 8 Lambda演练

在工作中&#xff0c;我做了关于Java 8项目lambda的演示&#xff0c;当然还有一些简单的代码来说明其中的一些要点。 Java 8的总体原因是&#xff1a; 更简洁的代码&#xff08;适用于只有一种方法和集合的类&#xff09;。 “我们希望代码的读者在到达lambda表达式的“实质”…

虚拟机vmnet0、vmnet1和vmnet8的区别

vmnet0&#xff0c;实际上就是一个虚拟的网桥 vmnet0&#xff0c;实际上就是一个虚拟的网桥&#xff0c;这个网桥有很若干个端口&#xff0c;一个端口用于连接你的Host&#xff0c;一个端口用于连接你的虚拟机&#xff0c;他们的位置是对等的&#xff0c;谁也不是谁的网关。所以…

uestc summer training #2

A 增广 #include<bits/stdc.h> using namespace std; const int MAXN 1000000 10; vector<int> g[MAXN]; int a[MAXN], b[MAXN], sz[MAXN], cnt[MAXN]; bool mg[MAXN], vis[MAXN]; int n, m; bool dfs(int u, int f -1) {if (g[u].empty()) //如果当前数没有位…