对角高斯 · 数值稳定性实验

八个很小的密度,为什么乘着乘着就成了 0?

每个特征都能给出一个合理的正密度,联合密度却可能在浮点数里消失。把乘法改写成对数加法,我们保住的不只是数值,还有每一维为何推高异常分数的解释。

把每个特征放回单变量高斯

4 维
观察预设

每一维使用 log pj = −log σj − ½log(2π) − ½((xj−μj)/σj。标准差必须大于 0。

同一个联合分数,两条计算路径

直接连乘

先算每维密度,再不断相乘

p₁ × p₂ × p₃ × p₄

等待计算

对数求和

先取 log,再把乘法变成加法

log p₁ + log p₂ + log p₃ + log p₄

有限、可排序

最后取负号,统一成“分数越大越异常”:s(x) = −log p(x)。

异常分数 s(x)

先找贡献最大的维度,再用阈值切分

−log pj 贡献排序

条越长,这一维给总异常分数加得越多。密度可以大于 1,因此贡献也可能为负;条形只画正贡献,右侧仍显示完整数值。排序不等同于故障原因。

    阈值 τ

    本页约定 s(x) ≥ τ 时告警。阈值应由验证标签、误报代价和复核容量决定。

    8.5

    异常分数和密度都不是“故障概率”;换单位、换特征或换维数后,旧阈值通常不能原样照搬。

    独立性假设换来了透明,也放弃了相关结构

    对角高斯的联合密度

    p(x) = ∏j=1…d p(xj)

    这条乘积公式假设各特征在正常模型下相互独立,等价于只保留协方差矩阵的对角线。好处是参数少、计算快,而且总分可以拆回逐特征贡献。

    它看不见“请求量升高时 CPU 也应升高”这类关系。两个单变量都处在常见范围内,组合起来仍可能反常;两个高度相关的特征也可能重复计算同一份偏离。关系本身重要时,应考虑条件残差、多元高斯或其他能表达相关结构的方法。