解锁SQL无限可能 | 基于SQL实现的一种时序数据的波峰个数检测算法

目录

0 算法原理

1 数据准备

2 问题分析

3 小结

数字化建设通关指南专栏原价99,现在活动价39.9,按照阶梯式增长,直到恢复原价


0 算法原理

  波峰识别算法

序列数据是按照时间进行采集,其中400个点一个周期,一条数据共10个周期,即4000个点。 首先针对序列数据判断每个周期是否存在波峰,并在存在波峰的情况下进行波峰形状识别。 其中波峰识别主要遍历寻找某个值既大于左边又大于右边

参数: 

①peak_thre:获取时域振动数据95% 分位数值大小,将此值得0.8倍作为波峰阈值 

②peak_width:数据中间隔10个点及其以内的波峰被识别为一个波峰

图 波峰识别逻辑

 

算法原理: 

data[i-1]<data[i] & data[i]>data[i+1] & data[i]> peak_thre 

OR 

data[i-1]=data[i] & data[i]> peak_thre 

1 数据准备

with peak as(select stack(30,1, 1,2, 3,3, 3,4, 5,5, 25,6, 4,7, 10,8, 11,9, 2,10, 11,11, 1,12, 13,13, 23,14, 33,15, 53,16, 3,17, 13,18, 93,19, 30,20, 21,21, 2,21, 13,23, 31,24, 56,25, 53,26, 13,27, 33,28, 31,29, 28,30, 1) as(id,val))

2 问题分析

具体实现SQL如下:

with peak as(select stack(30,1, 1,2, 3,3, 3,4, 5,5, 25,6, 4,7, 10,8, 11,9, 2,10, 11,11, 1,12, 13,13, 23,14, 33,15, 53,16, 3,17, 13,18, 93,19, 30,20, 21,21, 2,21, 13,23, 31,24, 56,25, 53,26, 13,27, 33,28, 31,29, 28,30, 1) as(id,val))select sum(case when val >= lag_val and val >= lead_val and val > peak_thre then 1 end) peak_cntfrom (select id, val, peak_thre, peak_width, lag(val, 1, 0) over (partition by peak_width order by id)  lag_val, lead(val, 1, 0) over (partition by peak_width order by id) lead_valfrom (select id, val, percentile(val, 0.95) over () * 0.8 as peak_thre, ceil(id / 10)                          peak_widthfrom peak) t) t

 

SQL解释:

  • (1) peak_thre:采用percentile(val, 0.95) 函数
  • (2)峰值判断利用lag()及lead()函数
  • (3)间隔10个点分组: ceil(id / 10)

3 小结

本文利用SQL实现了一种时序数据的波峰个数检测算法。在时序数据分析时,lag(),lead()分析函数及统计函数常常被用到。

如果觉得本篇文章对你还有点帮助,那么不妨也可以选择去看看我的博客专栏文章,里面内容更精彩。具体专栏内容如下(部分展示):

数字化建设通关指南专栏原价99,现在活动价39.9,按照阶梯式增长,直到恢复原价

主要内容包括:
1 SQL进阶实战技巧

可以参考如下教程,具体链接如下

SQL很简单,可你却写不好?也许这才是SQL最好的教程

上面链接中的文章及技巧会不定期更新。

2 数仓建模实战技巧和个人心得

文章部分标题展示如下:
       1)新人入职新公司后应如何快速了解业务?

       2)以业务视角看宽表化建设?

       3)  维度建模 or 关系型建模?

       4)业务模型与数据模型有什么区别?业务阶段的模型该如何建设?

       5)业务指标体系该如何建设?指标体系该如何维护?指标平台应如何建设?指标体系                           该由谁来搭建?

       6)如何优雅设计DWS层?DWS层模型好坏该如何评价?

       7)指标发生异常,该如何排查?应从哪些方面入手寻找问题点?

       8) 数据架构的选择,mpp or hadoop?

       9)数仓团队应如何体现自己的业务价值,讲好数据故事?

       10)BI与大数据有什么关系?BI与信息化、数字化之间有什么关系?BI与报表之间的关                          系?

       11)数据部门如何与业务部门沟通,并规划指引业务需求?

文章不限于以上内容,有新的想法也会及时更新到该专栏。

具体专栏链接如下:

数字化建设通关指南_莫叫石榴姐的博客-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【零散技术】Odoo17通过Controller下载PDF

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo作为一款开源ERP&#xff0c;拥有极佳的拓展性&#xff0c;Odoo的Controller框架也让它具备了作为微信小程序后端的能力&#xff0c;那么就存在 需要通过小程序来下载PDF的业务情况。 目录 1.功能代码 1.1 manifest 设置 …

Tensorflow—第五讲卷积神经网络

本讲概述 卷积实际上就是特征提取。本讲我们先了解学习卷积神经网络基础知识&#xff0c;再一步步地学习搭建卷积神经网络&#xff0c;最后会运用卷积神经网络对cifar10 数据集分类。在本讲的最后附上几个经典卷积神经网络&#xff1a;LeNet、AlexNet、VGGNet、InceptionNet和…

在Linux中安装FFmpeg

在Linux中安装FFmpeg有两种方法。 安装FFmpeg&#xff08;方法一&#xff09; 第一步&#xff0c;下载FFmpeg。 登录地址&#xff1a;John Van Sickle - FFmpeg Static Builds下载安装包ffmpeg-git-amd64-static.tar.xz。然后使用WinSCP将安装包上传到文件夹/usr/local/src中…

vue2基础系列教程之插槽slot你不得不知道的知识点及面试高频问题

