【计量地理学】实验四 主成分分析与莫兰指数

news2025/5/13 0:34:56

一、实验内容

(一) 某地区35个城市2004年的7项经济统计指标数据见(数据中的“题目1”sheet)。

(1)试用最短距离聚类法对35个城市综合实力进行系统聚类分析,并画出聚类谱系图:

在此次实验内容中我们直接使用SPSS软件用以完成对35个城市综合实例的系统聚类分析并画出聚类谱系图,首先我们在SPSS软件中打开相应的Excel文件,选择SPSS主菜单中的【分析】—>【分类】—>【系统聚类】,打开参数框如下图所示,我们首先逐一添加变量,随后调整【图】与【方法】中的相关参数如下图所示:

调整完毕后点击【确认】,即可得到聚类谱系图结果如下图所示:

(2)试用主成分分析法对35个城市7项经济指标进行主成分分析,并分析其综合实力;

利用主成分分析法对经济指标进行主成分分析,我们首先选择SPSS主菜单中的【分析】—>【降维】—>【因子分析】,打开参数框如下所示,我们首先逐一添加变量,并分别修改【描述】、【提取】与【得分】中的具体参数如下图所示:

调整完毕后点击【确定】即可得到结果,我们主要分析如下所示的总方差解释表格,通过观察表格可得:第一个主成分的初始特征值为3.252,第二个为1.992,第三个为0.988,且前三个主成分累积解释了89.026%的总方差,因此我们可以使用前三个主成分来代表最初的7个指标,用于分析城市的综合实力:

而分析如下所示的成分矩阵与成分得分系数矩阵我们可以识别得到哪些参数与我们计算得到的前三个主成分具有强相关性,比如:第一主成分主要与工业总产值、地方财政预算内收入、城乡居民年底储蓄余额正相关;第二主成分主要与总人口、农业总产值呈现出较强的正相关,而与非农业人口比例呈现较强的负相关;第三主成分则与在岗职工工资总额呈现出极强的正相关,得分系数高达0.995:

得到以上数据,我们即可计算得到每个城市前三项主成分的具体数值,此步骤SPSS已帮我们自动计算得到,但各个城市的综合得分Score=w1*F1+w2*F2+w3*F3,w表示总方差解释中的方差百分比,因此我们可以得到Score=0.46452*F1+0.28456*F2+0.14117*F3,在SPSS的主菜单中点击【转换】—>【计算变量】,在打开的参数框中输入公式如下所示:

我们即可得到35个城市进行主成分分析后的综合实力得分如下图所示:

(3)以第一,二,三主成分为变量,进行聚类分析,结果又怎样呢?

重复上述实验中的第一部分内容,我们选择SPSS主菜单中的【分析】—>【分类】—>【系统聚类】,打开参数框如下图所示,我们逐一添加在上述实验过程中生成的三个主成分变量,随后调整【图】与【方法】中的相关参数如下图所示:

调整完毕后点击【确认】,即可得到聚类谱系图结果如下图所示,其中左图为最短距离聚类法得到的聚类结果右图为使用主成分分析结果进行聚类得到的聚类结果,可以明显看到由于主成分分析实现了数据的降维和简化,聚类分析的结果中的分支更少,谱系图也得到了一定程度上的简化,这有利于帮助我们更清晰地识别主要的聚类模式和趋势,同时减少了不必要的复杂性,更容易理解数据的结构和特征:

(二)教材P164的上海市部分街道的邻居关系相关数据见实验数据中的“上海市部分街道邻居关系”和“上海市部分街道人口密度”sheet。其文本文件对应的2个txt文件。

首先为了显示我们的局部莫兰指数数据,需要我们在界面中设计一个框体如下图所示,需要特别注意的是,由于局部莫兰指数数量很多,我们需要为其设计一个垂直方向的滚动条

接下来,在Data文件中我们编写计算局部莫兰指数的代码如下图所示,该代码中我们延续了老师提供的全局莫兰指数的计算方法,主要不同点在于:全局莫兰指数计算的是整个数据集,而我们局部莫兰指数只计算指定节点及其邻域内的数据即可。

