该算法依据Pettitt突变检测相关理论以及R代码。不过。。。。。。没有P值(R中的P值是通过蒙特卡洛方法估计,该方法是封装的)

import numpy as np
import pandas as pddef Pettitt_change_point_detection(inputdata):inputdata = np.array(inputdata)n         = inputdata.shape[0]k = range(n)inputdataT = pd.Series(inputdata)r = inputdataT.rank()Uk = [2*np.sum(r[0:x])-x*(n + 1) for x in k]Uka = list(np.abs(Uk))U = np.max(Uka)K = Uka.index(U)pvalue         = 2 * np.exp((-6 * (U**2))/(n**3 + n**2))if pvalue <= 0.05:change_point_desc = '显著'else:change_point_desc = '不显著'#Pettitt_result = {'突变点位置':K,'突变程度':change_point_desc}return K #,Pettitt_result

测试(同样是对比):

dt = [2413.291, 2201.967, 2363.555, 2086.259, 2070.092, 2242.442, 3091.346, 1326.768, 1595.619, 1631.493, 1797.879, 2044.798, 1904.171, 1746.416, 1875.368 ,1826.619, 1853.982, 1887.834, 1802.647 ,1783.050,1925.268, 1777.375, 1970.239 ,1782.715]
plt.plot(dt)
plt.plot([0,5],[np.mean(dt[0:6]),np.mean(dt[0:6])],'m--',color='r')
plt.plot([7,23],[np.mean(dt[7:]),np.mean(dt[7:])],'m--',color='r')
print("Mann-Kendall:",Kendall_change_point_detection(dt))
print("Pettitt:",Pettitt_change_point_detection(dt))
print("Buishand U Test:",Buishand_U_change_point_detection(dt))
print("Standard Normal Homogeneity Test (SNHT):",SNHT_change_point_detection(dt))

突变点检测:Pettitt突变点检测(python)相关推荐

  1. python:遥感时间序列处理——Pettitt突变点检测(突变时间/年份)

    本文记录了使用python语言和Pettitt突变检测算法检测遥感数据30年的NDVI时间序列中的突变时间(年份)的代码. Pettitt可以检测时间序列中最显著的突变点,其检测结果只有一个,相对MK ...

  2. matlab怎么分析突变点,小波变换检测信号突变点的MATLAB实现

    之前在不经意间也有接触过求突变点的问题.在我看来,与其说是求突变点,不如说是我们常常玩的"找不同".给你两幅图像,让你找出两个图像中不同的地方,我认为这其实也是找突变点在生活中的应 ...

  3. python人脸识别、人脸关键点检测、性别检测

    python人脸识别.人脸关键点检测.性别检测 文章目录 根据人脸预测年龄性别和情绪 (python + keras)(三) 一款入门级的人脸.视频.文字检测以及识别的项目. age-gender-e ...

  4. python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学检测

     本篇博客接着讲解机器视觉的有关技术和知识.包括宽度测量,缺陷检测,医学处理. 一:宽度测量   在传统的自动化生产中,对于尺寸的测量,典型的方法就是千分尺.游标卡尺.塞尺等.而这些测量手段测量精度低 ...

  5. yolov5在线检测目标检测网页实时识别python目标检测flask

    yolov5在线检测目标检测网页实时识别python目标检测flask #!/usr/bin/env python from importlib import import_module import ...

  6. 一文详解8种异常检测算法(附Python代码)

    文章目录 一.异常检测简介 1.1 异常检测适用的场景 1.2 异常检测存在的挑战 二.异常检测方法 2.1 基于聚类的方法 2.2 基于统计的方法 2.3 基于深度的方法 2.4 基于分类模型 2. ...

  7. python摔倒检测,跌倒检测openpose站立行为检测

    python摔倒检测,跌倒检测openpose站立行为检测 import cv2 import numpy as np from torch import from_numpy, jit from m ...

  8. 车道线检测基础任务(Python实现)

    车道线检测基础任务(Python实现) 基础任务: 车道线检测 基础任务:实际公路的车道线检测. 任务内容: 1. 在所提供的公路图片上检测出车道线并标记: 2. 在所提供的公路视频上检测出车道线并标 ...

  9. 基于深度学习的高精度苹果检测识别系统(Python+Pyside6)

    摘要:基于深度学习的高精度苹果检测识别系统可用于日常生活中来检测与定位苹果目标,利用深度学习算法可实现图片.视频.摄像头等方式的苹果目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本系统采 ...

最新文章

  1. 小辣椒p60手机怎么样_小辣椒双机来临,搭载联发科 最低499元
  2. Hibernate sql查询
  3. TCP连接——三次握手和四次断开
  4. DOM相关(主要是var和let的区别用法)
  5. CodeForces - 948C(前缀和 + 二分)
  6. el表达式原样输出问题
  7. Docker container 集装箱说明
  8. 计算机专业毕业设计题目大全
  9. 电子设备常见的音视频接口
  10. 通配符 [概述][Java]
  11. @Trasactional 事务解读
  12. moviepy音视频开发:audio_fadein、fadeout实现声音淡入淡出
  13. 一款集成微信小助手的mac微信最新版!支持发朋友圈!
  14. 关于mscorsvw.exe
  15. 计算机删除行快捷键,删除快捷键是什么?电脑删除快捷键有哪些?
  16. 数据处理奇技巧——hive篇
  17. 微信小程序 Unexpected token in JSON at position 0 设置二维码,并且使用js中JSON.parse()函数将二维码返回的值转化为json格式
  18. java magic number_java的class文件的magic number, cafebabe
  19. 小黄豆CRM v1.17版本发布
  20. w ndows10故障如何重新进入,天正建筑T20常见问题

热门文章

  1. Rabbitmq用户角色
  2. 电气器件系列十:热继电器FR\KRE
  3. C语言宏定义(常用宏定义)
  4. MRC与QA在信息抽取任务中的相关应用总结
  5. 基于STM32风速风向检测仿真
  6. 鼠标滑过图片抖动晃动效果(css/Shake)
  7. 多孔氮化硼你了解吗?官能化/修饰/掺杂多孔氮化硼纳米纤维。分享介绍
  8. Flutter开发之Http网络请求
  9. Python4:操作列表
  10. JZOJ【入门】1290 行李托运费