数学建模强化宝典(13)M-K检验法

news2024/11/13 9:01:05

前言

       M-K检验法,全称为Mann-Kendall检验法,是一种非参数的假设检验方法,广泛应用于时间序列数据的趋势性变化检验,特别是气候序列中的趋势分析和突变点检测。以下是对M-K检验法的详细介绍:

一、定义与背景

       M-K检验法由Frank Mann和Donald R. Kendall提出并发展,因此得名Mann-Kendall检验法。该方法不依赖于数据的具体分布形式,能够处理含有异常值和非正态分布的数据,非常适合于气候、水文、环境等领域的时间序列数据分析。

二、基本原理

       M-K检验法的基本原理是通过比较每个数据点与其之前数据点的大小,来检测时间序列数据中的单调趋势(上升、下降或没有趋势)。具体步骤如下:

  1. 构造秩序列:对于时间序列中的每一个数据点,计算其之前所有数据中比它大或小的数据点个数,从而构造出一个秩序列。
  2. 计算统计量:基于秩序列,计算统计量UFk(正向序列)和UBk(反向序列),这两个统计量用于评估时间序列的趋势性和突变点。
  3. 显著性检验:将UFk和UBk与设定的显著性水平(如0.05)对应的临界值进行比较,判断趋势是否显著,以及是否存在突变点。

三、应用领域

M-K检验法广泛应用于以下领域:

  1. 气候变化研究:用于检测气候序列中的趋势变化和突变点,如气温、降水等气候要素的变化趋势。
  2. 水文水资源研究:分析河流流量、地下水位等水文要素的时间序列数据,评估其变化趋势和突变情况。
  3. 环境科学研究:在环境监测和评估中,利用M-K检验法分析污染物浓度、环境质量等指标的变化趋势。

四、优点与局限性

优点:
  1. 非参数检验:不依赖于数据的具体分布形式,适用于各种类型的时间序列数据。
  2. 抗干扰能力强:对异常值不敏感,能够较好地处理非正态分布的数据。
  3. 计算简便:计算过程相对简单,易于实现自动化处理。
局限性:
  1. 无法确定趋势形式:M-K检验法只能判断时间序列是否存在单调趋势,但无法确定趋势的具体形式(如线性、非线性等)。
  2. 对周期性变化不敏感:对于存在周期性变化的时间序列数据,M-K检验法的检测效果可能不佳。

五、实现 

       下面是一个简单的MATLAB函数,用于执行Mann-Kendall趋势检验,并计算统计量UFk(正向序列)以及可选的UBk(反向序列,用于确定突变点): 

function [UF, UB, pValue] = mannKendall(x)  
    % 输入:  
    % x - 时间序列数据向量  
    %  
    % 输出:  
    % UF - 正向序列的Mann-Kendall统计量  
    % UB - 反向序列的Mann-Kendall统计量(可选)  
    % pValue - 对应的p值(此函数不直接计算,通常需要查表或使用其他方法)  
  
    n = length(x);  
    s = 0;  
    varS = 0;  
    UF = zeros(1, n);  
  
    % 初始化  
    for k = 2:n  
        for j = 1:k-1  
            if x(k) > x(j)  
                s = s + 1;  
            elseif x(k) < x(j)  
                s = s - 1;  
            end  
        end  
        UF(k) = (s - k * (k - 1) / 2) / sqrt(k * (k - 1) * (2 * k + 5) / 18);  
        varS = varS + s^2;  
        s = 0;  
    end  
  
    % UB的计算需要反向序列  
    UB = zeros(1, n);  
    if nargout > 2  
        % 计算方差  
        varS = (n * (n - 1) * (2 * n + 5) / 18) - varS;  
        if varS == 0  
            varS = 1; % 避免除以零  
        end  
          
        % 反向序列  
        y = fliplr(x);  
        for k = 2:n  
            UB(k) = -UF(n+1-k); % 利用正向序列的结果  
            % 注意:这里直接利用UF的结果进行转换,实际上UB的计算需要完整重复上述过程,  
            % 但对于标准Mann-Kendall测试,通常只关注UF,UB用于确定突变点  
        end  
          
        % 标准化UB  
        UB = UB / sqrt(varS / 18);  
    end  
  
    % 注意:此函数不直接计算p值,通常需要查表或使用统计软件  
    pValue = NaN; % 占位符  