分子部分:首先从邻接矩阵 w 中获取节点i与节点j之间的权重,然后乘以节点j的值与数据集均值之间的差值,然后将该结果与节点i的值与数据集均值之间的差值相乘,即可得到分子;分母部分:同计算全局莫兰指数相同,直接调用了SST()方法即可得到结果:

最后在Form1.cs的代码文件中,我们添加调用localMoran()函数的代码如下所示,并将其结果与我们创建的框体LocalMoranValues绑定起来:

最后运行代码,分别输入邻接矩阵与上海市街道人口密度,即可得到结果如下所示:

二、实验心得

此次实验中的两个任务,重点内容分别为学习使用SPSS软件进行聚类分析与在C#环境下计算莫兰指数,前者因为在以往的学习过程中经常使用到SPSS软件进行数据分析因此内容推进的较快,而后者因为对在VS软件中进行界面设计不够熟悉因此推进较慢,也存在一些问题与困难目前尚未解决,对软件的许多功能尚不熟悉,需要课后的不断钻研补充

在实验过程中我发现,代码编写的核心与诀窍在于是否对相关计算公式了解透彻,以此次实验的全局莫兰指数与局部莫兰指数代码编写为例,当我已经充分理解全局与局部莫兰指数的区别(核心区别在于数据集对象分别为整体数据集与邻域数据集)后,Data部分的代码编写其实非常之快,主要是在界面设计时耗费了比较多的时间,因此在实验课课下还需要花费一定的时间多去了解该如何在VS环境下进行界面设计

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

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

相关文章

手写call,bind,apply

