首页 › 技术知识 › 工程笔记 › 算法笔记 › Theil-Sen 稳健趋势斜率
算法笔记 气象 趋势稳健估计非参数斜率异常鲁棒

Theil-Sen 稳健趋势斜率

Theil-Sen Estimator

想知道十年气温/水位是在升还是降,普通最小二乘斜率会被几个极端年带偏。Theil-Sen 用"中位数斜率"说话,对异常值几乎免疫。

约 412 字· 6 分钟阅读

它解决什么问题

线性回归的斜率对离群点极敏感:一个极端干旱年或一次传感器故障造成的尖峰,就能把长期趋势拉歪。环境监测序列常含这类异常,普通趋势线不可信。

思路

Theil-Sen 计算所有样本点对斜率的中位数作为趋势估计,而不是最小化平方误差。因为中位数天然抗异常,所以少数极端点不会影响结论。

步骤

  1. 对序列中所有点对 (i, j) 计算斜率 (yⱼ − yᵢ)/(xⱼ − xᵢ);
  2. 取这些斜率的中位数作为趋势斜率;
  3. 常用 Mann-Kendall 检验配合,判断趋势是否显著(不只是有多大)。

适用与注意

  • 适合长期趋势识别:气温、水位、污染物浓度的年际变化;
  • 对缺失与异常鲁棒,比 OLS 更适合"脏"的实测序列;
  • 仍要先去季节与去趋势项,否则季节波动会被误读为趋势;
  • 斜率显著 ≠ 变化有意义,要结合量级与领域判断。

看长期趋势,先用 Theil-Sen + Mann-Kendall,别让一两个异常年决定你要讲的故事。