突变点检测(Pettitt)
这个方法是做什么的
在一条序列里找出最可能的那一个均值突变位置。Pettitt 检验是 Mann-Whitney 统计量的滑动版本:对每个候选切点算出前段与后段的秩差和 U_t,取 |U_t| 最大处作为突变位置 t*,最大值 K 就是检验统计量。它是非参数方法,不假定分布形态。
显著性给两套:文献常用的近似公式,以及模块实跑的蒙特卡洛置换检验(B=2000 次重排)。判定以置换检验为准,因为近似公式在样本较短或存在并列值时偏差明显。卡④ 回答“突变有多大”:前后段均值差 Δ 及其 Welch 95% 区间、Hedges' g、非参数的 Mann-Whitney 与秩二列相关,还有一项 Levene——它用来区分“均值变了”和“波动变了”,方差齐才符合 Pettitt 的单突变均值模型。读这份报告,最该先看的不是主结果而是卡①:那里有两项专门用来判断“这个突变是不是假的”的诊断。
需要准备什么数据
- 放入[定量]时间序列:不限
- 放入[时间标签](可选)(可选):不限
数据要求
- 数据表至少 30 行。
- 单列缺失率不超过 20%。
- 不接受取值全都一样的列(零方差列没有可分析的变异)。
以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。
什么时候用它
- 判断某个政策、工艺调整或设备更换之后,指标水平是否真的发生了台阶式变化
- 突变时点未知,需要让数据自己指出最可能的位置,而不是人为指定
- 序列偏态、有异常值,参数方法的前后段 t 检验不放心
- 已知有趋势,想确认除趋势之外是否还额外存在一次跳变
前提是数据行已按时间先后排好,至少 30 行——29 行会被直接拦下。这个模块明确不替你排序,拖入的“时间标签”列只用于把 t* 翻译成可读的时间。卡① 的时间标签行按首行到末行显示,可以拿它自查:把演示数据行序打乱后,那一行显示成“2021-08 ~ 2019-06”,终点早于起点即说明顺序是乱的,而此时检验照样跑完并给出一个完全不同的结论。
什么时候不要用它
- 你要的是“有没有持续的上升或下降”而不是一次跳变:用「Mann-Kendall趋势检验」,它同时给稳健的变化速率。
- 怀疑存在多个突变点:Pettitt 只报最显著的一个,其余会被吸收进前后段的组内变异;要按阈值把样本切成不同区制,用「门槛回归(Hansen)」。
- 突变时点是已知的、你要估计的是政策效应:那是因果推断问题,用「双重差分(DID)」,只有一条序列且分界清晰时用「断点回归(RD)」。
- 关心的是过程有没有失控、要的是逐点报警而不是一次定位:用「CUSUM累积和控制图」或「EWMA控制图」。
- 变化的是波动幅度而不是平均水平:用「GARCH模型」刻画条件方差。
- 想把水平变化与季节波动分开看:用「季节分解模型」。
容易误读的地方
- 单调趋势会被单突变模型误判成跳变,而演示数据正好踩中这一条。 卡① 的 Mann-Kendall 诊断给出 S=4284、τ=0.600、p<0.001,报告在摘要里就直接写了“单突变模型可能把趋势误判为跳变,请先去趋势后复核”。道理很直白:一条持续爬升的序列,从中间任何一处切开,后段都会整体高于前段,|U_t| 必然出现峰值。看到这行诊断显著,正确的做法是对差分序列或去趋势残差重做检验,而不是照抄 t* 的位置。
- 自相关会抬高假阳性率,而这条序列上它同样显著。 演示的 Ljung-Box(10)=749.710、p<0.001,ρ₁=0.8806。Pettitt 的原假设是“观测可交换”,强惯性的序列即便没有任何真实突变,也很容易堆出一个足够大的 K。此时结论应当降级为“存在结构变化的初步证据”,不能当作确证。
- 效应量是在数据自己挑出来的切点上算的,会系统性偏大。 卡④ 的 Hedges' g=5.288 看起来惊人,但 t* 正是按“前后段差异最大”选出来的,同一份数据再用它算前后段的 t 检验,等于用同一批观测既选了假设又检验了假设。这个 g 适合描述“分完之后两段差多少”,不适合当成独立证据去支撑“突变很大”。
- 近似 p 与置换 p 不一致时以置换为准。 近似公式 p≈2·exp(−6K²/(n³+n²)) 来自 Pettitt(1979),其推导假定无并列值且 n 足够大。模块把两套都印出来,并在表注里写明判定以置换检验为准。引用时要说明用的是哪一套,否则别人复现不出同一个数。
- 方差齐性那一行不是可有可无的装饰。 Levene 不显著才说明变化以均值偏移为主、符合 Pettitt 的模型设定;如果它显著,真正发生的可能是波动性变了而不是水平变了,此时把 Δ 当成“提升了多少”会讲错故事。演示里 Levene p=0.8113,方差齐,这一条才成立。
报告里有什么
- 输出结果一:数据概览与前提检验
- 输出结果二:Pettitt 突变点检验主结果
- 输出结果三:可视化(序列、统计量轨迹与零分布)
- 输出结果四:效应量与前后段事后比较
- 输出结果五:结论与学术表述
第一图为原始序列与突变位置(红线)及前后段均值水平;第二图为 |U_t| 轨迹;第三图为置换检验得到的 K 零分布与实测 K 的对照。