Spatial Data Analysis(四):空间自相关示例

news2024/11/27 5:33:43

Spatial Data Analysis(四):空间自相关示例

空间自相关是地理信息科学(GIS)和空间统计学中的重要概念之一,用于研究地理空间上的数据变异性和相关性。空间自相关分析的目标是探讨地理空间中的现象是否呈现出某种程度的空间模式或趋势。在这个过程中,我们关注地理空间中相邻位置之间的数据值之间是否存在某种关联。

以下是关于空间自相关的详细介绍:

1.基本概念:

  • 空间自相关:空间自相关是指地理空间上相邻位置的数据值之间的相关性。如果相邻位置的数据值彼此相似,则存在正的空间自相关;如果相邻位置的数据值彼此不同,则存在负的空间自相关。
  • 空间权重矩阵:空间自相关的分析通常涉及构建一个空间权重矩阵,该矩阵描述了不同位置之间的空间关系。常见的空间权重矩阵包括邻近矩阵(表示相邻关系)和距离衰减矩阵(表示距离越近,权重越大)。

2.类型:

  • 正的空间自相关:相邻位置的数据值之间存在相似性,即一个位置的高(或低)值周围的位置也有高(或低)值。这表明存在集聚现象。
  • 负的空间自相关:相邻位置的数据值之间存在差异,即一个位置的高(或低)值周围的位置有低(或高)值。这表明存在分散现象。

3.衡量方法:

  • 莫兰指数(Moran’s
    I):是一种常用的测量空间自相关的统计指标。它考察了空间上的数据分布和空间结构之间的关系。当莫兰指数接近1时,表明正的空间自相关;当接近-1时,表明负的空间自相关;接近0时,表明数据分布呈随机分布。
  • 吉特斯指数(Geary’s C):类似于莫兰指数,用于测量全局空间自相关,其值越小表示越强的正的空间自相关。

4.应用领域:

  • 空间自相关广泛应用于地理学、城市规划、环境科学、经济学等领域。
  • 在地理信息系统(GIS)中,空间自相关有助于理解地理现象的分布规律,优化资源分配和规划。

5.空间自相关分析的步骤:

  • 定义研究区域和空间尺度。
  • 构建空间权重矩阵。
  • 计算莫兰指数或其他空间自相关指标。
  • 进行统计显著性检验,判断空间自相关是否显著。
  • 解释结果,理解空间分布的模式。

在本例中,我将使用乔治亚州县级人口普查数据的示例演示如何在 python 中进行空间自相关分析。

具体来说,我们正在绘制县级本科及以上学历人口的百分比,并进行全球/当地莫兰分析。 最后,我们能够识别冷点和热点,帮助我们了解乔治亚州的教育不平等。

Install PySAL packages for SA analysis

pip install -q splot
pip install -q libpysal

Load packages

import numpy as np
import matplotlib.pyplot as plt
import geopandas as gpd


from libpysal.weights.contiguity import Queen
from splot.esda import moran_scatterplot,plot_moran,lisa_cluster
from esda.moran import Moran, Moran_Local
import splot

Load Georgia dataset

georgia_shp = gpd.read_file("https://raw.githubusercontent.com/Ziqi-Li/GEO4162C/main/data/georgia/G_utm.shp")

First, again check the data we loaded.

