在python21中实现的空间滞后算子:仅k近邻(oknn),pyoknn。

PyOKNN的Python项目详细描述


pyoknn-用python实现的空间延迟运算符建议:仅限k近邻(oknn)。

为什么

与时间序列的情况相反,指定空间滞后算子涉及到很多随意性。因此,这一建议产生了一个可用的滞后算子,主要是在没有修改的情况下观察到的。(单击展开)

Fingleton(2009年)Corrado和Fingleton(2012年)提醒时间和空间过程,至少在考虑它们的滞后算子时。在空间经济计量(SE)案例中,lag运算符总是通过使用矩阵显式涉及,其中矢量,根据组件在时间线。这使得延迟过程可以简单地通过延迟确定的行数(例如,一行)来抵消这些组件。从矩阵的角度来看,这个抵消过程将完全等同于预乘未排序版本的布尔值矩阵src="https://warehouse camo.cmh1.psfhosted.org/eea5989ca53115e1aa867bd8cb599c1f7741542d/68747470733a2f6c617465782e636f6465636f67732e636f6d2f6769662e6c617465783f31" />s表示时间位置之间的直接和单向接近。

因此,结构化数据生成过程(DGP)主要包括观察到的,即没有重组假设或转换。对于每个延迟,这提供了具有直接参数空间定义的统计学家,其精确边界的知识很重要,用于估算和推断(Elhorst等人,2012)

与时间序列的情况相反,指定的各向同性。ref="http://doi.wiley.com/10.1002/9781119115151" rel="nofollow">(克雷西,1993年)和finding通过一个非常大的入口规范竞争对手的数量,无论是函数的还是二进制的。一些著名的入口规格是负指数函数(Haggett,1965),反向距离函数(威尔逊,1970年),组合距离边界函数(命令行和命令行,1973年)和加权逻辑无障碍函数(Bodson和Peeters,1975年)。二进制权重规格是基于k近邻(knn)、k阶邻接性或径向距离。然后,为了确保任何待滞后变量相对于模型其他变量的唯一定义,根据三个竞争标准化中的选择进行缩放技术。第一个使行随机,但不一定保持对称性。第二个是将乘以对角线的负平方根矩阵报告其行总数(cliffe and ord,1973)。最后一个按其最大特征根缩放(Elhorst,2001)

