
上个月帮一家连锁品牌做门店选址复盘我打开热点分析工具把全城门店的客流数据跑了一遍。投影仪上一放满屏幕红红蓝蓝运营总监指着东边那片红说“这就是客流热点继续往那边开店。”我在旁边补了一句“您说的这个是值高的地方不是热点分析里说的那种热点。”场面安静了三秒。其实这话不难懂。热点分析作为空间统计里的明星工具确实天天被用但很多人对它的理解停留在“把高值标出来”的层面。这一篇我先不急着讲操作按钮而是拆到概念层聊清楚三件事热点分析到底在算什么Z得分和P值该怎么读为什么邻居的定义一变结果就跟着变。把这三件事琢磨透了再去碰软件才算真会用。1. 一张彩色画片为什么还不能叫热点分析1.1 肉眼看到的一团红未必是统计意义上的热点我先说一个特别常见的场景。手里有一份犯罪记录点、病例点或者门店销售点数据加载进GIS选个渐变颜色高值红、低值蓝或者用分级符号把点画大画小图一出来立马有人指着红色聚集区说“这里就是热点。”我带项目这么多年几乎每回都有小伙伴这么干而且理直气壮“你看这些地方数值就是高啊不是热点是什么”先把结论放这儿数值高和热点是两码事。热点这个词在空间统计里有一个更严格的含义——它不光说你这个地方的值高还要求“高得不像随机瞎排能排出来的”。换句话说热点分析最终回答的判断不是“哪里大”而是“哪里大得反常”。为什么一定要抠这个字眼因为肉眼识别模式这件事极不可靠。人的视觉系统天生就擅长发现规律哪怕数据完全是随机摆放的你盯着一幅彩图看半天也能找出几个“看起来聚集”的红点。这跟你在白墙上看到一块水渍就觉得像张脸是一个道理——大脑会自动补全图案。放到地图上就是你把完全没有热点的数据渲染成彩色照样有人从里面读出热点来。这不是观察者不专业是视觉机制在捣乱。1.2 同一份数据换个分级方法就换了个结论还有一个更坑的问题同样的数据用不同的分级方式画出来视觉效果可以完全相反。这个我不止一次在培训课上演示过每次都有学员发出“原来如此”的感叹。同一份数值用自然间断点分级可能画出来红红一片看起来到处是热点换成等间距分级又变成只有零星几个红点。为什么因为自然间断点会把数值相近的类别归到一起天然“照顾”了值域内部的聚集形态等间距则不管你数据长什么样纯按数值跨度切切出来的图自然就是另一番光景。再极端一点用分位数分级每档数量强制相等颜色深浅代表的已经不是量级而是排名位置——图的含义直接变了。颜色深浅一换、分级数量一改读者心里的“热点分布”就跟着改了。一个结论的视觉表现如此不稳定你拿它去支撑开店决策、警力部署或者卫生资源配置心里能踏实吗所以空间统计才要引入假设检验那一套东西。我们需要的不是“看起来聚集”而是“在随机排列的前提下这种聚集出现的概率极低”。概率极低才有底气说它是个真热点。1.3 统计意义上的热点回答的是“反常”把口径统一一下。大家平时嘴上说的热点一般有两种理解。一种是把“热点”等同于“高值区”。比如聊房价热点就是房价高的板块这种理解偏描述性没有概率判断成分画个等级图就能说清楚。另一种是统计意义上的热点指“高值且高值相互临近导致局部出现反常富集”的区域。空间统计里的热点分析做的是第二种。既然是“反常”就得有个参照系。空间统计的参照系就是“完全随机分布”。数据如果完全随机理论上每个位置附近的高值、低值应该均匀混着不会出现大片的红、大片的蓝。一旦某片区域的高值扎堆到不像随机能排出来的程度统计检验就会给它判一个“显著”的标签。这个“显著”才是热点分析输出结果里最有价值的东西也是比单纯看颜色高一个维度的信息。以后再有同事指着渲染图说“这是热点”你可以顺嘴问一句这是描述上的热点还是统计上显著的热点这一问基本就能把专业度和外行区分开。2. 热点分析在算一道什么题从“值高”到“被高值包围”2.1 全局自相关说“有没有”局部统计说“在哪里”进入正题之前得先给热点分析找个坐标。空间自相关分析有两大分支全局型和局部型。全局型里最出名的要数Morans I莫兰指数它输出的是一个总体数值回答“整个研究范围内属性到底存不存在空间聚集”。正的莫兰指数说明总体上高值挨高值、低值挨低值负的则说明高低值交错。但全局指数有个天生的毛病——它只告诉你“有聚集”不告诉你“在哪聚”。举个例子全城犯罪数据分析完全局莫兰指数显著为正你只知道整个城市确实存在犯罪聚集现象但具体哪片街区聚集、哪片街区干净全局指数一概不答。这就好比体检报告说你“身体存在异常”但没告诉你异常在哪个器官。这时候就需要局部统计上场。局部空间自相关指标有好几个LISA、局部G统计量都算热点分析就是最常用的那一类。它有别于全局思路的地方在于挨个位置做检验给每个位置输出一个判断——你是热点、你是冷点、你还是没啥特别的。理解了“全局给出结论局部给出位置”这个定位后面很多东西就串起来了。2.2 核心思想数豆子比期望热点分析的正式名称叫Getis-Ord Gi*统计量是统计学家Getis和Ord在九十年代初提出来的。名字拗口但思路特别朴素对每个位置划一个局部窗口把窗口里的数值加起来然后问一句——这个局部加总比全球平均水平下的“期望加总”高出多少高出的幅度能不能用随机性解释。把这句话拆开看三个关键词局部窗口看一个数据点的时候不能只看它自己得带上它周围一圈邻居。窗口怎么定义后文第四章会专门讲这是热点分析里最容易出幺蛾子的地方。期望加总如果属性值在空间上完全随机分布那任何一个窗口里的加总应该大致等于“全局均值乘以窗口里的样本数”。差异比较实际加总与期望加总一比较差得越多越说明局部存在反常聚集。老拿抽象概念说话容易飘举个生活化的例子。你在操场上撒一把豆子如果位置完全随机任何一块方格里的豆子数量都跟平均密度差不了太多。突然有一片方格豆子多得异常这片就对应“热点”。注意豆子多的逻辑不是“单颗豆子大”而是“好多豆子挤在一起”。热点分析干的事就是给每个方格数豆子、算期望、比差异。谁窗口里的豆子数量反常地多谁就是热点。2.3 公式并不吓人Gi*的分子分母各在干什么有技术背景的朋友可能想看一眼公式我把它摆出来别怕它没有看起来那么复杂Gi* [Σ(w_ij · x_j) − X̄ × Σ(w_ij)] / { S × sqrt[ ( n × Σ(w_ij²) − (Σ(w_ij))² ) / (n−1) ] }翻译成人话分子的前半部分 Σ(w_ij · x_j)是“我窗口里的加权和”也就是把所有邻居的值按权重加起来后半部分 X̄ × Σ(w_ij)是“如果纯随机我窗口里应该有多少”。分子一减得到的就是“实际值比随机期望多出来多少”。分母则是“所有窗口波动的平均尺度”也就是用来做标准化的标准差。为什么要除以它因为不同数据的数值波动量级不一样。有的数据整体在几万上下跳有的数据在零点几上下跳不除以波动尺度你就没法比较“差异大”到底有多大。分母一除得到的就变成了一个无量纲的标准化分数。这个标准化分数正的就是局部偏高对应热点方向负的就是局部偏低对应冷点方向绝对值越大说明越不像随机排的。整个结构说白了就是我们在下一章要重点讲的Z得分。2.4 Gi和Gi*自己算不算邻居这里有个特别容易绕晕的细节一定得分清楚Gi和Gi就差一个星号差别在于计算局部窗口时要不要把被测点自己算进去。Gi只看邻居Gi把自身也纳入窗口一起加总。ArcGIS里的热点分析工具用的是Gi*也就是“自己加邻居”。这个选择的实际含义很直白当研究对象自己就是区域内的一部分时它的属性和邻居的属性是共同构成聚集的。一个高值点夹在高值邻居之间和孤零零一个高值点处境完全不同。Gi*的“窗口包含自身”能把这种区别体现出来。比如后面手算案例里我会展示一个孤立高值点因为邻居全是低值加总之后反而不突出而一个被高值包围的点哪怕自身值不是最高加总之后也会非常醒目。3. Z得分和P值如何给“偶然性”打分3.1 一张成绩单Z得分是排位P值是“蒙对”概率热点分析输出给用户的不是直接的局部加总而是一套“标准化考试”的成绩单Z得分和P值。多数刚接触的人看到这两个数字就发懵其实拿考试来类比特别好懂。Z得分的含义是你的局部观测值偏离随机期望的幅度换算成多少个标准差。Z2.0意味着观测到的聚集程度比随机期望高出了2个标准差。所有位置算完之后理论上这些Z得分近似服从标准正态分布以0为中心大部分落在正负1到2之间。P值则回答另一个问题如果全区域的属性完全随机出现当前这种聚集结果的概率有多大。P0.03意思就是“瞎排都有3%的概率排出这种效果”。这个概率很低我们就可以反过来推断现实数据八成不是随机排出来的这个位置确实存在统计意义上的聚集。Z得分衡量偏离的幅度和方向P值衡量这个偏离有多“可信”两个数字放一起看才是完整的判断依据。3.2 三档置信度怎么来的对应什么业务含义统计学里大家约定俗成按P值大小给结论分档。热点分析工具通常输出三档置信度置信度Z得分绝对值P值结论99%z ≥ 2.58p 0.01极显著冷点/热点95%1.96 ≤ z 2.580.01 ≤ p 0.05显著冷点/热点90%1.65 ≤ z 1.960.05 ≤ p 0.10边缘显著冷点/热点不显著z 1.65p ≥ 0.10无法判断1.65、1.96、2.58不是拍脑袋定的它们来自标准正态分布的分位数。双侧95%对应的分位数就是1.96双侧99%对应的分位数是2.58。你只需要记住Z得分的绝对值跨过2.58就是“99%置信度”这是实务里最常用的“硬热点”标准。业务端怎么选档位也有讲究。我自己做项目时如果结论涉及公共资源投放、安全防范这类高成本决策会优先认99%置信度把90%那档的边缘结果当成“待观察”如果是前期探索性分析只是想看看数据里有没有苗头90%置信度也够用毕竟探索阶段更重要的是不要漏掉潜在方向。置信度本质上是在“误报”和“漏报”之间做权衡没有绝对的好坏。3.3 GI_Bin分级-3到3直接出图把Z得分和P值映射到分级实操里最常看到的输出字段叫GI_Bin取值范围是-3到3399%置信度的热点z ≥ 2.58295%置信度的热点190%置信度的热点0不显著-1、-2、-3分别对应90%、95%、99%置信度的冷点这个字段最大的好处是直观。直接按-3到3做分级渲染暖色给正、冷色给负、灰色给不显著冷暖一目了然。我一般建议项目汇报里直接用带GI_Bin的图而不是拿原始Z得分上色。原因是Z得分是个连续值细微差异在图上容易被放大或者忽略分档图反而更适合讲故事、做决策。“这里有几个99%置信度的热点”“那里有一片95%的冷点”这么说话听众不累信息也不丢。3.4 两个高频误解说多了都是泪这部分必须给初次接触的朋友泼盆冷水。第一Z得分高不代表那个位置的值本身大。Z得分度量的是“局部聚集的程度”。一个值不高不低、但周围全是一般偏高的位置Z得分可能很高反过来一个值全区域最大、但四周全是低值的位置Z得分反而可能不显著甚至会被归到“孤立高值”那一类连热点都算不上。我见过一个真实案例有人把全市门店营收数据跑完看到Z大于2.58的全是客流密集商圈而某个单店营收冠军因为周围店太少、位置太偏GI_Bin居然是0客户当场质疑工具坏了。工具没坏是“值大”和“热点”被混为一谈了。第二P值小不说明热点强度大。P0.001和P0.01都落在99%或95%置信度区间内只说明“我们有多大的把握认为这不是随机”不说明“热点强度的差距有多大”。强度要看Z得分的绝对值可Z得分又受到样本量、空间权重设置的影响。所以两个不同范围、不同样本量的研究谁的热点“更热”是不能直接拿数字比的。真要跨研究比较得先统一口径、统一权重方案否则比出来的全是幻觉。还有一层容易被忽略的统计逻辑多重检验。热点分析相当于同时对成千上万个位置做假设检验哪怕数据完全是随机的按照5%的显著性水平一万个位置里也可能有大约五百个被误判为显著。这就好比买彩票的人一多总有人中奖不代表中奖的人真有“中奖体质”。针对这个问题有些软件提供了FDR错误发现率校正选项ArcGIS里就有。当你的数据量很大、又想兼顾全局可靠性时建议勾上这个选项它可以帮你控制“假热点”的总量。这个细节很多人不知道但做实操的心里一定要有数。4. 决定成败的空间权重邻居怎么算结果就怎么变4.1 换一种邻居定义热点就“搬家”如果说Z得分和P值决定了热点分析“怎么判”那空间权重就决定了“判谁”。用不同的邻居定义跑同一份数据结果可能是完全不同的。我做过一个演示实验一份城市兴趣点数据用固定2公里距离跑热点聚在核心商圈换成K近邻每个点取最近20个邻居再跑一遍热点明显向次级商圈迁移。在场的同事当场就懵了——同样一份数据两个结论到底信哪个答案是信哪个取决于你的“邻居”定义是否符合业务逻辑。空间权重就是热点分析的地基地基不一样楼上盖出来的房子自然不一样。这里先补一个基础概念空间权重矩阵。它是把“谁和谁是邻居、邻居关系的强弱怎么量化”组织成的一张表。行和列都对应数据里的位置某个格子的值表示两个位置之间的关联强度。行了我们不深入矩阵运算的细节只要记住空间权重定义了每个点“看多远、怎么看”它是热点分析里最核心也最容易被忽视的设定。4.2 四类常见空间关系选型即立场先盘点最常用的几种空间关系空间权重方式邻居定义常用场景固定距离距离阈值内的点都是邻居权重相等点数据、样本分布比较均匀时反距离越近权重越大远了迅速衰减有明显距离衰减效应的现象出行、传播面邻接共享边界或顶点的面互为邻居行政区等面数据K近邻每个点取最近的K个点样本密度极度不均匀时选哪种不是随缘决策逻辑应该是这样如果你的研究现象有明确的辐射半径比如外卖辐射3公里、景区影响5公里那就用固定距离距离带的上界按业务半径来定如果你的现象是“近则强、远则弱”的扩散型用反距离或反距离平方更贴合现实如果数据是行政区汇总出来的面邻接自然是最直接的邻居定义如果样本在空间上疏密不均固定距离会让稀疏地区找不到邻居这时候K近邻反而能保证每个位置都有邻居参与计算。另外还有一个小设定叫行标准化操作选项里经常出现。它的作用是让每个位置对邻居的权重之和为1好处是避免某些邻居特别多的位置在局部加总里天然占便宜。默认情况下多数工具会做行标准化一般不用动但如果你在对比不同权重方案的结果最好确认一下各方案是否用了统一的标准。4.3 固定距离阈值拍脑袋前先看数据固定距离参数最让人头疼的是“阈值到底定多少”。有人直接填个2公里有人说“就用默认”我见过最离谱的是拿地图的比例尺大概比划了一下。这些做法都有共同问题没有让数据说话。这里有一条经验路径我一直在用先用全局Morans I或类似的自相关指标在多个距离下跑一遍画出“距离与自相关强度”的变化曲线找到自相关强度的第一个峰值把这个峰值对应的距离作为固定距离带的优先参考值用这个距离跑热点分析然后上下微调观察GI_Bin显著区域是否稳定如果显著热点的范围对距离极敏感一调就翻天那往往说明数据噪声大或者研究范围内存在明显的尺度问题这时候要回到数据质量层面修。ArcGIS里对应的是“增量空间自相关”工具GeoDa也有类似的探索功能思路都是同一个别拍脑袋让数据告诉你距离该定多少。你可以把它理解成调音响的低音旋钮——不是拧到最大就好而是边听边拧直到声音既不闷也不炸的那个位置。热点分析的“距离阈值”也一样需要在多个候选值下反复试听。4.4 边界效应地图边缘的结果要打问号还有一个必须时刻惦记的坑边界效应。研究范围的边缘位置邻居天然比中心少局部窗口不完整计算出来的Z得分天然不稳定。举个例子研究范围最南边的点它的南侧可能完全没有邻居参与计算局部加总的输入少了一半统计结果当然不可靠。边界位置因此更容易出现虚假的冷热点边缘一圈的“显著”结论可信度要打问号。我见过一个卫生应急分析项目结果图一出来地图四个角各冒出一个99%置信度热点把客户激动坏了以为发现了重大规律。后来排查四个角全是研究范围边界样本量本来就少加上邻居缺失纯粹是计算假象。这个教训我一直记着。处理方式有几种。较严谨的做法是在输出时对边界位置的置信度做降权或者在权重矩阵里做边缘校正ArcGIS自带的热点分析工具没有直接的“边界修正”开关最常用的土办法是把边界一圈的显著结果单独摘出来人工判断是不是因为研究范围没覆盖完整。若是就把研究范围适当外扩再跑一遍。这不是标准的统计修法但在实务里非常管用。记住一条出结论之前先看一眼显著点位在不在边界上。5. 用手算理解热点一个微型案例5.1 两种5×5格局高值连片 vs 高值孤岛前面的概念讲得再多都不如动手算一遍。我用一个5×5的网格来做演示每个格子一个数值保持最简单的情形。先做第一种布局中央一块连续高值区像一个小山坡。1 1 1 1 1 1 4 5 4 1 1 5 8 5 1 1 4 5 4 1 1 1 1 1 1这个网格里8出现在最中心周围一圈是4、5再往外是1。整体来看高值连成一片属于典型的“抱团”结构。再看第二种布局同样的8换成“孤家寡人”版本其他格子全都是1。1 1 1 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 1 1 1两种格局唯一区别在于高值周围的环境。热点分析对这俩的判断应该天差地别。5.2 动手算中心格子的局部总和与期望先算第一种布局。全网格总和是57总共25个格子均值等于57 ÷ 25 ≈ 2.28。现在看中心那个8用3×3窗口也就是把它周围一圈8个邻居全算上按Gi*的口径中心格子自己也参与加总局部总和 8 4 5 4 5 5 4 5 4 44如果属性完全随机一个9格窗口的期望总和应该是 9 × 2.28 ≈ 20.52。观测值44期望值20.52差了23.48高出一倍多。这个差值相当惊人随机排列几乎不可能排出来所以中心区域被判定为显著热点毫无悬念。再看第二种布局。全网格总和是40均值等于40 ÷ 25 1.6。中心那个8同样按3×3窗口、Gi*口径局部总和 8 8 × 1 16期望总和 9 × 1.6 14.4观测16期望14.4只高了1.6大约11%。这个差异放在随机波动里根本不够看。更关键的是如果只看它的邻居改用Gi不算自己窗口里8个邻居的局部总和只有8而期望是 8 × 1.6 12.8——观测值反而比期望还低。这个对比是全文最值得停下来琢磨的一步孤立高值点的“贡献”几乎全靠它自己一旦把视角从“自己多高”切换到“周围整体什么样”它立刻原形毕露。邻居们不是比平均高而是比平均还低的一个小洼地。这样一处高值统计检验的结论是不是热点。5.3 结果告诉我们热点是“同伴现象”把两种布局放到一起看结论非常直观热点本质上是一种“同伴现象”。你的值再高周围没有一个像样的环境统计检验会冷静地告诉你“你这高是个人英雄主义不是区域现象。”反过来一个值中等偏上的格子只要被一群同样偏上的邻居包围它反而很容易成为突出热点。这就是为什么我在第二章反复强调“被高值包围”才是热点的真正含义。再往外延展一步。第一种布局里除了中心8中心区外围那些4、5的格子虽然没有8那么突出但它们的窗口里也全是高于均值的邻居局部总和同样远超期望。所以它们会被判为次级热点和中心连成一片。这说明热点分析输出的是连续的“热点区域”不是孤立的点。第二种布局里除了中心8其余格子的窗口总和都在期望值附近小幅波动不可能产生显著的Z得分。整张图的结局是唯一的高值点反而不是热点全场没有一个位置通过显著性检验。这是新手上路最容易跌破眼镜的地方。我第一次拿真实数据跑出这种“高值反而没标红”的结果时也愣了半天。回头想通之后才算真正理解了热点分析在干什么。5.4 从手算回到软件三个操作习惯从这个微型案例回到软件操作我给第一次接触热点分析的朋友总结三条行动习惯。第一条动手之前先审视空间权重。固定距离定多少、反距离用几次方、邻接用哪种规则这些不是可以随便扔给默认值的东西。权重方案一旦选错后面所有输出都是在错误地基上盖楼。第二条养成看显著性分档的习惯。出图时优先用GI_Bin或者带置信度标注的渲染方案不要逮着原始值或者Z得分就往上涂色。报告里写清楚“哪些点位落在99%置信度”比“颜色深的就是重点”靠谱得多。第三条念好边界和多重检验这两本经。边界处的热点先打问号数据量大的时候留意FDR校正。这两件事不处理你的热点图里混进多少假信号自己是察觉不到的。这三点在热点分析下里会展开成完整的可复现操作流程包括参数设置的完整步骤、用模拟数据验证工具结果的土办法以及我在实际项目中遇到过的几类翻车现场。下一篇接着聊。