ESDA in PySal (2) localjoincounts

news2025/1/15 3:40:38

ESDA in PySal (2) localjoincounts

参考:https://blog.csdn.net/angel0929/article/details/128433265
https://blog.csdn.net/allenlu2008/article/details/49895387

PySAL有5种全局自相关检验:Gamma值、Join Count、Moran’s I、Geary’s C、和Getis and Ord’s G
在这里插入图片描述

在下面的笔记本中,我们回顾了 Anselin and Li (2019)提出的不同类型的本地连接计数(LJC) 。LJC 关注采用二进制值(例如 0 或 1)的空间现象,例如美国大选的获胜与失败,。 这套探索性统计数据对于想要关注 Anselin 和 Li 所说的“协同定位”不同类型的分析师来说特别有用。 即是否存在特定的 0 或 1 值。

请注意,LJC 有多个版本:

  • 单变量 LJC
  • 双变量 LJC(案例 1)
  • 双变量 LJC(案例 2)
  • 多元LJC

下面提供了每个统计数据的用例及其在 PySAL 中的实现。

Univariate LJC

单变量 LJC 是“black-black”(又名“BB”)统计量的本地版本。 此统计量描述了给定单元 x i x_i xi 的邻居 x j x_j xj 的计数,当该单元也等于 1 时,这些邻居也等于 1。形式上:

Eq 1. B B i = x i ∑ j w i j x j BB_i = x_i \sum_{j} w_{ij} x_j BBi=xijwijxj

需要注意的是,当给定单位 x i x_i xi 等于 0 时,统计量也变为 0。Anselin 和 Li 将这个统计量的应用描述为:

因此,局部连接计数统计数据仅在评估具有“事件”的位置(即 x i = 1 x_i = 1 xi=1 )是否比空间随机性下的情况被更多具有事件的位置包围时才有意义。 Anselin and Li, 2019, Section 2.2 Page 192

我们可以将单变量 LJC 统计量的 PySAL 实现应用到其在 GeoDa 中的原始实现。 我们首先加载 Guerry 数据集并将“Donats”列转换为二进制列。 根据 Natural Breaks 分类方法,这个新的二进制列对于“Donats”的前三组的值为 1(否则为 0)。

import libpysal
import geopandas as gpd
guerry = libpysal.examples.load_example('Guerry')
guerry_ds = gpd.read_file(guerry.get_path('guerry.shp'))
guerry_ds['SELECTED'] = 0
guerry_ds.loc[(guerry_ds['Donatns'] > 10997), 'SELECTED'] = 1
Downloading Guerry to C:\Users\24365\AppData\Local\pysal\pysal\Guerry

我们现在制作一个 Queen-contiguity 权重对象来描述单位之间的关系。

w = libpysal.weights.Queen.from_dataframe(guerry_ds)

我们现在可以在数据集上应用单变量 LJC 函数。

from esda.join_counts_local import Join_Counts_Local
LJC_uni = Join_Counts_Local(connectivity=w).fit(guerry_ds['SELECTED'])

从函数返回的“LJC”属性计算本地连接计数的总数。

LJC_uni.LJC
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 3., 3., 0.,
       1., 0., 0., 0., 0., 0., 0., 1., 0., 1., 0., 0., 0., 0., 0., 0., 1.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 3., 0., 0., 0., 0., 0., 2., 0., 3., 0., 0.])

“p_sim”属性包含从条件随机化过程获得的 p 值。

LJC_uni.p_sim
array([  nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,
         nan,   nan,   nan, 0.422,   nan, 0.026, 0.026,   nan, 0.33 ,
         nan,   nan,   nan,   nan,   nan,   nan, 0.327,   nan, 0.307,
         nan,   nan,   nan,   nan,   nan,   nan, 0.332,   nan,   nan,
         nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,
         nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan, 0.499,
         nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,
         nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,   nan,
         nan,   nan, 0.03 ,   nan,   nan,   nan,   nan,   nan, 0.132,
         nan, 0.059,   nan,   nan])

