当前位置: 首页 > news >正文

机器学习数学基础:46.Mann-Kendall 序贯检验(Sequential MK Test)

Mann-Kendall 序贯检验(Sequential MK Test)详解

Mann-Kendall 序贯检验与整体趋势检验同属 MK 方法体系,但应用场景和计算目标不同。整体检验聚焦“整个序列是否有显著趋势”,而序贯检验则用于检测趋势的“突变点”(即趋势何时开始显著),并追踪趋势的演变过程。

一、核心区别与联系

对比维度整体 MK 检验序贯 MK 检验
方法定位判断“整个时间序列是否存在显著趋势”不仅判断趋势,还追踪“趋势何时开始显著”及“突变点”(趋势转折时间点)
关键统计量统计量 S 和 Z正序统计量 UFₖ、逆序统计量 UBₖ
核心逻辑基于全局数据的相对大小比较基于正序、逆序数据的趋势交叉分析
联系均为非参数检验,不依赖数据分布;核心思想均基于成对数据的相对大小比较

二、序贯检验的统计量(以 UFₖ 为例)

1. 定义

  • mᵢ:第 i 个数据与前面所有数据(j≤i)比较时,xᵢ > xⱼ 的次数(即“正差异”次数)。
  • dₖ:前 k 个数据的累积正差异数,即所有 i≤k 的 mᵢ 之和:
    dₖ = Σ₍i=1⁾ᵏ mᵢ

2. 均值 E(dₖ) 和方差 Var(dₖ)

假设数据独立同分布(无趋势、无自相关):

  • 均值:前 k 个数据共 k(k-1)/2 对比较,每对 xᵢ > xⱼ 的概率为 0.5,因此:
    E(dₖ) = k(k-1)/4
  • 方差:需考虑“结”(相等值)和独立性,无结时公式为:
    Var(dₖ) = k(k-1)(2k+5)/72

3. 标准化统计量 UFₖ

