摘要:你可能见过它:地图上颜色渐变、红蓝交织,红色代表 “热” ——人多、事多、关注多;蓝色表示 “冷” ——人少、事少、关注度低。这样的图看起来直观、技术范,有冲击力。于是,它成了无数行业汇报中的主角:从商业选址到城市规划,从治安布控到疫情防控......
热力图(Heatmap),是很多人认识地图数据的第一道门槛。
你可能见过它:地图上颜色渐变、红蓝交织,红色代表 “热” ——人多、事多、关注多;蓝色表示 “冷” ——人少、事少、关注度低。这样的图看起来直观、技术范,有冲击力。于是,它成了无数行业汇报中的主角:从商业选址到城市规划,从治安布控到疫情防控......
曾几何时,我也是热力图的忠实信徒,它的流行是因为满足了两个数据可视化的基本需求:省事,但看起来费事。
热力图给人一种“大数据”的错觉,实际上制作门槛非常低,现在各种GIS软件和编程库(QGIS、ArcGIS、Leaflet等)都内置了热力图功能,甚至Excel都能做简单的热力图了。你给个经纬度和数值,分分钟出图。
图例:用QGIS制作的瑞幸咖啡门店分布地图
但对于不熟悉热力图的甲方或领导来说,热力图给人一种很专业的感觉,用颜色迅速激活人的情绪系统,红色与蓝色的对比让人一眼就能识别你想指示的重点。
所以大家都爱用热力图,这是一个非常适合“交差”的可视化工具。只是随着我们需要回答的问题走向具体,它也变得越来越不好用了。比如你很难回答:
“你这红的地方到底有多少人?100?1000?”
“这地方红是因为客流大?还是点更密集?”
“这个城市的红和那个城市的红是一回事吗?”
“哪些地方是新兴热点?哪里增长最快?”
……
热力图很难回答具体的问题,说起来这也算的上它的优势之一,尤其是数据质量不高的时候又想蒙混过关的时候。用颜色一糊,美观还避雷,就像给数据开了“十级美颜”,这种模糊感,在视觉展示中尚可接受,在分析决策中却非常致命。
热力图的问题主要来自于其简单的算法,所谓的热点来自于算法,并不总是能反映现实。实际上,热力图只是对点的和密度估计(Kernel Density Estimation),通俗的讲,它就像给每个点画了个渐变的圆,一个地方重叠的圆越多,颜色看起来就越“热”。听起来很合理是吧?但具体扩多少,如何渐变,最大值怎么设置,这些参数一改,热点就会移位、扩大甚至消失。同样一组数据,你用不同的半径效果可能完全不同。
图例:使用相同数据不同参数制作的热力图
比如你希望通过热力图找出一个城市客流的聚客点,并以此为基础将这些地方作为选址的候选点。这就是一个看起来能通过热力图解决,但实际上并不现实的任务。你会发现随着地图的放大,原来的热点消失了,每一次改变大小、切换位置,热力图都要重新计算,让人抓狂不已。
为了解决这个问题,我开发了一套算法,基于真实的路网和AOI数据,对不同级别的客流热力进行分级聚类合并,更能够反映不同区域客流的真实情况,并将地图语言转化为普通人更好理解和能够执行的列表,为后续的进一步分析提供更好的基础。
图例:基于热力图提取的聚客点分布
最后,我写这篇文章其实并不是否定热力图的价值,它仍然适合前期快速探索,但这只能算是个起点。真正的地理分析,需要的恰恰不是模糊化,而是从数据中读出秩序和逻辑,将数据转化为“人话”,只有这样的数据才能更具生产力。
来源:GeoHey极海监测