我们可以将这些值放回数据集中后对其进行映射。

guerry_ds['LJC_UNI'] = LJC_uni.LJC
guerry_ds['LJC_UNI_p_sim'] = LJC_uni.p_sim

从这里您可能对绘制 LJC 感兴趣…

import matplotlib.pyplot as plt
fig,ax = plt.subplots(figsize=(12,10), subplot_kw={
   'aspect':'equal'

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

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

相关文章

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析

CVE-2023-36874 Windows错误报告服务本地权限提升漏洞分析 漏洞简介 Windows错误报告服务在提交错误报告前会创建wermgr.exe进程,而攻击者使用特殊手法欺骗系统创建伪造的wermgr.exe进程,从而以system权限执行代码。 影响版本 Windows10 1507 * Wind…

LC1011. 在 D 天内送达包裹的能力(JAVA)

在 D 天内送达包裹的能力 题目描述上期经典算法 题目描述 leetcode 1011. 在 D 天内送达包裹的能力 难度 - 中等 传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(we…

java主要的垃圾回收算法

垃圾收集算法了解吗? 标记-清除算法 标记 : 标记出所有需要回收的对象 清除:回收所有被标记的对象 主要存在两个缺点: 执行效率不稳定,如果 Java 堆中包含大量对象,而且其中大部分是需要被回收的,这时必…

macOS使用命令行连接Oracle(SQL*Plus)

Author: histonevonzohomail.com Date: 2023/08/25 文章目录 SQL\*Plus安装下载环境配置 SQL\*Plus远程连接数据库参考文献 原文地址:https://histonevon.top/archives/oracle-mac-sqlplus数据库安装:Docker安装Oracle数据库 (histonevon.top) SQL*Plus…

移动电源专用的单节锂离子电池充电器和恒定 5V 升压控制器HU5715

航誉微HU5715 为一款移动电源专用的单节锂离子电池充电器和恒定 5V 升压控制器,充电 部分集高精度电压和充电电流调节器、预充、充电状态指示和充电截止等功能于一体, 可以输出最大 1A 充电电流。而升压电路采用 CMOS 工艺制造的空载电流极低的 VFM 开 关…

解析经典面试题:for 循环中的 let var

题目 for循环中&#xff0c;使用 var 或 let 声明 i 变量&#xff0c;会得到不同的结果 var arr []; for (var i 0; i < 2; i) {arr[i] function () {console.log(i);} } arr[0](); arr[1]();输出&#xff1a; 2 2 var arr []; for (let i 0; i < 2; i) {arr[i] …

新兴崛起的优雅框架Mybatis-Flex

目录 介绍 基础使用 简单入门 插入数据 insertSelective insertOrUpdate insertBatch 注意事项 删除数据 ​编辑 条件删除 批量删除 注意事项 更新数据 ​编辑 条件更新 UpdateEntity使用 UpdaerWrapper使用 注意事项 查询数据 查询一条数据 selectOneById​编辑 …

深圳前海公司财政补贴

前海公司财政补贴 1.扶持领域 一般类项目和港资企业创新创业发展项目均须符合下列产业领域&#xff1a; 1.1金融业。围绕跨境人民币业务、财富管理、资产管理、股权投资、要素交易市场建设、金融产品创新、金融中介服务领域开展的有利于金融业改革创新发展的项目。 1.2现代…

视频融合平台EasyCVR视频汇聚平台关于小区高空坠物安全实施应用方案设计

近年来&#xff0c;随着我国城市化建设的推进&#xff0c;高楼大厦越来越多&#xff0c;高空坠物导致的伤害也屡见不鲜&#xff0c;严重的影响到人们的生命安全。像在日常生活中一些不起眼的小东西如烟头、鸡蛋、果核、易拉罐&#xff0c;看似伤害不大&#xff0c;但只要降落的…

架构之选:评价Spring Cloud在微服务完整性方面的独到观点!

大家好&#xff0c;我是小米&#xff01;今天我们要来聊一个非常热门的话题&#xff1a;Spring Cloud在微服务架构方面的完整度情况。随着技术的不断演进&#xff0c;微服务架构已经成为了众多企业构建灵活、可扩展系统的首选。而Spring Cloud作为微服务架构的佼佼者&#xff0…

Java 8 新特性——Lambda 表达式(2)

一、Java Stream API Java Stream函数式编程接口最初在Java 8中引入&#xff0c;并且与 lambda 一起成为Java开发里程碑式的功能特性&#xff0c;它极大的方便了开放人员处理集合类数据的效率。 Java Stream就是一个数据流经的管道&#xff0c;并且在管道中对数据进行操作&…

POI实现百万数据导出

1、概述 ​ 我们都知道Excel可以分为早期的Excel2003版本&#xff08;使用POI的HSSF对象操作&#xff09;和Excel2007版本&#xff08;使用POI的XSSF操作&#xff09;&#xff0c;两者对百万数据的支持如下&#xff1a; ​ Excel 2003&#xff1a;在POI中使用HSSF对象时&#…

Java代码通过经纬度计算省份。

直接上代码&#xff0c;需要市区县可自己解析 String areaName addressUtil.getPosition(longitude, latitude); package com.skyable.device.utils.velicle;import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import l…

如何把视频压缩到最小?

如何把视频压缩到最小&#xff1f;现在是自媒体非常流行的时代&#xff0c;视频的使用也变得非常的频繁&#xff0c;不管你是出于个人爱好还是在工作中&#xff0c;都需要拍摄和制作视频&#xff0c;因此对于视频文件的操作和处理对于我们每个人就非常的重要。随着现在手机拍摄…

基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)

一、项目简介 本项目是一套基于java Swing 和 mysql实现的飞机订票系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过…

20个常用Matplotlib图的Python代码,全文干货建议收藏!

今天分享给大家25个Matplotlib图的汇总&#xff0c;在数据分析和可视化中最有用。 # !pip install brewer2mpl import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns import warnings; warnin…

前端vue引入高德地图入门教程

距离上一篇关于前端项目中使用高德地图的文章已经将近5年之久&#xff0c; 这是我的第一篇关于高德地图的文章 这期间前端技术日新月异&#xff0c;5年前JQuery还如日中天&#xff0c;如今已经销声匿迹&#xff0c;很少有公司招聘还在要求JQuery&#xff0c;更多的是Vue、React…

Linux(扩展篇)

Linux扩展篇 软件包管理RPMRPM概述RPM查询命令RPM卸载命令RPM安装命令 YUM仓库配置YUM概述YUM的常用命令修改网络 YUM 源安装 wget, wget 用来从指定的 URL 下载文件在/etc/yum.repos.d/目录下&#xff0c;备份默认的 repos 文件下载网易 163 或者是 aliyun 的 repos 文件使用下…

大数据学习:Hive基础与DDL操作

Hive基础与DDL操作 1. 数据仓库 1.1 数据仓库的基本概念 数据仓库的英文名称为Data Warehouse&#xff0c;可简写为DW或DWH。 数据仓库的目的是构建面向分析的集成化数据环境&#xff0c;为企业提供决策支持&#xff08;Decision Support&#xff09;。它出于分析性报告和决…

leetcode410. 分割数组的最大值(java)

分割数组的最大值 题目描述二分法代码演示 题目描述 难度 - 困难 410. 分割数组的最大值 给定一个非负整数数组 nums 和一个整数 m &#xff0c;你需要将这个数组分成 m 个非空的连续子数组。 设计一个算法使得这 m 个子数组各自和的最大值最小。 示例 1&#xff1a; 输入&…