但选择并不是无害的。为了使最大似然(ML)估计一致,估计的空间模型必须包含真实的Dogan,2013年;Lee,2004年)。在处理自回归扰动时,估计量ML和空间广义矩(GM)(Anselin,2011年,Arraiz等人,2010年Drukker等人,2013年Kelejian和Prucha,2010年)理论上,他们对不可观测创新的认识建立在src="https://warehouse camo.cmh1.psfhosted.org/4e56ce9f686a34eb115dc020335f53e2f24ecb/687470733a2f2f6c617465782e636f6465636f67732e636f6d2f7376672e6c617465783f5c626f6c673796d626c7b5c6d617468726d7b577d7d" />。当面对非自回归规范中的内生性问题并求助于,例如kelejian和prucha(1999)的广义矩估计(gm),外生性约束的定义在很大程度上依赖于,这肯定会产生一致且有效的估计,但可能不会涉及真正的DGP。如果采用仪器变量(IV)法——在这种方法中,空间被认为是提供理想仪器的场所(das et al.,2003)(http://dx.doi.org/10.1111/j.1435-5597.2003.tb00001.x" rel="nofollow");Lee,2003年Pinkse和Slade,2010年)–,最常见的远远不能保证仪器的强度具体情况,即其滞后由邻居平均值构成。此外,正如Gibbons and Overman(2012)所讨论的,将空间滞后算子的更高幂的乘积包含在仪器集合中很可能导致共线性问题,进而导致识别和仪器的弱点。最后,在计算Lesage and Pace(2009)的直接和间接影响时,回归的真导数相对于任何空间过滤变量的正确性是

因此,下面的建议是,空间滞后算子的一种特殊方法,其特性尽可能接近其时间序列(ts)对应项,可在无需修改的情况下使用。尽管如此,我们还是遵循了Pinkse and Slade(2010,p.105)提出的开发工具的建议,这些工具不仅仅是将熟悉的TS技术扩展到多个维度。这是通过提出一种专门的方法来实现的,该方法完全基于对空间经验特征的观察,同时尽可能减少所需的假设集。

然而,oknn规范的是k-order ts lag operator,令人惊讶的是,它从未被提出过。这一事实的可能原因是通常对正则格的假设,即自回归结构叠加在正则格上。通常被视为一个问题,晶格的不规则性是这个规范的合理之处。此外,在现实的空间配置中,晶格的规则性是例外而不是规则。

本规范暗示了三阶段建模方法在空间上的转换,包括(i)识别和选择模型,(ii)估计参数和(iii)检查模型。因此,在本研究中要选择的模型可能涉及大量的参数,这些参数的分布可能不是对称的,很难进行解析推导。这就是为什么除了(基于正态近似)观测到的置信区间之外,还实现了(非调整和调整的)bootstrap百分位区间。然而,固定空间权重矩阵的存在禁止使用传统的自举方法。为了计算所有参数的(正态近似或基于百分位数的)置信区间,我们使用了bootstrap方法的一个特例,即空间计量经济模型的bootstrap-test-statistics rel="nofollow">lin等人。(2007)的基于残差的递归野生引导的混合版本。这种方法特别合适,因为它(i)"解释了数据中固定的空间结构和未知形式的异方差"和(ii)"可用于空间经济计量模型的模型识别(预测试)和诊断检查(后测试)"。如上所述,非调整百分位间隔以及偏差校正和加速(BCA)百分位间隔(efron and tibshirani,1993)也已实现。

<详细内容>

如何

python2.7.+要求

安装

我们将使用一个包管理系统来安装和管理用python编写的软件包,即pip。在OS Shell提示符下打开会话并键入

pip install pyoknn

或者使用非python内置方法,即git

git clone git://github.com/lfaucheux/PyOKNN.git
cd PyOKNN
python setup.py install

示例用法:

下面的示例是通过python shell完成的。首先导入模块pyoknn

>>> import PyOKNN as ok  

我们使用安塞林的Columbus Oh 49观测数据集。由于数据集包含在pyoknn中,因此无需提及路径目录。

>>> o = ok.Presenter(
...     data_name = 'columbus',
...     y_name    = 'CRIME',
...     x_names   = ['INC', 'HOVAL'],
...     id_name   = 'POLYID',
...     verbose   = True,
...     opverbose = True,
... )

让我们直接说明这个包的主要存在理由,即建模空间相关结构。为此,只需键入

>>> o.u_XACF_chart
saved in  C:\data\Columbus.out\ER{0}AR{0}MA{0}[RESID][(P)ACF].png

>>> o.u_hull_chart
saved in  C:\data\Columbus.out\ER{0}AR{0}MA{0}[RESID][HULLS].png

er{0}ar{0}ma{0}[resid][(p)acf].pnger{0}ar{0}ma{0}[resid][hulls].png看起来像这样

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/f1ACB93A61F9EDB88FDF59F590BE0FE3292B4692B49523/687474747073322222F67677467676762622E6262622E636F6D2F66D2F6C66666175636865686565757575782F50794F4F4B4F4F4F4F4E4F4E4F46622F622F622F622F6D676767622F6D67676767677474747474747465727272722F65722F4F4F4F4F4F4F4F4F4F4F是的850294143462535442E706E673F7261773D74727565"宽度="50%" />

n.b.(单击展开) 船体图应谨慎对待,因为在讨论"长距离趋势"和/或"空间相关方差"之前,我们应确保残差以某种方式按地理位置排序。然而,如下面的地图所示,说它完全没有信息似乎是滥用。

<详细内容>

无论是在ACF(上拨号)还是在PACF中,我们显然在1、2和4滞后的工作中有着显著的依赖关系。首先让我们把它看作全局的(因此考虑到pacf)并得到ar{1,2,4}。

>>> o.u_XACF_chart_of(AR_ks=[1, 2, 4])
Optimization terminated successfully.
         Current function value: 108.789436
         Iterations: 177
         Function evaluations: 370
saved in  C:\data\Columbus.out\ER{0}AR{1,2,4}MA{0}[RESID][(P)ACF].png
>>> o.u_hull_chart
saved in  C:\data\Columbus.out\ER{0}AR{1,2,4}MA{0}[RESID][HULLS].png

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/065a070e81c2ce2a4226f52408428682f7011d02/687470733a2f2f67697475622e636f6d2f6c66175686575782f50794f4b4e2f626c6f622f6d61737465722f50794f4e4e4e2f6578616d706c657332f45225325374230253742c3425374444d41253372435353744253542553494425354425354228502941346253542E706E673F7261773D74727565"宽度="50%" />

或者把它们看作是本地的,让我们用ma{1,2,4}.

>>> o.u_XACF_chart_of(MA_ks=[1, 2, 4])
Optimization terminated successfully.
         Current function value: 107.015463
         Iterations: 174
         Function evaluations: 357
saved in  C:\data\Columbus.out\ER{0}AR{0}MA{1,2,4}[RESID][(P)ACF].png
>>> o.u_hull_chart
saved in  C:\data\Columbus.out\ER{0}AR{0}MA{1,2,4}[RESID][HULLS].png

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/cd9820486bf459b9b9bbbbbbbbbbbbbbbbbbbbbbb6869bbbb7e31b16a48/68747474747474707373322222f67676774626262622E6F66D2F66C6666617563686568656565687575782f50794F4F4B4F4F4E44F4F4E4F4E4E4F4E4F4E4E4F4E4E4E4E4F4E4E4F6262F62F62F622F62F62F62F62F6262是的425354228502941346253542E706E673F7261773D74727565"宽度="50%" />

把犯罪变量看作是inc和hoval在空间上的协整,让我们进行一个(部分)差分,它的结构叠加在lags 1,2和4上。

>>> o.u_XACF_chart_of(ER_ks=[1, 2, 4])             
Optimization terminated successfully.
         Current function value: 107.126738
         Iterations: 189
         Function evaluations: 382
saved in  C:\data\Columbus.out\ER{1,2,4}AR{0}MA{0}[RESID][(P)ACF].png
>>> o.u_hull_chart
saved in  C:\data\Columbus.out\ER{1,2,4}AR{0}MA{0}[RESID][HULLS].png

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/c3030a161c7fb6bf621a9172325dd3685c30276d/68747470733a2f2f67697475622e636f6d2f6c6617563686575782f50794f4b4e2f626c6f622f6d61737465722f50794f4b4e4e2f6578616d706c657332f452253742c322c34253744152537423025377444d4125374230253744253542553494425354425354228502941346253542E706E673F7261773D74727565"宽度="50%" />

小结总是有用的。

pip install pyoknn
0

假设规范er{0}ar{0}ma{1,2,4}具有最小的bic,让我们继续研究它并检查它的参数协方差矩阵和统计表。请记住,返回的统计信息和结果始终是我们使用的上一个模型的统计信息和结果。我们可以通过输入

pip install pyoknn
1

由于我们想继续规范er{0}ar{0}ma{1,2,4},因此必须显式地将其设置为"正在进行"。这可以在请求参数协方差矩阵和统计表时完成,如下所示

pip install pyoknn
2

pip install pyoknn
3

顺便说一下,请注意上表适用于

pip install pyoknn
4

但是,人们可能不想对空间参数分布做出任何假设,而倾向于通过bootstrap估计所有参数及其(偏差校正和加速-bca)百分位区间的经验方法。

pip install pyoknn
5

10000次再采样之后,我们看到关于使用基于正态近似的置信区间的经济参数不是"完全错误",请看:

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/0a475d62ff252ed360625ba24b96ee718d0d018/68747470733a2f2f67697475622e636f6d2f6c6617563686575782f50794f4b4e4e2f626c6f622f6d61737465722f50794f4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4f6578616d706c657332f4522553742302537744442d41253372312c342534428313030303292535422706172535442535426265746130253544253542646973742535442E706E673F7261773D74727565"width="33%" />

这对于空间参数来说是不正确的:

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/02F8B5F9765652931A9DBC6EFB713912E8BA978116/687474747073322222F6767746262622E636F6D2F6F6D2F6F6C66666175636865656865656575782574747474747474747474622F4F4B4F465454545454545450794F50794F4B4F4F4E4F4F4E4F4F4E4F4E4F4E4F4E4E4E4E4F4F4E4E4E4E4E4F4F626262F62F626262是的06172535442532535426C616D626425374223125374425374425356426469737742535442E706E673F7261773D74727565"width="33%" />

一个显著的差异是BCA百分位区间包含0,而其非bca版本不包含0。此外,在处理非对称分布时,这些非正态区间的信息量更大,同

< < >src="https://warehouse-camo.cmh1.psfhosted.org/2964c381f36b20ef57ba5fc087050f32bea2c/687470733a2f2f67697475622e636f6d2f6c66175686575782f50794f4b4e4e2f626c6f622f6d61737465722f50794f4e4e4e2f6578616d706c65732f4522537425374230253744d412533723742c322c342534428313030303292535422706172535442535427369676d612535453253742d4c25374242535442535264697342535442e706e673f7261773d74727565"width="33%" />

请注意,以前称为typingo.table_test的统计表现在在右侧由引导结果增加。

pip install pyoknn
6

顺便说一下,除了这些参数之外,还生成了其他分布

imgsrc="https://warehouse-camo.cmh1.psfhosted.org/519ee70447b68ac95d08e2629134a527ec2f6134/68747470733a2f2f67697475622e636f6d2f6c6617563686575782f50794f4b4e2f626c6f622f6d61737465722f50794f4b4e4e2f6578616d706c657332f4522537425374230253744d412531253337422c322c342534428313030303292535422637274255442535426C696B253544253542646973742535442E706E673F7261773D74727565"width="33%" />

所有其他图表(分布图和收敛图)都可以在这里查看。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
tomcat Java条带错误   java OPENTSDB fsck修复程序不更正重复点   java JavaFX在控制器内切换自身的可见性   java maven surefire插件未并行执行运行程序   读取导致Freemarker模板引擎中TemplateException的Java对象   无法使Java库与我的Android应用程序一起工作   安卓 java。lang.IllegalStateException游标   使用Java检索XML文件中的XSL URL和名称   java如何从文本文件集合中提取特定值   电子邮件java mail gmail   java为什么finalize()只被垃圾收集器调用一次?   java方法findViewById(int)对于Json类型是未定义的。蛇形   java在安卓中尝试从brother打印机打印位图时遇到以下异常   java在颤振中支持Kotlin的优势   java从后面编写文本   java制作列表。第一个列表可以有相同的数字,第二个将是价格,尝试制作第三个列表,如果它们是相同的数字,它将添加价格