foo.Mycall(obj,1,2,3) Function.prototype.Mycallfunction(target,...args){if(typeof this!function){throw new TypeError(this is not a function)}// 判断target是否是对象if(targetnull||targetundefined){targetwindow}if(typeof target!object){targetObject(target)}/…

【读书笔记·VLSI电路设计方法解密】问题64:什么是芯片的功耗分析

低功耗设计是一种针对VLSI芯片功耗持续攀升问题的设计策略。随着工艺尺寸微缩,单颗芯片可集成更多元件,导致功耗相应增长。更严峻的是,现代芯片工作频率较二十年前大幅提升,而功耗与频率呈正比关系。因此,芯片功耗突破…

Ubuntu18.04安装Qt5.12

本文介绍了在Ubuntu18.04环境下安装QT QT5.12相关安装包下载地址 https://download.qt.io/archive/qt/5.12/ Linux系统下Qt的离线安装包以.run结尾 (sudo apt-get install open-vm-tools open-vm-tools-desktop解决无法paste的问题) 安装 1.cd命令 终端进入对应的文件夹下面 2.…

max31865典型电路

PT100读取有很多种方案,常用的惠斯通电桥,和专用IC max31865 。 电阻温度检测器(RTD)是一种阻值随温度变化的电阻。铂是最常见、精度最高的测温金属丝材料。铂RTD称为PT-RTD,镍、铜和其它金属亦可用来制造RTD。RTD具有较宽的测温范围&#x…

数据通信学习笔记之OSPF的区域

OSPFArea 用于标识一个 OSPF 的区域 区域是从逻辑上将设备划分为不同的组,每个组用区域号 (Area ID)来标识 OSPF 的区域 ID 是一个 32bit 的非负整数,按点分十进制的形式(与 IPV4 地址的格式一样)呈现,例如 Area0.0.0.1。 为了简便起见&#…

5 提示词工程指南-计划与行动

5 提示词工程指南-计划与行动 计划与行动 Cline 有两种模式: Plan 描述目标和需求、提问与回答、讨论、抽象项目的各个方面、确定技术路线、确定计划 计划与确认相当于架构师,不编写代码Act 按计划编写代码 按照计划编码Plan 模式的本质是构建实际编码前的上下文,Act 的本…

如何一键批量删除多个 Word 文档中的页眉和页脚

在工作中,许多 Word 文档的页眉页脚中包含公司名称、Logo、电话等信息,用于对外宣传。但有时我们需要批量删除这些页眉页脚信息,尤其当信息有误时,手动逐个删除会增加工作量,导致效率低下。本文将介绍一种便捷的方法&a…

QCustomPlot中自定义图层

QCustomPlot 使用图层(QCPLayer)系统来组织绘图元素的绘制顺序和可见性。下面详细介绍如何自定义图层并将可绘制对象关联到特定图层。 1. 理解 QCustomPlot 的图层系统 QCustomPlot 的图层系统具有以下特点: 图层按顺序排列,后绘制的图层会覆盖前面的图…

-实用类-

1. API是什么 2.什么是枚举 !有点类似封装! 2.包装类 注意: 1.Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false 2.当包装类构造方法参…

Spring 事务管理核心机制与传播行为应用

Spring 事务详解 一、Spring 事务简介 Spring 事务管理基于 AOP(面向切面编程)实现,通过 声明式事务(注解或 XML 配置)统一管理数据库操作,确保数据一致性。核心目标:保证多个数据库操作的原子…

集合框架(重点)

1. 什么是集合框架 List有序插入对象,对象可重复 Set无序插入对象,对象不可重复(重复对象插入只会算一个) Map无序插入键值对象,键只唯一,值可多样 (这里的有序无序指的是下标,可…

IPv4地址分类与常用网络地址详解

常见的 IPv4 地址分类: 1. A 类地址(Class A) 范围:0.0.0.0 到 127.255.255.255 默认子网掩码:255.0.0.0 或 /8 用途:通常用于大型网络,例如大型公司、组织。 特点: 网络地址范围…

模拟实现memmove,memcpy,memset

目录 前言 一、模拟实现memmove 代码演示: 二、模拟实现memcpy 代码演示: 三、模拟实现memset 代码演示: 总结 前言 这篇文章主要讲解了库函数的模拟实现,包含memmove,memcpy,memset 一、模拟实现m…

RHCSA Linux 系统文件内容显示2

6. 过滤文件内容显示 grep (1)功能:在指定普通文件中查找并显示含指定字符串的行,也可与管道符连用。 (2)格式:grep 选项... 关键字字符串 文件名... (3)常用选项及说…

【2】Kubernetes 架构总览

Kubernetes 架构总览 主节点与工作节点 主节点 Kubernetes 的主节点(Master)是组成集群控制平面的关键部分,负责整个集群的调度、状态管理和决策。控制平面由多个核心组件构成,包括: kube-apiserver:集…

Redis下载

目录 安装包 1、使用.msi方式安装 2.使用zip方式安装【推荐方式】 添加环境变量 配置后台运行 启动: 1.startup.cmd的文件 2.cmd窗口运行 3.linux源码安装 (1)准备安装环境 (2)上传安装文件 (3&…

React 文章 分页

删除功能 携带路由参数跳转到新的路由项 const navigate useNavigate() 根据文章ID条件渲染

OpenCV 图形API(39)图像滤波----同时计算图像在 X 和 Y 方向上的一阶导数函数SobelXY()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::gapi::SobelXY 函数是 OpenCV 的 G-API 模块中用于同时计算图像在 X 和 Y 方向上的一阶导数(即 Sobel 边缘检测)的一…

传导发射测试(CE)和传导骚扰抗扰度测试(CS)

传导发射测试(CE): 测量接收机: 是EMI测试中最常用的基本测试仪器,仪器类型包括准峰值测量接收机、峰值测量接收机、平均值测量接收机和均方根值测量接收机。测量接收机的几个重要指标分别是:6dB处的带宽、充电时间常数、放电时…

ubuntu 查看现在服务使用的端口

1. 使用netstat命令 netstat是一个常用的网络工具,可以显示网络连接、路由表、接口统计等信息。虽然在较新的系统中netstat可能被ss命令替代,但仍然可以通过安装net-tools包来使用它。 安装net-tools: sudo apt-get install net-tools 查看…