georgia_shp.head()
AREAPERIMETERG_UTM_G_UTM_IDAREANAMELatitudeLongitudTotPop90PctRuralPctBachPctEldPctFBPctPovPctBlackXYAreaKeygeometry
09.786480e+08174967.021GA, Rabun County34.88129-83.4014311648100.011.617.181.1313.60.35824645.5386480513241POLYGON ((806227.188 3858275.500, 805577.812 3...
14.461530e+08115140.032GA, Towns County34.91864-83.739086754100.011.422.961.3614.00.00797981.7387264013281POLYGON ((779645.188 3875727.750, 808540.188 3...
28.543330e+08160360.047GA, Union County34.83436-83.9908811993100.010.117.550.8818.30.10777040.1385877913291POLYGON ((762005.000 3875204.000, 773345.688 3...
31.014270e+09179577.054GA, Fannin County34.86415-84.3192815992100.07.817.300.5817.20.03739255.8386660413111POLYGON ((717121.188 3874113.750, 744454.625 3...
48.980900e+08183295.063GA, Murray County34.78193-84.748232614789.05.57.690.5011.30.26707834.3385418813213POLYGON ((699833.188 3873629.500, 703008.812 3...
georgia_shp.plot()

在这里插入图片描述

该数据包含一组社会人口变量。 其中之一是“PctBach”,即拥有学士学位或更高学历的人口百分比。

让我们为这个变量创建一个映射。 显然,我们可以看到亚特兰大和雅典附近的巴赫百分比较高。

georgia_shp.plot(column="PctBach",legend=True)
plt.title("PctBach")
Text(0.5, 1.0, 'PctBach')

在这里插入图片描述

A map of Georgia for reference
(source:https://www.enchantedlearning.com/usa/states/georgia/map.GIF)

全局 Moran’s I 和 p 值

全局 Moran’s I 是一个用于空间自相关性检测的指标,它可以用于检测空间数据集中的空间聚集现象。具体而言,它可以帮助我们确定空间数据集中的观测点是否具有相似的价值,以及这些点是否出现在一起。

p 值是另一个统计指标,用于评估一个检验结果的显著性。它通常用于确定某个统计检验的结果是否具有统计学意义。

在空间分析中,全局 Moran’s I 和 p 值通常一起使用,以确认空间数据集是否呈现出显著的空间自相关性。如果 Moran’s I 的值接近1且 p 值小于0.05,则可以得出结论,空间数据集呈现出显著的空间自相关性,即空间聚集现象。反之,如果 p 值大于0.05,则可以得出结论,空间数据集中观测点的价值没有表现出统计学上显著的空间自相关性。

指定权重矩阵

w = Queen.from_dataframe(georgia_shp) #Generate W matrix using Queen contiguity

w.transform = 'r' #Row-standardization of the weight matrix
('WARNING: ', 65, ' is an island (no neighbors)')


<ipython-input-8-385596cab5f3>:1: FutureWarning: `use_index` defaults to False but will default to True in future. Set True/False directly to control this behavior and silence this warning
  w = Queen.from_dataframe(georgia_shp) #Generate W matrix using Queen contiguity
/usr/local/lib/python3.10/dist-packages/libpysal/weights/weights.py:224: UserWarning: The weights matrix is not fully connected: 
 There are 2 disconnected components.
 There is 1 island with id: 65.
  warnings.warn(message)

计算 Moran’s I

from esda.moran import Moran

bach = georgia_shp['PctBach'].values #Get the data we are interested.

ga_global_moran = Moran(bach, w, permutations = 200) #200 permutations
ga_global_moran.I
0.2487731738404628

p-value

ga_global_moran.p_sim # P value based on permutation tests
0.004975124378109453

这表明 Pct Bach 数据中存在统计显着性 (p=0.005<0.05) 聚类。

莫兰散点图

莫兰散点图是一种用于检测空间自相关性的图表。它可以帮助我们确定数据是否在空间上聚集或分散。在莫兰散点图中,每个点代表一个区域,而每个点周围的点代表邻近区域。如果点之间的距离越近,它们之间的空间滞后就越小。如果点之间的距离越远,它们之间的空间滞后就越大。

要分析莫兰散点图,需要计算莫兰指数。莫兰指数是一种用于测量空间自相关性的统计量。它的值介于-1和1之间。如果莫兰指数为正,则表示数据在空间上聚集。如果莫兰指数为负,则表示数据在空间上分散。如果莫兰指数为0,则表示数据在空间上随机分布。

from splot.esda import plot_moran

plot_moran(ga_global_moran, zstandard=False, figsize=(10,4))
/usr/local/lib/python3.10/dist-packages/splot/_viz_esda_mpl.py:354: FutureWarning: 

`shade` is now deprecated in favor of `fill`; setting `fill=True`.
This will become an error in seaborn v0.14.0; please update your code.

  sbn.kdeplot(moran.sim, shade=shade, color=color, ax=ax, **kwargs)





(<Figure size 1000x400 with 2 Axes>,
 array([<Axes: title={'center': 'Reference Distribution'}, xlabel='Moran I: 0.25', ylabel='Density'>,
        <Axes: title={'center': 'Moran Scatterplot (0.25)'}, xlabel='Attribute', ylabel='Spatial Lag'>],
       dtype=object))

在这里插入图片描述

左边是 Moran’s I 的零抽样分布。右边是 Moran 散点图。

生成更好的莫兰散点图,其中包含当地莫兰 Is 的显着性。

对每个县及其所属象限进行颜色编码。

  • 红色:HH(高值接近高值)
  • 浅蓝色:LH
  • 黄色:HL
  • 蓝色:LL
from splot.esda import moran_scatterplot
from esda.moran import Moran_Local

# calculate Moran_Local and plot
ga_moran_loc = Moran_Local(bach, w,permutations=200)

fig, ax = moran_scatterplot(ga_moran_loc, zstandard=False, p=0.05)

#Labelling
ax.set_xlabel('Pct Bach')
ax.set_ylabel('Spatial Lag of Pct Bach')

/usr/local/lib/python3.10/dist-packages/esda/moran.py:1059: RuntimeWarning: invalid value encountered in divide
  self.z_sim = (self.Is - self.EI_sim) / self.seI_sim





Text(0, 0.5, 'Spatial Lag of Pct Bach')

在这里插入图片描述

创建热点和冷点地图。

  • HH:高 % 巴赫县被高 % 巴赫县包围
  • LL:低-低
    左侧:低-高
  • HL:高-低
  • NS:不显着(p>0.05)
from splot.esda import lisa_cluster

lisa_cluster(moran_loc=ga_moran_loc, gdf=georgia_shp, p = 0.05, figsize = (6,6))
(<Figure size 600x600 with 1 Axes>, <Axes: >)

在这里插入图片描述

我们可以看到亚特兰大附近有一个统计显着的热点集群。

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

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

相关文章

[linux] 用命令行wget下载google drive的大文件

使用wget命令下载Google drive上的文件_ubuntu上wget下载谷歌云盘文件-CSDN博客 如何用命令行下载Google Drive上的共享文件&#xff1f;-腾讯云开发者社区-腾讯云 举例&#xff1a;https://drive.google.com/drive/folders/1vKj3VvJEKgS_o-uOSmz3I0-GomECpql3 1、在网页上&…

定义一个学生类,其中有3个私有数据成员学号、姓名、成绩,以及若于成员。 函数实现对学生数据的赋值和输出。

#include <stdio.h> // 定义学生类 typedef struct Student { int stuNum; // 学号 char name[20]; // 姓名&#xff0c;假设最长为20个字符 float score; // 成绩 } Student; // 初始化学生信息 void initializeStudent(Student *student, int num, const…

C语言——从终端输入三个正实数,判断这三个数能否构成直角三角形。

代码实现&#xff1a; #include <stdio.h> #include <math.h>int main() {float a, b, c;printf("输入三个正实数:\n");scanf("%f%f%f", &a, &b, &c);if (a b > c && a c > b && b c > a){if (a * …

股市复苏中的明懿金汇:抓住新机遇

2023年对于明懿金汇来说是充满挑战与机遇的一年。面对复杂多变的市场环境&#xff0c;明懿金汇展现了其对市场趋势的敏锐洞察和卓越的策略适应能力。以下是该公司在2023年的主要投资策略和市场适应方式的详细分析。 随着2023年中国股市迎来反弹&#xff0c;明懿金汇迅速调整了…

【Unity动画】Sprite 2D精灵创建编辑到动画

如何切图&#xff08;sprite editor&#xff09; 有时候一张图可能包含了很多张子图&#xff0c;就需要在Unity 临时处理一下&#xff0c;切开&#xff0c;比如动画序列帧图集 虽然我们可以在PS里面逐个切成一样的尺寸导出多张&#xff0c;再放回Unity&#xff0c;但是不需要这…

mockito加junit实现单元测试笔记

目录 一、简介1.1 单元测试的特点1.2 mock类框架使用场景1.3 常用mock类框架1.3.1 mockito1.3.2 easymock1.3.3 powermock1.3.4 JMockit 二、mockito的单独使用2.1 mock对象与spy对象2.2 初始化mock/spy对象的方式初始化mock/spy对象第1种方式初始化mock/spy对象第2种方式初始化…

排序算法介绍(三)选择排序

0. 简介 选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的数据元素排完。选择排序是不稳…

Java:CAS(乐观锁)

目录 1. 什么是CAS机制 2. CAS的缺点 synchronized是悲观锁&#xff0c;这种线程一旦得到锁&#xff0c;其他需要锁的线程就挂起的情况就是悲观锁。CAS操作的就是乐观锁&#xff0c;每次不加锁而是假设没有冲突而去完成某项操作&#xff0c;如果因为冲突失败就重试&#xff0…

Linux中的日志管理

本章主要介绍Linux中的日志管理 了解rsyslog是如何管理日志的查看日志的方法 日志中记录了各种各样的问题&#xff0c;所以读取日志是检测并排除故障的一个重要方式&#xff0c;日志文件默认放在/var/log目录下。不同的问题要读取不同的日志&#xff0c;例如&#xff0c;邮件…

Python 在控制台打印带颜色的信息

#格式&#xff1a;  设置颜色开始 &#xff1a;\033[显示方式;前景色;背景色m #说明&#xff1a; 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 …

Java 对接智谱 AI(官方 sdk 是真垃圾)

官方 sdk 狗屎。 一堆密钥不知道啥玩意&#xff0c;文档也没写好。 python 版本的就不清楚&#xff0c;应该支持会比较好&#xff0c;果然做 ai 应用后端开发还是得使用 python 比较好。 那么要如何对接智谱 AI 呢&#xff1f;用小博哥的这个版本&#xff0c;虽然不是官方的…

UVM验证平台中加入sequencer

sequence机制用于产生激励&#xff0c;它是UVM中最重要的机制之一。在 一个规范化的UVM验证平台中&#xff0c;driver只负责驱动transaction&#xff0c;而不负责产生transaction。sequence机制有两大组成部分&#xff0c;一是 sequence&#xff0c;二是sequencer。如何在验证平…

安防监控系统镜头选型分析,低噪声,低振动,多通道

安防镜头步进驱动选用型号 GC6107 C6109 GC6209 GC6119 GC6129 GC6139 GC6208 GC6150 GC6151 GC6152 GC6125 GC6236采用5V的镜头驱动 。其中GC6107 C6109 GC6209 GC6119 GC6129 GC6139 GC6208关键特性两通道&#xff0c;256细分&#xff0c;低噪&#xff0c;内部和外部时钟…

React 中虚拟DOM是什么,为什么需要它?

注意&#xff1a;本节主要讲React中的虚拟DOM&#xff0c;但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么&#xff1f; 虚拟DOM是对真实DOM的描述&#xff0c;虚拟DOM是JS对象&#xff0c;实际上就是 JSX 通过 babel 转换成 React.createElement()&#xff…

浴霸市场研究:2023年市场现状及未来发展

据不完全统计&#xff0c;目前我国浴霸行业拥有品牌数量超过250个&#xff0c;市场竞争激烈&#xff0c;主要代表企业有奥普、美的、松桥、松下、澳柯玛、光芒、桑普、来斯奥、飞雕、万家乐等。从未来发展趋势来看&#xff0c;伴随着市场消费升级以及市场需求多元化发展&#x…

道可云专业文旅元宇宙平台整体解决方案,打造沉浸体验新场景

值得注意的是&#xff0c;随着“互联网”时代的到来&#xff0c;元宇宙技术正逐渐成为未来数字经济核心之一。《“十四五”数字经济发展规划》将互联网新基建、数字产业生态系统、数字文娱与数字创新产业视为重点发展领域&#xff0c;其中元宇宙技术在文旅等旅游发挥了不可替代…

【linux系统编程】编辑器gcc/g++

目录 Linux下的编辑器 介绍&#xff1a; 1&#xff0c;编辑器gcc/g 1-1&#xff0c;系统的编译过程 1-2&#xff0c;预处理过程 1-3&#xff0c;编译过程 1-4&#xff0c;汇编过程 1-5&#xff0c;链接过程 Linux下的编辑器 介绍&#xff1a; Linux系统下可支持很多高…

性能优化三步骤(一)——性能分析

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、性能分析简介 在完成性能测试之后&#xff0c;需要输出一份性能测试报告&#xff0c;分析系统性能测试的情况。其中测试结果需要包含测试接口的…

Google上架踩坑(最新)

1、目标版本需要大于33 2、平台要求版本>33还需要勾选IDFA广告标识&#xff0c;所以这个也不能忘了 3、打包需要打aab渠道包 4、上传安装包提交之后&#xff0c;如果有报错&#xff0c;再打包需要升版本&#xff0c;不然还会报错 5、2023年11月13号谷歌发的新规定&…

亚马逊自养号测评和真人测评的区别,优劣剖析

大家都知道亚马逊的review对产品listing曝光和流量是有很大影响&#xff0c;但是亚马逊的review又不是那么容易获取的&#xff0c;再加上亚马逊平台风控的不断严苛&#xff0c;所以卖家们想尽办法打造爆款listing是每个亚马逊卖家共同的目标&#xff0c;尤其是当旺季到来时&…