end

注意

  1. 上述代码主要计算了UF统计量,并可选地计算了UB统计量(虽然UB的计算是基于UF的简化,实际中可能需要独立计算)。
  2. p值的计算通常不是直接通过M-K统计量本身进行的,而是需要参考相应的统计表或使用专门的统计软件/函数。
  3. 对于趋势的显著性判断,通常需要将UF或UB的值与一定的显著性水平(如α=0.05对应的临界值)进行比较。
  4. 在实际应用中,你可能还需要对时间序列进行预处理,如去趋势、季节性调整等,以提高M-K检验的准确性。

六、结论

       M-K检验法作为一种非参数的假设检验方法,在气候、水文、环境等领域的时间序列数据分析中发挥着重要作用。其优点在于不依赖于数据的具体分布形式且抗干扰能力强,但也存在无法确定趋势形式和对周期性变化不敏感的局限性。在实际应用中,应根据具体研究目的和数据特点选择合适的分析方法。

 结语 

成功是优点的发挥

失败是缺点的累积

!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SD 敢达单机 +AI 对战整合版 V2.0+ 无需虚拟机

前言 今天给大家带来一款单机游戏的架设&#xff1a;SD 敢达 AI 对战整合版 V2.0 单机安装教程。 另外&#xff1a;本人承接各种游戏架设&#xff08;单机联网&#xff09; 本人为了学习和研究软件内含的设计思想和原理&#xff0c;带了架设教程仅供娱乐。 教程是本人亲自搭…

鸿蒙轻内核A核源码分析系列四(3) 虚拟内存

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 轻内核A核源码分析系列一 数据结构-双向循环链表 轻内核A核源码分析系列二 数据结构-位图操作 轻内核A核源码分析系列三 物理内存&#xff08;1&#xff0…

MybatisPlus 快速入门

目录 简介 安装 Spring Boot2 Spring Boot3 Spring 配置 Spring Boot 工程 Spring 工程 常见注解 条件构造器 流式查询 使用示例 批量操作 使用示例 自定义SQL Service接口 CRUD 扩展功能 代码生成 安装插件 通用枚举 配置枚举处理器 插件功能 配置示例…

STM32 RTC实时时钟

RTC实时时钟 BKP可以在VBAT维持供电时&#xff0c;完成主电源掉电时&#xff0c;保存少量数据的任务。备份寄存器和VBAT引脚同时存在&#xff0c;更多是为了服务RTC的。 目前&#xff0c;Linux、Windows、安卓这些系统&#xff0c;底层的计时系统都是使用的Unix时间戳&#xf…

隔壁老樊2024全国巡回演唱会重磅来袭,首站广州正式官宣!

汹涌人潮将城市填满&#xff0c;斑驳心绪漂浮在时间之隙&#xff0c;当生活的喜悲逐渐演化成歌&#xff0c;天空将自己负载的缄默倾泻&#xff0c;那些或酸涩、或热烈的点滴滑落心海&#xff0c;那层悬挂在「我」与世界分野的无形壁垒&#xff0c;渐也被曙光渗透消融。 提炼生…

vivado 时间汇总报告

步骤7&#xff1a;时间汇总报告 定时路径在时钟元素处开始和结束。输入和输出端口不是顺序的 元素&#xff0c;默认情况下&#xff0c;Vivado时序分析不会对进出I/O端口的路径进行计时 设计&#xff0c;除非指定了输入/输出延迟约束。 在此步骤中&#xff0c;您将在Vivado中生成…

【Vue】关于Vue3的生命周期

目录 Vue3中新增了一个setup生命周期函数&#xff1a;(1) setup执行的时机是在beforeCreate生命周期函数之前执行&#xff0c;在setup函数中是不能通过this来获取实例的&#xff1b;(2) 为了命名的统一性&#xff0c;将beforeDestroy 改名为 beforeUnmount&#xff0c;destroye…

MySQL数据库(初始上)

什么是MySQL MySQL是一个客户端——服务器结构的程序&#xff0c;MySQL的服务器是真正的本体&#xff0c;负责保存和管理数据&#xff0c;数据存储在硬盘上。数据库指的是逻辑上数据的集合&#xff0c;一个MySQL服务器上可以有很多表&#xff0c;把有关连的连到一起就构成了一…

