计算QGIS中两个单独图层的要素之间的空间相关性


10

我试图确定一个地区大量现役军人的存在是否与高/低暴力犯罪水平在空间上相关。也就是说,与不靠近军事基地的地区相比,围绕大型军事基地的地区平均而言,暴力程度是否更高?

我正在使用以下两个数据集:

(1)美国大陆军事基地的点数据集及其相应的部队等级:

美国军事设施在下层48个地点

(2)一组有关城镇的暴力犯罪率的全国性数据:

美国各城市的暴力犯罪水平

我觉得我正在寻找某种基于重力的模型,其中“质量”函数给出每个基地的部队水平。因此,大部队的存在将对更大的区域产生影响,并且在质心附近(即GIS层中的点位置)产生更大的影响。

我认为从概念上讲,它看起来像这样: 重力模型-距离衰减图

在此图中,X,Y,Z代表军事基地。a,b,c,d分别代表城市(每个城市的属性表中都有一个暴力发生率字段)。

基部周围的梯度表示影响范围,该范围随距基体质心的距离呈指数减小。更大的部队存在等于更大的影响半径(具有一定的最大阈值距离),并且相对于较小的基地附近的区域,也意味着在中心附近的影响更大。

每个城市将基于其周围所有影响力半径来自其周围所有基地的所有“力”向量的大小之和而获得得分。因此,例如,在我的图表中,城市a的得分为0,因为它位于在任何基地的半径之外。城市b仅受基数X影响。城市C仅会受到基准Z的影响,并且其得分将低于基准b,因为X的基准比Z大得多。最后,城市d位于两个基准XY的半径内,它将基于两个基地的影响力总和获得得分。然后,我将查看城市的较高分数与较高的暴力发生率之间是否存在相关性。

我一直在研究各种基于重力的模型(例如Huff模型等),但一直无法找到QGIS / Python所能提供的信息,因此我不确定如何实现我上面描述的内容……有人建议吗?为了这?你们中的任何人以前曾在其他领域进行过此类分析吗?

因此,TLDR为:

  • 对于此类问题,我可以使用哪些统计技术?
  • 是否有QGIS内置的工具(或作为插件提供)可以做到这一点?
  • 如果QGIS中没有类似的东西,是否有任何Python库可以执行这种分析?

只是要清楚,我知道有一的是接触到暴率(贫困,城市密度等),玩,但请假设为简单起见,有没有显著混杂变量等因素而我是唯一看这两个变量之间的相关性(部队人数和暴力发生率)。在这一点上,这只是一个学习练习,我正在尝试找出可供我使用的工具。谢谢!
J. Taylor

1
为了回答您的第三个问题,我找到了PySAl,它是由Luc Anselin教授开发的,鉴于您的兴趣值得一看。他还从事过GeoDa的研究,这是您正在寻找的现成解决方案。可能有QGIS的PySAl插件吗?pysal.readthedocs.org/en/latest
拉斐尔

Answers:


2

在上面扩展我的评论

您可能最终想要做的是运行带有空间滞后的线性回归,该线性回归说明了某些变量在空间上的相关性(我将不得不看一下对此的注释)。

Luc Anselin一直是该领域的先驱,您应该看看他的工作,尤其是GeoDa中心的(免费)工具和文档。您可能会对这两种工具感兴趣:

  1. GeoDa,用于探索空间(自动)相关性的独立软件。
  2. PySAL,一个Python空间分析库。

我在搜寻QGIS的PySAL插件时发现,有些东西多年来没有更新,但是您可能会遇到更多的运气。


谢谢拉斐尔。我将进一步研究“具有空间滞后的线性回归”的概念。感谢#qgis IRC频道上的推荐,我已经遇到过PySAL / GeoDa。您是正确的,GeoDa页面上的许多文档对您有所帮助。我仍然找不到能满足我想要的功能的任何东西,但是如果最终我不得不自己编写代码,那么那里有很多工具看起来像它们将是有用的“构建基块”。
J. Taylor
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.