将 dₖ 标准化以消除量纲影响:
UFₖ =
{0(k=1),dk−E(dk)Var(dk)(2≤k≤n).\begin{cases} 0 & (k=1), \\ \frac{dₖ - E(dₖ)}{\sqrt{Var(dₖ)}} & (2≤k≤n). \end{cases}{0Var(dk)dkE(dk)(k=1),(2kn).

  • 物理意义
    • UFₖ > 0:前 k 个数据呈现上升趋势;
    • UFₖ < 0:前 k 个数据呈现下降趋势;
    • 若 |UFₖ| 超过临界值(如 1.96,对应 α=0.05),则趋势显著。

三、序贯检验的完整逻辑:UF 与 UB 曲线

1. UBₖ 的计算

  • 逆序计算:将原序列倒序后,重复 UFₖ 的计算步骤,得到倒序统计量 UFₖ’;
  • 转换为 UBₖ:原序列的 UBₖ = -UF’ₙ₋ₖ₊₁(如 k=1 时,UB₁ = -UF’ₙ;k=n 时,UBₙ = -UF’₁)。

2. 突变点判断

通过 UFₖ 和 UBₖ 曲线的交叉点判断突变点:

  • 若两条曲线在临界值(如 ±1.96,对应 α=0.05)之间交叉,交叉年份即为趋势突变的时间点。

四、序贯检验的操作步骤

步骤 1:数据准备

  • 输入:时间序列 {xᵢ}(i=1~n,n≥10,建议无缺失值;若有重复值,需记录“结”的信息)。
  • 目标:计算 UFₖ(正序趋势)和 UBₖ(逆序趋势),通过曲线交叉定位突变点。

步骤 2:计算正序统计量 UFₖ

  1. 计算 mᵢ 和 dₖ:按定义逐点计算每个 i 的 mᵢ,再累积得到 dₖ;
  2. 计算 E(dₖ) 和 Var(dₖ):使用上述公式;
  3. 标准化得到 UFₖ:按 UFₖ 公式计算。

步骤 3:计算逆序统计量 UBₖ

  1. 倒序序列:将原序列反转,得到 {x’ᵢ} = {xₙ, xₙ₋₁, …, x₁};
  2. 计算倒序的 UFₖ’:对倒序序列重复步骤 2;
  3. 转换为 UBₖ:UBₖ = -UF’ₙ₋ₖ₊₁。

步骤 4:突变点与趋势判断(绘图分析)

  1. 绘图:横轴为时间(1~n),纵轴为 UFₖ(蓝色,正序)和 UBₖ(红色,逆序),并添加临界值线 ±1.96;
  2. 趋势判断
    • UFₖ > 1.96:显著上升趋势;
    • UFₖ < -1.96:显著下降趋势;
  3. 突变点判断:UFₖ 和 UBₖ 在临界值之间的交叉点,即为趋势突变的时间点(需结合专业知识解释是否为“真实突变”)。

五、示例:某地区年降水量的序贯检验分析

1. 数据准备

某地区 2013-2022 年的年降水量(单位:毫米):

年份2013201420152016201720182019202020212022
降水量800820780850830880900860920950

2. 计算正序统计量 UFₖ

  • 计算 mᵢ 和 dₖ

    • k=1:m₁=0,d₁=0;
    • k=2:x₂=820 > x₁=800 → m₂=1,d₂=0+1=1;
    • k=3:x₃=780 < x₁、x₂ → m₃=0,d₃=1+0=1;
    • 以此类推,得到所有 dₖ。
  • 计算 E(dₖ)、Var(dₖ) 和 UFₖ
    例如 k=3 时:
    E(d₃)=3×2/4=1.5,Var(d₃)=3×2×11/72≈0.917,
    UF₃=(1-1.5)/√0.917≈-0.52。

3. 计算逆序统计量 UBₖ

  • 倒序序列:950,920,860,900,880,830,850,780,820,800;
  • 重复步骤 2 计算倒序的 UFₖ’,再转换为 UBₖ(UBₖ = -UF’ₙ₋ₖ₊₁)。

4. 结果分析

  • 趋势判断:UFₖ > 0 表示上升趋势,UFₖ < 0 表示下降趋势;
  • 显著性判断:|UFₖ| > 1.96 时,趋势显著;
  • 突变点判断:UFₖ 与 UBₖ 在临界值之间的交叉点即为突变点(如交叉年份为 2018 年,需结合气候事件、政策等分析原因)。

六、关键注意事项

  1. 结的处理:若数据有重复值,需用修正方差公式(加入 Σtₚ(tₚ-1)(2tₚ+5) 项,tₚ 为第 p 组重复值的长度),否则可能低估方差,导致假阳性;
  2. 样本量:n<10 时,正态近似不成立,需用精确概率表判断显著性;
  3. 突变解释:交叉点仅表示趋势显著性的转折,需结合专业知识判断是否为“真实突变”。

通过序贯 MK 检验,可深入挖掘时间序列的趋势动态,为气候、环境等领域的决策提供支持。

http://www.xdnf.cn/news/1278217.html

相关文章:

  • Spring Boot - 内置的9个过滤器用法
  • Day 9-2: Transformer翻译实例演示 - 翻译的基础设施
  • AI大模型 教师方向应用探索
  • Audio Flamingo
  • 第4章 程序段的反复执行4 多重循环练习(题及答案)
  • Python day40
  • C++ list类
  • 【深度学习新浪潮】遥感图像风格化迁移研究工作介绍
  • JS中typeof与instanceof的区别
  • 腾讯云EdgeOne KV存储在游戏资源发布中的技术实践与架构解析
  • 数学建模——回归分析
  • 【GPT入门】第44课 检查 LlamaFactory微调Llama3的效果
  • 集成电路学习:什么是Parameter Server参数服务器
  • 机器学习-增加样本、精确率与召回率
  • Java开源代码源码研究:我的成长之路与实战心得分享
  • 学习分库分表的前置知识:高可用系统架构理论与实践
  • 构建企业级Odoo 18 WMS——功能、架构与拓展蓝图
  • LeetCode每日一题,2025-8-10
  • 《C语言》结构体和联合体练习题--2
  • 前端学习日记 - 前端函数防抖详解
  • 无人机集群协同三维路径规划,采用梦境优化算法(DOA)实现,Matlab代码
  • python魔法属性__doc__介绍
  • 区块链让物联网真正链接万物
  • Mysql系列--5、表的基本查询(上)
  • 【论文阅读】Deep Adversarial Multi-view Clustering Network
  • C语言:指针(2)
  • 基于ECharts的智慧社区数据可视化
  • Knuth‘s TwoSum Algorithm 原理详解
  • JS实现数组扁平化
  • 【C#补全计划】万类之父中的方法