可信网站代码,想学做网站从哪里入手,百度站长查询工具,wap手机网站静态模板Spatial Data Analysis#xff08;四#xff09;#xff1a;空间自相关示例
空间自相关是地理信息科学#xff08;GIS#xff09;和空间统计学中的重要概念之一#xff0c;用于研究地理空间上的数据变异性和相关性。空间自相关分析的目标是探讨地理空间中的现象是否呈现…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 splotpip install -q libpysalLoad packages
import numpy as np
import matplotlib.pyplot as plt
import geopandas as gpdfrom libpysal.weights.contiguity import Queen
from splot.esda import moran_scatterplot,plot_moran,lisa_cluster
from esda.moran import Moran, Moran_Local
import splotLoad 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_IDAREANAMELatitudeLongitudTotPop90PctRuralPctBachPctEldPctFBPctPovPctBlackXYAreaKeygeometry09.786480e08174967.021GA, Rabun County34.88129-83.4014311648100.011.617.181.1313.60.35824645.5386480513241POLYGON ((806227.188 3858275.500, 805577.812 3...14.461530e08115140.032GA, Towns County34.91864-83.739086754100.011.422.961.3614.00.00797981.7387264013281POLYGON ((779645.188 3875727.750, 808540.188 3...28.543330e08160360.047GA, Union County34.83436-83.9908811993100.010.117.550.8818.30.10777040.1385877913291POLYGON ((762005.000 3875204.000, 773345.688 3...31.014270e09179577.054GA, Fannin County34.86415-84.3192815992100.07.817.300.5817.20.03739255.8386660413111POLYGON ((717121.188 3874113.750, 744454.625 3...48.980900e08183295.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(columnPctBach,legendTrue)
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 contiguityw.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 warningw 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 Moranbach georgia_shp[PctBach].values #Get the data we are interested.ga_global_moran Moran(bach, w, permutations 200) #200 permutations
ga_global_moran.I0.2487731738404628p-value
ga_global_moran.p_sim # P value based on permutation tests0.004975124378109453这表明 Pct Bach 数据中存在统计显着性 (p0.0050.05) 聚类。
莫兰散点图
莫兰散点图是一种用于检测空间自相关性的图表。它可以帮助我们确定数据是否在空间上聚集或分散。在莫兰散点图中每个点代表一个区域而每个点周围的点代表邻近区域。如果点之间的距离越近它们之间的空间滞后就越小。如果点之间的距离越远它们之间的空间滞后就越大。
要分析莫兰散点图需要计算莫兰指数。莫兰指数是一种用于测量空间自相关性的统计量。它的值介于-1和1之间。如果莫兰指数为正则表示数据在空间上聚集。如果莫兰指数为负则表示数据在空间上分散。如果莫兰指数为0则表示数据在空间上随机分布。
from splot.esda import plot_moranplot_moran(ga_global_moran, zstandardFalse, 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 fillTrue.
This will become an error in seaborn v0.14.0; please update your code.sbn.kdeplot(moran.sim, shadeshade, colorcolor, axax, **kwargs)(Figure size 1000x400 with 2 Axes,array([Axes: title{center: Reference Distribution}, xlabelMoran I: 0.25, ylabelDensity,Axes: title{center: Moran Scatterplot (0.25)}, xlabelAttribute, ylabelSpatial Lag],dtypeobject))左边是 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,permutations200)fig, ax moran_scatterplot(ga_moran_loc, zstandardFalse, p0.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 divideself.z_sim (self.Is - self.EI_sim) / self.seI_simText(0, 0.5, Spatial Lag of Pct Bach)创建热点和冷点地图。
HH高 % 巴赫县被高 % 巴赫县包围LL低-低 左侧低-高HL高-低NS不显着p0.05
from splot.esda import lisa_clusterlisa_cluster(moran_locga_moran_loc, gdfgeorgia_shp, p 0.05, figsize (6,6))(Figure size 600x600 with 1 Axes, Axes: )我们可以看到亚特兰大附近有一个统计显着的热点集群。 。