基于开源R语言建模的空间分析教学改革研究
作者: 余卓芮 孙怡恒 刘钰 沈国强 刘岱宁
关键词:开源;R语言;空间分析;教学改革;广东省
1 空间分析教学的现状及突出问题
空间分析是地理信息系统课程教学的核心环节。通过学习空间数据的分析方法,学生可以揭示地理对象在空间分布、空间形态、空间演变等方面的特征,并基于分析结果和专题地图为现实问题的决策提供技术支持。本环节拟达到的教学目标为,通过对一系列空间分析模型的讲授,使学生在理解模型算法的基础上,具备根据现实问题选取恰当分析工具的能力,并且能够对分析结果进行科学解读,从而为现实问题的解决提供技术支持。但是,课堂测验和期末考试结果显示空间分析环节的教学效果往往较差。其中的突出问题包括:学生不能深入理解空间分析工具的计算原理,导致在分析工具的选择上具有盲目性,进而在分析结果的解读上存在较大偏差,最终无法将教学内容应用于对现实问题的分析。
与相关院校教学团队的深入交流以及与学生的广泛沟通中发现,空间分析教学中出现的上述问题与教学使用的分析软件有密切关系。ESRI公司出品的ArcGIS系列软件是全球地理信息系统领域的领军产品,在市场占有率和行业认可度上都远远高于同类产品,因此也被广泛用于空间分析教学中。但ArcGIS应用于教学存在明显的局限性。除了价格高昂,还突出表现在作为商业软件,其源代码是不公开的。这使得学生只能被动地使用分析模型,模型中的很多参数不能根据现实需求进行调整、也很难根据现实需求引入或构建新的分析模型,更不能通过查看源代码来深入理解分析模型是如何运行的。这就导致学生在分析模型的选择上具有盲目性,进而在分析结果的解读上也往往存在偏差,甚至影响学生深入探索的积极性。由此可见,使用不开放源代码的商业软件,是造成空间分析教学效果较差的重要原因。
为解决这一问题,开放源代码的R语言被尝试引入空间分析教学。R语言是一种面向数据分析的计算机编程语言,具有免费开源、扩展性强和简便易学等优点,已被用于统计学等专业的教学中[1]。相对于不开放源代码的商业软件,R语言具有以下突出优势:1) R语言社区提供了sf和terra等扩展程序包,支持空间数据的读取、分析和可视化,在功能上完全满足空间分析的教学需要;2) R语言及其扩展程序包的源代码是开放的,学生可以自由地阅读和修改空间分析模型代码,从而可以深入地理解分析模型的原理和计算过程,也可以针对现实需求自行调用、修改和编写分析模型。这使得学生由被动地使用软件转为主动地对分析模型进行探索。由于R语言具有明显优势,已有教师尝试将R语言引入地理信息专业的教学中[2]。教学实践表明,通过将开源R语言引入空间分析教学,可以提高学生学习的积极性,教学效果也得到了明显提升。
2 开源R 语言建模引入空间分析教学的主要途径
如前所述,开源R语言作为空间分析教学工具有着突出的优势。将R语言建模引入空间分析教学,主要包括以下三种典型途径:
1) 将其他领域的分析模型引入空间分析教学。在理论和现实需求的推动下,很多其他学科的模型被不断引入空间分析领域。由于商业软件需要控制软件的规模和维持软件的稳定性,不会将所有的相关模型都纳入软件产品。由此导致,很多空间分析实践中经常使用的模型,并没有纳入以ArcGIS为代表的商业软件中。以Theil指数为例,这是经济学领域用以测度收入不平等程度的基础模型。近年来它被引入空间分析领域,成为空间差异分析中经常使用的模型[3],但是却没有被纳入ArcGIS软件中。基于R语言编写Theil指数的计算函数并引入教学过程,可以有效地支持空间差异分析的案例教学。
2) 开放空间分析模型的参数。空间分析模型的运行往往需要输入多个参数,如果将所有参数都开放,分析软件的界面将变得臃肿不堪,因此相关软件往往会将部分参数进行封闭。以测度空间中心聚集性的标准距离模型为例,ArcGIS只能输入标准距离倍数、权重字段和分组字段三个参数,包括区域中心坐标在内的其他参数是封闭的,用户无法进行调整。对于特定的现实问题,区域中心的坐标往往需要由用户来进行指定,否则分析会产生偏差。但是,这在Arc⁃GIS中是无法实现的。通过将开源R语言引入教学,就可以很好的解决这一难题。R语言的源代码是公开的,通过调整代码,可以将封闭的参数开放给学生,从而支持空间分析的教学需求。
3) 针对具体场景开发新的分析模型。不同的应用场景对空间分析模型的需求是不同的,因此经常需要针对现实需求定制适用的分析模型。虽然ArcGIS 等成熟的商业软件提供了脚本语言,可以通过编程定制新的分析模型。但是,脚本语言属于“胶水”性质的语言,只能用以“黏合”已有的模型,并不适于创建新的分析模型。而在R编程语言的支持下,学生可以针对具体的应用场景,构建适用的新型模型,并对分析结果进行解读和验证。这可以极大地提高学生的参与度和积极性,从而显著地提高教学效果。
3 基于R 语言建模的空间分析教学案例
如前节所述,将R语言引入空间分析教学有三种途径。基于教学实践中使用的广东省土地城市化案例,现对这三种途径进行具体介绍。本案例基于Zhang等提取的不透水地表数据[4],采用Li等提出的技术框架获得了广东省的城市用地范围[5],并通过杨喜等提出的土地城市化计算方法[6],计算了广东省124 个县级行政单元(包括县、县级市及市辖区)的土地城市化率。基于R语言建模,可对土地城市化的空间格局进行深入分析。
3.1 引入经济学领域模型的空间差异分析
空间差异是指一定地域内的实体普遍存在差异性。例如,广东省一百多个县级行政单元在土地城市化水平上存在巨大差异,很少出现两个或多个行政单元的土地城市化水平完全相同的情况。
空间差异的程度可以用Theil指数来测度。Theil 指数早期被经济学家用来测度收入不平等的程度,近年来被引入空间分析领域[3],其公式为:
式中xi 和-x分别为各行政单元的土地城市化率及其均值,n 为行政单元的数量。Theil指数的取值范围为0~ln(n),数值越大说明各行政单元之间的差异越大。
Theil指数计算结果为0.33,说明广东省县级行政单元的土地城市化水平存在一定的差异。为分析空间差异的来源,进一步按照行政等级将县级单元分为两组,其中市辖区为一组,县和县级市为一组。两组的Theil指数分别为0.13和0.15,远小于广东省整体的Theil指数。这说明两个行政等级分组内部的差异较小,广东省土地城市化在空间上的差异主要来自行政等级分组之间的差异。这可归因于我国城市的用地指标是按照行政等级分配的,由此导致行政等级较高的城市的土地开发强度也相应较高[7]。
在本案例中,基于R语言编写了Theil指数的计算函数,将经济学领域的分析工具引入空间分析教学,弥补了商业软件ArcGIS中空间差异分析工具缺失的不足。此外,通过实例分析,学生不仅测度了空间差异的程度,还探索了空间差异的来源,这对学生科学解读空间差异的分析结果具有明显的助益。
3.2 开放标准距离模型参数的空间中心聚集分析
空间中心聚集是指区域要素有向区域中心聚集的趋势。例如,距离广东省的中心城市广州越近,各行政单元的土地开发强度也会越高,其土地城市化水平也会相应上升。
区域要素的空间中心聚集程度常采用加权标准距离模型进行分析[8],其公式为:
式中xi 和yi 为行政单元i 在东西和南北方向上的坐标;xc 和yc 为区域中心的坐标;wi 为计算权重,在本案例中为行政单元i 的土地城市化水平。SDw 越小,说明指向中心城市的聚集程度越高。
由公式(2) 可见,区域中心的坐标对SDw 的计算结果有重要影响,所以应针对应用场景选择适宜的区域中心。以广东省为例,广州市作为省会城市,是广东省政治和文化中心,也是城市用地规模最大的城市;而且城市间的交通组织也是以广州市为中心节点。可见,广州市是广东省城市发展的中心,在做中心聚集分析时应以广州作为区域中心来进行计算。但是,在商业软件ArcGIS中,区域中心的坐标被指定为输入数据点位的加权重心坐标,是不能由用户指定和更改的。以广东省县级行政单元的土地城市化分析为例,ArcGIS分析工具使用的区域中心坐标位于东莞市境内(图1中B点),相对广州市中心(图1中A 点)偏移了45公里。显然,这种简单依赖算法推断出来的“区域中心”与广东省城市发展的空间结构是严重不符的。而且SDw 的计算结果也显示,ArcGIS的计算结果对比以广州市为中心的计算结果,偏差了5190 米。本案例中,区域中心广州市临近广东省的重心位置,因此SDw 计算结果的偏差相对较小。不难推断,当区域中心远离区域重心位置时(例如,长三角地区的区域中心上海市),SDw 计算结果会出现更大的偏差。
从本案例可见,在商业软件ArcGIS的空间分析工具中,部分参数是不对用户开放的,由此导致其分析工具并不适用于所有的应用场景,在某些场景中其分析结果会存在偏差。与之相对,基于开源R语言,可以将空间分析模型中的任意参数开放给学生。学生可以根据应用需要对分析模型中的任意参数进行合理设定,从而获得科学的分析结果。可见,在R语言的支持下,可以引导学生分析应用场景的实际需求并合理设定模型的参数,从而提升教学效果。
3.3 开发新模型的空间异常分区分析
空间异常分区是指明显偏离全域整体水平的特定局域。例如,相对于广东全省,中心城市广州在城市规模和土地开发强度等方面都处于较高水平,属于具有明显优势的异常分区。
对特定区域的异常水平进行科学测度,是识别异常分区、分析其形成机制和制订引导政策的基础。但是,商业软件ArcGIS提供的热点分析工具只能对异常点位进行识别,缺乏分区尺度上的异常水平测度工具。基于开源R语言,在教学中可以开发针对特定区域的异常水平测度模型,公式为:
式中li为特定分区内行政单元i 的属性特征,在本案例中为土地城市化水平;-l 为特定分区内各个行政单元属性的均值;-g为全域各个行政单元属性的均值。式(3) 借鉴通行的欧几里得距离测算方法,其分子和分母分别测度了特定分区内各个行政单元相对于分区均值和全域均值的偏离程度。异常水平指数Di 的取值范围为0~1;特定分区内部各单元与分区均值越接近、与全域均值的偏离越大,Di 的取值越低,表明特定分区的异常水平越高。
分析结果显示,包含11个市辖区单元的广州市,其Di 为0.34。由此推断,广州市的土地城市化水平与广东省的整体水平之间存在较大偏差,广州市为土地城市化的异常区域。由图2可见,广州各市辖区土地城市化率的均值为69%,是广东全省均值33%的两倍有余,广州市的土地城市化水平明显高于广东省的平均水平。具体来看,广州市11个市辖区中,仅有2个低于广东省均值,其余9个市辖区均高于广东省均值。按照公式(3) 中分母和分子的分别测算,广州各市辖区相对于广东省均值的偏离水平(221%) 远高于其相对于广州市均值的偏离水平(76%) 。可见,广州市各市辖区的土地城市化水平存在向自身均值集中的态势,而与广东省的平均水平产生了较大偏离;而且其土地城市化水平明显高于广东省的平均水平。因此,广州市是广东省城市土地开发的显著热点区域。
以上结果,从城市土地发展机制上看,反映了广州市作为广东省政治文化和人口聚集的中心,对城市土地有巨大的现实需求,并且在城市土地开发上得到了广东省政府的政策支持。从政策制定上看,广州市应适当控制城市土地开发强度,避免过度开发导致的生态损失和省内发展不平衡问题。
在本教学案例中,采用R语言开发了针对特定分区的异常水平测度模型,丰富了空间分析的模型库。该模型本质上是将分区内各行政单元对本分区均值的偏离程度,与这些行政单元相对于全域均值的偏离程度进行比较。如果分区内部各单元趋向于向本分区的均值集中,而与全域均值形成较大的偏离,这说明该分区具有较高的异常水平。在指导学生进行新型模型开发的过程中,学生掌握了如何将传统统计学中对均值的偏离程度测度方法引入空间分析。相对于对新型模型开发有诸多限制的封闭的商业软件,开源R语言为引导学生深入理解分析模型的算法原理,为他们提高学习的参与度和积极性提供了有力支持。
4 结论
从以上教学案例可见,商业软件的封闭性导致学生在深入理解和合理选择空间分析工具时存在困难,甚至难以科学解读分析结果,从而导致课堂教学效果较差。与之相对,通过开放源代码的R语言,学生能够自由地查看、修改和编写分析工具的代码,从而得以深入理解空间分析模型的算法,并能够合理选择和科学解读其分析结果,从而极大地提高学生学习的参与度和积极性,使得教学效果得到了显著提升。
教学实践表明,基于R语言可以将其他领域的分析工具引入空间分析教学,以及改进现有的空间分析模型,还可以根据应用场景构建新的分析模型。通过这三种途径,R语言可为空间分析教学提供全面和有力的支持。除了以空间分析为核心的地理信息系统课程教学,R语言强大的建模能力还可以进一步应用于城市地理、区域规划等课程,为这些课程的定量化教学改革提供技术支持。
随着大数据时代的到来,从海量数据中揭示研究对象的特征和演化规律已成为解决现实问题需具备的核心技能。在经济生产和社会发展中,对具备相关技能的人才具有广泛而迫切的需求[1]。因此,广大教师应积极将R语言引入一线教学工作,结合现实需求推进教学改革,引导学生成为大数据时代的栋梁之才。