数据平滑处理(部分)

       一、 移动平均(Moving Average)

        是一种最简单的数据平滑方法,用于平滑时间序列数据。它通过计算一定窗口内数据点的平均值来减少噪音,同时保留数据的趋势。移动平均包括简单移动平均(SMA)或指数加权移动平均(EMA)。

        plt.rcParams['font.sans-serif'] = ['SimHei'],在整篇文章的代码中绘制图的时候加入此句代码,可以解决下图中文字标题显示不出的问题。

     1.1 简单移动平均(SMA)

        是一种通过计算数据点在一个固定窗口内的平均值来平滑数据的方法。窗口的大小决定了平滑程度。较大的窗口将导致更平滑的曲线,但会减缓对趋势的反应,而较小的窗口将更敏感地跟随数据的波动。

​        对上述代码的理解:蓝色的折线图表示的就是代码中生成的数组。简单移动平均的计算方法:

        窗口的变化将改变平滑后的效果,及红色的先的平滑程度。当窗口尺寸为3的时候,可见,难以平滑的部分已经不见,大致的曲线变得平滑,但是当持续加大窗口尺寸后,最后得到一个一小部直线。红色的曲线也就是预测曲线。

        需要注意的是,在安装seaborn与matplotlib包的时候,使用>python -m pip install matplotlib或者pip install matplotlib https://pypi.tuna.tsinghua.edu.cn/simple或者pin install matplotlib都难以安装,在终端出现这样的提示:

Cannot unpack file C:\Users\HONOR\AppData\Local\Temp\pip-unpack-4qkfflip\simple.html (downloaded from C:\Users\HONOR\AppData\Local\Temp\pip-req-build-s6_3j05c, content-type: text/html); cannot detect archive format
ERROR: Cannot determine archive format of C:\Users\HONOR\AppData\Local\Temp\pip-req-build-s6_3j05c

使用下述语句可以安装成功:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlib

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn seaborn

1.2 指数加权移动平均-Exponential Weighted Moving Average,EWMA

指数加权移动平均是一种通过对数据点应用指数权重来平滑数据的方法。它对最近的数据点给予较高的权重,而对较早的数据点给予较低的权重。这使得EMA更适合用于追踪快速变化的数据。

        对指数加权移动平均代码的理解:导入对应的包,生成相应的数组(即蓝色折线),定义平滑因子,当平滑因子较小时,平滑效果越强。反之亦然。那么指数加权移动平均的算法为何?

t期加权移动平均数作为t+1期的预测值。

二、指数平滑Exponential Smoothing

指数平滑(Exponential Smoothing)是一种常用的时间序列数据平滑和预测方法,用于处理具有趋势和季节性的数据。它通过分配不同权重给历史数据点,将较高权重分配给较新的数据,以捕获数据的变化趋势。指数平滑通常用于生成预测,特别是在需要对未来时间点进行预测的情况下。

指数平滑的主要特点包括:

  1. 加权平滑:指数平滑使用指数权重来平滑数据。较新的数据点获得更高的权重,而较旧的数据点获得较低的权重。这意味着它对最近的数据更为敏感,从而更好地捕获了数据的最新趋势。

  2. 三种主要形式:指数平滑有三种主要形式:简单指数平滑、双指数平滑和三重指数平滑。每种形式用于不同类型的数据和模式。

    • 简单指数平滑(Simple Exponential Smoothing)用于平滑具有趋势和季节性的数据。

    • 双指数平滑(Double Exponential Smoothing)用于平滑具有趋势但无季节性的数据。

    • 三重指数平滑(Triple Exponential Smoothing)用于平滑同时具有趋势和季节性的数据。

  3. 递归更新:指数平滑是一种递归方法,它将先前的平滑结果与新数据点相结合,以生成下一个时间点的平滑结果。

  4. 预测能力:指数平滑不仅用于平滑数据,还可以用于生成未来时间点的预测。这使得它在需求预测、股票价格预测和销售预测等领域非常有用。

  5. 适用性:指数平滑适用于平稳或非平稳的时间序列数据,它能够很好地处理趋势、季节性和噪声。

  6. 案列:

 结果展示:

三、多项式拟合