vue2中对插槽的介绍&#xff0c;花了大量的章节篇幅&#xff0c;可想而知&#xff0c;它在框架中的重要性。 slot及slot-scope自 2.6.0 起被废弃。新推荐的语法请查阅v-slot,就语法我们这里就一笔带过&#xff0c;主要学习新的语法 你不能不知道的slot知识点 插槽的作用&#…

C++知识要点总结笔记

文章目录 前言一、c基础1.指针和引用指针和引用的区别函数指针 2.数据类型整型 short int long 和 long long无符号类型强制类型转换怎样判断两个浮点数是否相等&#xff1f; 3.关键字conststaticconst和static的区别define 和 typedef 的区别define 和 inline 的区别define和c…

PostgreSQL(PG)(二十二)

&#x1f33b;&#x1f33b; 目录 &#x1f33b;&#x1f33b; 一、PostgreSQL 简介1.1、PG 的历史1.2、PG的社区1.2.1 纯社区1.2.2 完善的组织结构1.2.3 开源许可独特性 1.3 、PostgreSQL与MySQL的比较 二、PostgresQL的下载安装2.1、Windows上安装 PostgreSQL2.2、远程 连接 …

Pikachu靶场之XSS

先来点鸡汤&#xff0c;少就是多&#xff0c;慢就是快。 环境搭建 攻击机kali 192.168.146.140 靶机win7 192.168.146.161 下载zip&#xff0c;pikachu - GitCode 把下载好的pikachu-master&#xff0c;拖进win7&#xff0c;用phpstudy打开网站根目录&#xff0c;.....再用…

Unity3D下如何播放RTSP流?

技术背景 在Unity3D中直接播放RTSP&#xff08;Real Time Streaming Protocol&#xff09;流并不直接支持&#xff0c;因为Unity的内置多媒体组件&#xff08;如AudioSource和VideoPlayer&#xff09;主要设计用于处理本地文件或HTTP流&#xff0c;而不直接支持RTSP。所以&…

【话题讨论】AI时代程序员核心力:技术深耕,跨界学习,软硬兼备

目录 引言 一、AI辅助编程对程序员工作的影响 1.1 AI工具如何提升工作效率 1.2 AI工具的风险 1.3 应对策略 二、程序员应重点发展的核心能力 2.1 核心竞争力 2.2 企业和教育机构的调整 三、人机协作模式下的职业发展规划 3.1 持续学习的重要性 3.2 选择适合自己的…

Python3网络爬虫开发实战(17)爬虫的管理和部署(第一版)

文章目录 一、 Scrapyd 分布式部署1.1 了解 Scrapyd1.2 准备工作1.3 访问 Scrapyd1.4 Scrapyd 的功能1.5 ScrapydAPI 的使用 二、Scrapyd-Client 的使用2.1 准备工作2.2 Scrapyd-Client 的功能2.3 Scrapyd-Client 部署 三、Scrapyd 对接 Docker3.1 准备工作3.2 对接 Docker 四、…

Java Web服务运行一段时间后出现cpu升高导致的性能下降问题排查

背景 有个web服务&#xff0c;运行一段时间后&#xff0c;出现cpu逐渐占用高&#xff0c;服务处理请求整体性能下降问题。 异常情况时&#xff0c; 同时jvm的cpu上涨 最终表现为&#xff0c;处理内部逻辑执行耗时变高。 排查原因 原来服务的jvm启动参数带了 -XX:-TieredCom…

Java项目实战II基于Java+Spring Boot+MySQL的校园社团信息管理系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今高校…

马匹行为识别系统源码分享

马匹行为识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

计算机毕业设计 在线新闻聚合平台的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

【计算机毕设-大数据方向】基于Hadoop的智能交通数据分析可视化系统的设计与实现

&#x1f497;博主介绍&#xff1a;✌全平台粉丝5W,高级大厂开发程序员&#x1f603;&#xff0c;博客之星、掘金/知乎/华为云/阿里云等平台优质作者。 【源码获取】关注并且私信我 【联系方式】&#x1f447;&#x1f447;&#x1f447;最下边&#x1f447;&#x1f447;&…

Redis的存储原理和数据模型

一、Redis是单线程还是多线程呢&#xff1f; 我们通过跑redis的代码&#xff0c;查看运行的程序可以得知&#xff0c;Redis本身其实是个多线程&#xff0c;其中包括redis-server&#xff0c;bio_close_file&#xff0c;bio_aof_fsync&#xff0c;bio_lazy_free&#xff0c;io_t…

Mina protocol - 体验教程

Mina protocol - 体验教程 一、零知识证明( Zero Knowledge Proof )1、零知识证明&#xff08;ZKP&#xff09;的基本流程工作流程&#xff1a; 2、zkApp 的优势&#xff1a;3、zkApp 每个方法的编译过程&#xff1a; 二、搭建第一个zkapp先决条件1、下载或者更新 zkApp CLI​2…

Chainlit集成LlamaIndex实现知识库高级检索(句子窗口节点检索)

检索原理 句子窗口检索原理 通常在执行基础的RAG检索时我们会将文档按指定的块大小(chunk_size)进行切割&#xff0c;然后进行embedding的向量化处理后存入向量数据库中&#xff0c;在检索时我们会计算用户问题(question) 与文档块的相似度&#xff0c;并选取K个最相似的文档(…

LeetCode[中等] 49.字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 思路&#xff1a; new Dictionary<string, List<string>>() 存储数据&#xff0c;key为排序之后的字符…

2024年9月18日历史上的今天大事件早读

1043年9月18日 范仲淹实行改革 1393年9月18日 “活财神”沈万三逝世 1783年9月18日 瑞士著名数学家欧拉逝世 1851年9月18日 《纽约时报》创刊 1903年9月18日 清末爱国将领冯子材逝世 1917年9月18日 护法战争爆发 1931年9月18日 “九一八”事变爆发 1936年9月18日 阎锡山…