python 数据处理之滤波

这篇具有很好参考价值的文章主要介绍了python 数据处理之滤波。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在实际水质预测数据处理的工程中,往往遇到高波动的数据,而这些数据对于往后预测并没有什么用。比如说,上游河道因为有污水处理厂周期性排放污水,导致某种因子周期升高,但到了下游,河水充分混合,水质变得相对平滑。

示例如下:

python 数据处理之滤波

 如果直接用上游波动数据预测的话,那么预测就会出现很多不必要的波动,导致预测结果不理想,如图:

python 数据处理之滤波

 那么我们可以通过滤波的方式将不必要的波动去掉,并保留数据趋势。代码如下:
 

import pandas as pd
from scipy.signal import savgol_filter
# 指定滤波器窗口大小

window_size = 21

# 应用移动平均滤波器
smoothed = preb_cb.rolling(window=window_size).mean()

该方法时通过移动平均滤波器实现的。经过滤波后结果如下:

python 数据处理之滤波

 使用移动平均滤波应注意窗口的选择,可以通过循环选优,选择残差最小的窗口大小代码如下:

def seek_windows(df):
    """
    df: DataFrame时间序列数据,共两列,第一列为直接预测后形成的波动数据,第二列为真实数据;
    查找最佳的平移窗口;
    """
    df_empty = pd.DataFrame(columns=["mean", "window"])
    df0 = df.iloc[:, 0]
    df1 = df.iloc[:, 1]
    
    for window in range(1, 24, 1): 
        df2 = df0.rolling(window=window).mean()
        df0_shifted = df2.shift(-window)
        df0_shifted = df0_shifted.dropna()
        df1_trimmed = df1[:-window]
        mean_error = mean_absolute_error(df0_shifted, df1_trimmed)
        
        df_empty2 = pd.DataFrame({"window": [window], "mean": [mean_error]})
        df_empty = pd.concat([df_empty, df_empty2], axis=0)
    
    df_sorted = df_empty.sort_values(by=["mean"])
    best_window =df_sorted["window"][0:1][0]
    return best_window

 滤波的方法有很多,常用的滤波器包括移动平均滤波器、指数平滑滤波器、巴特沃斯滤波器、Butterworth滤波器等。移动平均滤波器和指数平滑滤波器适用于平稳或趋势型信号,而巴特沃斯和Butterworth滤波器则更适合于非线性或周期性信号。

我们选择适合自己数据的就行了。

----

希望对你有帮助。文章来源地址https://www.toymoban.com/news/detail-507555.html

到了这里,关于python 数据处理之滤波的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据存储和分布式计算的实际应用:如何使用Spark和Flink进行数据处理和分析

    作为一名人工智能专家,程序员和软件架构师,我经常涉及到数据处理和分析。在当前大数据和云计算的时代,分布式计算已经成为了一个重要的技术方向。Spark和Flink是当前比较流行的分布式计算框架,它们提供了强大的分布式计算和数据分析功能,为数据处理和分析提供了

    2024年02月16日
    浏览(60)
  • 音频数据处理基本知识学习——降噪滤波基础知识

    滤波是一种信号处理方法,它可以通过消除或减弱信号中的某些频率分量,来实现信号的去噪、去除干扰、增强某些频率成分等目的。常见的滤波方法包括低通滤波、高通滤波、带通滤波等。 降噪是一种信号处理方法,它可以通过消除或减弱信号中的噪声成分,来提高信号的

    2024年02月15日
    浏览(49)
  • 基于时序特征处理与LSTM结合的雅虎美股数据预测

    一.模型整体流程介绍: 数据加载和处理: 使用 pandas 库读取CSV文件中的股票数据,并将日期列转换为 datetime 类型。 选择需要使用的列(\\\'Date\\\', \\\'Close\\\', \\\'High\\\', \\\'Low\\\', \\\'Open\\\')作为特征。 创建了一个 create_date_features 函数来提取日期相关的特征,例如月份、日期、年份等,并将这些

    2024年02月07日
    浏览(36)
  • 【Python案例实战】水质安全分析及建模预测

    1.水资源的重要性 水是生命之源,是人类生存和发展的基础。它是生态系统中不可或缺的组成部分,对于维系地球上的生命、农业、工业、城市发展等方面都具有至关重要的作用。 2.水质安全与人类健康的关系 水质安全直接关系到人类的健康和生存。水中的污染物和有害物质

    2024年02月03日
    浏览(71)
  • 【MATLAB数据处理实用案例详解(13)】——利用Elman网络实现上证股市开盘价预测

    选择2005年6月30日至2006年12月1日的上证开盘价进行预测分析。数据保存在elm_stock.mat文件中,共计337条开盘价格,保存为double类型的向量中,开盘价的走势如下图所示。 采用过去的股价预测下一期股价,因此相当于一个时间序列问题,可以用Elman神经网络求解。 x n = f ( x n −

    2024年02月03日
    浏览(74)
  • 【机器学习】最经典案例:房价预测(完整流程:数据分析及处理、模型选择及微调)

    环境:anaconda+jupyter notebook 首先要明白一点: 数据决定模型的上限!数据决定模型的上限!数据决定模型的上限! (重要的事情说三遍。)对于数据的处理在一个完整案例中花费精力的比重应该占到一半以上。 以下分为:数据分析、数据清洗两部分。 数据分析主要包括:查

    2024年02月05日
    浏览(43)
  • PLUS模型和InVEST模型生态系统服务多情景模拟预测、ArcGIS空间数据处理、空间分析与制图、土地利用时空变化

    查看原文基于”PLUS模型+“生态系统服务多情景模拟预测实践技术应用 目录 第一章、理论基础与软件讲解 第二章、数据获取与制备 第三章、土地利用格局模拟 第四章、生态系统服务评估 第五章、时空变化及驱动机制分析 第六章、论文撰写技巧及案例分析 基于ArcGIS Pro、P

    2024年02月05日
    浏览(72)
  • 【数据集处理】基于Python处理EAR5数据

    ERA5是ECMWF(欧洲中期天气预报中心)对1950年1月至今全球气候的第五代大气再分析数据集。 包含了四个 基本变量(日平均温度、降水、比湿度和距离地表2米的气压) ,这些变量在每日时间尺度上覆盖全球,从而可以对不同地区和时间段进行全面和统一的分析 时间分辨率:194

    2024年02月05日
    浏览(52)
  • Python:PDF文件处理(数据处理)

    工作中有对PDF文件进行数据抽取,现在总结归纳一下相应的方法,本文包括一下内容: PDF文件分割、拼接; PDF文件抽取图片,简单的图片识别; PDF文件抽取表格; PDF文件抽取文本; PDF文件转docx文件; docx文件数据抽取; 目的:尽可能的将pdf中的数据,抽取出来,尤其是文

    2024年02月09日
    浏览(73)
  • Python天气数据处理、数据清洗

    文章目录 前言 一、获取原始数据 二、数据处理 1.代码 2.处理结果 总结         在工作的时候,需要做一个天气情况的报表,一开始没学习爬虫的时候,需要手动到天气网站上去截取天气数据做到表格里,复制粘贴下来的数据需要做一些处理,考虑用Python简化这些步骤。

    2024年02月01日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包