多项式拟合(Polynomial Fitting)是一种数据平滑和曲线拟合的方法,它通过使用多项式函数来逼近或拟合原始数据,以便更好地描述数据的趋势或模式。多项式拟合的目标是找到一个多项式函数,它在给定的数据点上经过并能够很好地拟合这些点。

多项式拟合的一般形式如下:

其中,是自变量,是依赖于的因变量, 是多项式系数。通过调整这些系数,可以使多项式函数更好地拟合数据。

多项式拟合常用于以下情况:

  1. 数据平滑:多项式拟合可以用来消除数据中的噪声或波动,从而获得平滑的曲线。

  2. 趋势分析:多项式拟合可用于识别数据中的趋势,例如线性趋势(一阶多项式)、二次趋势(二阶多项式)或更高阶的趋势。

  3. 曲线拟合:多项式拟合可用于拟合实验数据,以获得与理论模型或理论曲线的最佳拟合。

  4. 数据插值:多项式插值是多项式拟合的特殊情况,它通过已知数据点之间的多项式来估计中间值。

多项式拟合的一般原则是选择合适的多项式阶数。阶数过低可能无法很好地拟合数据,而阶数过高可能会导致过度拟合,对新数据的波动非常敏感。因此,选择适当的多项式阶数是关键。三项式案列:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【爬虫】爬虫基础

目录 一、Http响应与请求1、Http请求2、Http响应3、状态码 二、Requests库1、发起GET请求2、发起POST请求3、处理请求头 三、BeautifulSoup库1、解析HTML文档2、查找和提取数据Ⅰ、查找单个元素Ⅱ、查找所有元素Ⅲ、使用CSS选择器Ⅳ、获取元素属性 四、爬取豆瓣电影榜 一、Http…

YOLOv10训练自己的数据集(交通标志检测)

YOLOv10训练自己的数据集(交通标志检测) 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用YOLOv10训练自己的数据集进行交通标志检测准备数据进行训练进行预测进行验证 参考文献 前言 由于本人水平有限,难免出现错漏&#xff…

【Linux】日志

日志是记录软件运行过程中发生的事件的一种手段,通常包含以下内容: 时间戳:记录日志条目创建的确切时间。这对于追踪事件发生的时间顺序至关重要。日志级别:表示日志信息的严重性或重要性,常见的级别包括 DEBUG、INFO…

RisingWave 用例:流式 ETL、实时分析、事件驱动应用

RisingWave 非常适合以下类别的用例。 流式 ETL实时分析事件驱动应用 流式 ETL 是实时分析和事件驱动应用的基础。实时分析通过引入数据看板,扩展了流式 ETL,而事件驱动应用则在实时分析的基础上增加了逻辑,以评估条件是否触发后续行动。 …

【测开能力提升-fastapi框架】fastapi模版引擎简单使用

1.6 通过模版引擎返回HTM页面 import uvicorn from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templatesapp FastAPI()# 初始化模版引擎存放位置 templates Jinja2Templates(directory"templates")app.get("/") async def…

2024年西安铁一中集训DAY1---- 杂题选讲

文章目录 牛客练习赛125 E 联谊活动(枚举,分讨)牛客练习赛125 F 玻璃弹珠(类莫队,离线询问,数据结构)2024ccpc长春邀请赛 D Parallel Lines(随机化)2024ccpc长春邀请赛 E…

分布式应用系统设计:即时消息系统

即时消息(IM)系统,涉及:站内消息系统 组件如下; 客户端: WEB页面,IM桌面客户端。通过WebSocket 跟ChatService后端服务连接 Chat Service: 提供WebSocket接口,并保持跟“客户端”状态的维护。…

彻底解决找不到d3dcompiler_43.dll问题,总结几种有效的方法

运行软件时提示找不到d3dcompiler_43.dll无法继续执行代码,如何解决?解决这个问题的方法有很多,但具体问题需要具体分析,有些方法可能并不适用于解决d3dcompiler_43.dll的问题。因此,需要根据实际情况来选择合适的方法…

8627 数独

为了判断数独解是否合法,我们需要遵循以下步骤: 1. **检查每一行**:确保1到9每个数字在每一行中只出现一次。 2. **检查每一列**:确保1到9每个数字在每一列中只出现一次。 3. **检查每个3x3的宫**:确保1到9每个数字在…

