前面要讲的话
前段时间看到了一篇文章,很有启发,就有了这篇推送。文章中所讨论的使用熵值来计算城市的功能混合度,思路很棒。
非常感谢作者十六便士(不知道我这个计算方式,大佬给打几分
),非常感谢数读菌!
熵
什么是熵?
熵,这个概念是由德国物理学家克劳修斯于1865年所提出,最初是用来描述“能量退化”的物理状态的物质状态参数。但是在很长一段时间内,大家虽然一直都在使用熵,却并没有认清熵的本质。一直到统计物理、信息论等一系列科学理论的发展,熵的本质才逐渐被解释清楚,即:熵的本质是一个系统“内在的混乱程度”。
国内也有专家学者尝试借助“信息熵”的概念来度量城市土地利用的多样性和混合度。
什么是信息熵
信息是个很抽象的概念。人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。
直到1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是C.E.Shannon(香农)从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。
信息论之父克劳德·艾尔伍德·香农第一次用数学语言阐明了概率与信息冗余度的关系。
信息熵计算公式:
以上资料,都来自于互联网。
所以使用熵来计算城市功能混合度,木有一点问题。
干货时间
首先我依然沿用十六便士的思路,通过POI来计算城市的混合程度。
数据
我使用的功能区与POI如下图所示:
计算频数
第一步,我将使用交集制表的方式来获取每个功能区的各个类别POI的频数
得到的结果
分类汇总
然后根据功能区地块标识,来汇总其POI点总数
得到的结果
数据融合【一】
这个跟上一篇中推送中讲的数据融合不同,上次是空间层面的融合,这次数属性层面的融合:关联
得到的结果
连接后,添加POI比例字段,并使用PNT_COUNT除以SUM_PNT_COUNT,来获取其值
透视分析
接下来,使用透视分析,来获取每个功能区地块所包含的每个类别要素个数
得到的结果
这一步,就得到了每个功能区所包含的每个种类的要素比例。
数据融合【二】
再次连接,这里需要关联两次:
1、把计算的比例关联到每个功能区地块;
2、每块地的样本总数,也需要关联到功能区地块上(这个在计算熵的时候需要用到)。
得到的结果
计算
终于来到了最后一步:计算信息熵!这个步骤很简单,只需要定义好函数,然后传参数进去就行了。
计算的结果
结果渲染
总结
我们根据结果数据,来分析一下,得到的这个熵值是不是真的反应了事物的内在情况。
看看最小的
首先对功能区地块,按照熵值进行排序,就能得到了熵值最小与最大的地块
我查了一下该地块的构成
可以看出,这个功能区地块的主要组成部分是住宅,仅住宅一项,就占了半壁江山,遥遥领先第二名。主成分太突出,混合程度不够。
看看最大的
可以看到这个功能区地块各种分类分布的比较均匀,也就是这块地的混合程度比较高。
从这个分析结果来看,熵还是很能反应事物的本质的。
鸣谢
特别感谢姜老师的指导,让我对熵有了多一点的了解!