2026-10-05

热力矩阵要不要按行归一化:先看你想比较什么

guides

热力矩阵把数值交给颜色承担比较,最容易出现的误读,是没先说清颜色代表原始量级,还是统一尺度后的相对位置。两种口径都能画热力图,但回答的问题并不相同。

归一化改变的是比较口径

归一化把数值换到共同尺度上,回答的是「同一把尺子上谁高谁低」。它关注换尺后的相对位置,不直接保留原始数量。比如以均值和标准差为基准的标准分,是先减去均值,再除以标准差。这样处理后,重点从“原值有多大”转向“离基准有多远”。

因此,归一化之前应先明确比较对象:是在比较不同行的整体量级,还是比较每行内部的结构。问题不同,合适的口径也不同。

不归一化时,颜色比较的是全表原始值

不归一化时,所有数字直接进入同一套颜色映射,颜色比较的是全表原始数值。在这种情况下,量级大的行天然更容易显示得更深。这里的深浅直接反映数值大小,不能解释为该行内部相对更强,或者更值得关注。

这也是全局色阶的基本含义:映射区间的最小值和最大值决定数值如何对应颜色。改变映射区间,读者看到的颜色关系也会改变。

哪些问题需要归一化

当各列量纲不同,而且跨列量纲差异本身是噪音时,可以考虑归一化。此时要回答的可能是各列内部的高低分布,而不是原始数量本身。统一尺度能减少大量级列对颜色判断的持续主导,让比较重点回到相对位置。

scikit-learn 官方文档也提到,如果某个特征的方差比其他特征大很多,它可能主导目标函数。这说明统一尺度解决的是量级失衡,不是为了让图形更花哨。

哪些情况不该归一化

如果跨列绝对量差异本身就是信号,就不应归一化。此时,某个值更大并不是表达上的干扰,而是需要保留的信息。若把各列都换到相对尺度,原本明显的绝对差异可能被压缩,颜色看起来接近,原始量级却仍在矩阵数值和原始表中。

所以,“是否归一化”不能只看颜色是否均匀,而要看绝对差异是噪音,还是问题本身。

共同尺度仍需固定基准

按行归一化尤其要注意基准问题。如果每行都临时使用自己的尺子,那么每行的高位位置可能都被画成相似颜色,但各行使用的换算基准不同。此时,颜色只能在行内解释,不能据此声称不同行已经在同一尺度上可比。

共同尺度不等于基准可以随时变化。scikit-learn 官方文档在数据预处理部分强调,变换应由训练数据确定,再应用到其他数据;这里不涉及本站的统计判断,但“复用同一基准”正是尺度可比的前提。

本站实际会显示什么

relitu.cn 不提供归一化、按行或按列单独换尺、排名模式,也没有业务阈值设置。工具在浏览器本地解析 CSV,不上传、不保存、不发送。全表共用当前表最小值与最大值作为线性映射区间,并使用五档青到紫顺序色阶。

矩阵单元格里直接显示数值,下方原始表保留输入口径。空白单元格和 NA、N/A、null 都显示为缺失,不会变成零;灰色虚线表示缺失,黑框表示真实零值,零值仍保留色阶颜色。颜色不用于判断相关性、因果或趋势,本站也不做统计检定和预测。

下次整理数据时,可以先按数据分层核对各列的单位和口径,再问两个问题:跨列量级差异是噪音,还是需要保留的信号?如果是噪音,需要先确定一个固定基准;如果绝对量本身就是信号,就应保留原始口径。使用本站查看时,应把当前颜色理解为全表原始数值的全局映射,而不是归一化后的比较结果。