模式物种葡萄基因组(T2T)--文献精读29

The complete reference genome for grapevine (Vitis vinifera L.) genetics and breeding 葡萄(Vitis vinifera L.)遗传学和育种的完整参考基因组 摘要 葡萄是全球最具经济重要性的作物之一。然而,以往版本的葡萄参考基因组通常由成千上万…

星辰考古:TiDB v4.0 进化前夜

前情回顾TiDB v4 时间线TiDB v4 新特性 TiDBTiKVPDTiFlashTiCDCTiDB v4 兼容性变化 TiDBTiKVPD其他TiDB 社区互助升级活动TiDB 3.0.20 升级到 4.0.16 注意事项升级速览直观变化总结素材来源🌻 往期精彩 ▼ 前情回顾 在前面的章节中,我们共同梳理了 TiDB …

【刷题汇总 -- 最长回文子串、买卖股票的最好时机(一)、[NOIP2002 普及组] 过河卒】

C日常刷题积累 今日刷题汇总 - day0101、最长回文子串1.1、题目1.2、思路1.3、程序实现 2、买卖股票的最好时机(一)2.1、题目2.2、思路2.3、程序实现2.4、程序实现 -- 优化 3、[NOIP2002 普及组] 过河卒3.1、题目3.2、思路3.3、程序实现 -- dp 4、题目链接 今日刷题汇总 - day0…

一个便捷的web截图库~【送源码】

随着时间的发展,前端开发的范围越来越广,能够实现的功能也越来越多,要实现的功能也五花八门,今天就给大家介绍一个web截图库,让前端也能实现截图功能—— js-web-screen-shot js-web-screen-shot js-web-screen-shot 是一个基于 …

Linux服务器CPU占用率达到100%排查思路

1、找到最耗CPU的进程pid,执行命令 top 2、找到最耗CPU的线程tid // 执行 top -Hp [pid] 定位应用进程对应的线程 tid // 按shift p 组合键,按照CPU占用率排序 > top -Hp 14246 3、将线程pid转化为16进制 // printf "%x\n" [tid] 将tid…

Redis+Caffeine 实现两级缓存实战

RedisCaffeine 实现两级缓存 背景 ​ 事情的开始是这样的,前段时间接了个需求,给公司的商城官网提供一个查询预计送达时间的接口。接口很简单,根据请求传的城市仓库发货时间查询快递的预计送达时间。因为商城下单就会调用这个接口&#xff…

camunda最终章-springboot

1.实现并行流子流程 1.画图 2.创建实体 package com.jmj.camunda7test.subProcess.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable; import java.util.ArrayList; import java.util.List;Data …

ComfyUI+MuseV+MuseTalk图片数字人

电脑配置 GPU12G,如果自己电脑配置不够,选择云gpu,我就是用的这个,自己电脑太老配置跟不上 环境: Python 3.11.8 torch 2.2.1 cuda_12.1 资源提供: 链接:https://pan.baidu.com/s/1_idZbF…

开始Linux之路(暑假提升)

人生得一知己足矣,斯世当以同怀视之。——鲁迅 Linux操作系统简单操作指令 1、ls指令2、pwd命令3、cd指令4、mkdir指令(重要)5、whoami命令6、创建一个普通用户7、重新认识指令8、which指令9、alias命令10、touch指令11、rmdir指令 及 rm指令(重要)12、man指令(重要…

【视频】R语言广义加性模型GAMs非线性效应、比较分析草种耐寒性实验数据可视化

全文链接:https://tecdat.cn/?p36979 原文出处:拓端数据部落公众号 广义加法模型(Generalized Additive Models, GAMs)作为一种高度灵活的统计工具,显著扩展了广义线性模型(Generalized Linear Models, …

C基础day9

一、思维导图 二、课后练习 1> 使用递归实现 求 n 的 k 次方 #include<myhead.h>int Pow(int n,int k) {if(k 0 ) //递归出口{return 1;}else{return n*Pow(n,k-1); //递归主体} }int main(int argc, const char *argv[]) {int n0,k0;printf("请输入n和k:&…