SAP 免费学习网站推荐

1、https://www.guru99.com/ 可以看到有很多的开发语言可以学习。其中就有SAP。 点击SAP菜单后&#xff0c;可以看到每个模块的操作 每个模块下面都有操作的截图&#xff0c;结合翻译软件看的话很容易看懂 2、https://community.sap.com/ 这个是SAP官方的社区&#xff0c…

中国各县域城乡居民收入数据集(2000-2022年)

中国各县域的城乡居民收入是衡量地方经济社会发展水平的关键指标&#xff0c;对于理解区域内的经济活力、居民生活水平以及城乡差距具有重要意义。城镇居民人均可支配收入与农村居民人均可支配收入反映了不同群体的经济状况&#xff0c;前者通常较高&#xff0c;后者则可能受到…

Where I can save my openai-apikey safely for my flutter app

题意&#xff1a;我可以在哪里安全地保存我的 OpenAI API 密钥用于我的 Flutter 应用 问题背景&#xff1a; I am trying using ability of openai for my flutter app, but for now I dont have experience to save apikey safely and efficiently etc. I learned that I can…

【Canvas与电脑桌面壁纸】L形交错十字桌面(1920*1080)

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>L形交错十字桌面</title><style type"text/css"…

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统 在产品将要上线之前&#xff0c;需要制作不同类型格式的根文件系统 在产品研发阶段&#xff0c;我们还是需要使用nfs的方式挂载根文件系统 优点&#xff1a;可以直接在上位机中修改文件系统内容&#xff0c;延长EMMC的寿命 【1】重启上位机nfs服…

业务架构解构与实践

往期回顾 >> CIO要懂业务架构&#xff0c;再谈业务架构的定义与作用&#xff0c;附业务架构教程下载 为什么要坚持先业务后IT&#xff1f;附71页PPT:企业架构及典型设计 为什么说“业务架构师”是ITBP的最佳人选&#xff1f; 业务架构之建模方法 业务架构的伴侣&…

线程安全问题和锁

所属专栏&#xff1a;Java学习 1. 线程的状态 新建&#xff08;New&#xff09;状态&#xff1a;当一个线程对象被创建&#xff0c;但还未调用 start () 方法启动时&#xff0c;处于新建状态。此时线程仅仅是一个 Java 对象&#xff0c;系统尚未为其分配资源。 就绪&am…

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入&#xff08;Embedding&#xff09;方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节&#xff1a;嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以…

Model-based RL动态规划(基于价值、基于策略,泛化迭代)

白盒环境和黑盒环境 白盒环境&#xff1a;知道环境的状态转移函数P(s’|s)或P(s’|s,a)和奖励函数R(s)或R(s,a)&#xff1a;   白盒环境下的学习相当于直接给出了有监督学习的数据分布&#xff08;就是有了目标靶子&#xff09;&#xff0c;不需要采样了&#xff0c;直接最小…

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中&#xff0c;我们经常会遇到这样的情况&#xff1a;一不小心&#xff0c;桌面上的某个重要文件被删除了。这时&#xff0c;大多数人可能会感到惊慌失措&#xff0c;不知所措。 其实&#xff0c;不必过于担心&#xff0c;因为有很多方法可以帮助我们找回…

@开发者极客们,网易2024低代码大赛来啦

极客们&#xff0c;网易云信拍了拍你 9月6日起&#xff0c;2024网易低代码大赛正式开启啦&#xff01; 低代码大赛是由网易主办的权威赛事&#xff0c;鼓励开发者们用低代码开发的方式快速搭建应用&#xff0c;并最终以作品决出优胜。 从2022年11月起&#xff0c;网易低代码大赛…

构建数字产业生态链,共绘数字经济新蓝图

在当今数字化浪潮席卷全球的时代&#xff0c;构建数字产业生态链成为了推动经济发展的关键引擎。数字产业生态链如同一个强大的磁场&#xff0c;吸引着各类创新要素汇聚&#xff0c;共同描绘出数字经济的宏伟新蓝图。 数字产业生态链的核心在于融合与协同。它将软件开发、数据分…