当前位置: 首页 > news >正文

wordpress 仪表盘seo文章优化技巧

wordpress 仪表盘,seo文章优化技巧,做外贸最好的网站,网站模板建设报价目录savgol_filter简介savgol_filter原理参数window_length对平滑的效果参数polyorder的平滑效果savgol_filter简介 Savitzky-Golay滤波器最初由Savitzky和Golay于1964年提出,是光谱预处理中常用滤波方法,它的核心思想是对一定长度窗口内的数据点进行k阶…

目录

  • savgol_filter简介
  • savgol_filter原理
  • 参数window_length对平滑的效果
  • 参数polyorder的平滑效果

savgol_filter简介

Savitzky-Golay滤波器最初由Savitzky和Golay于1964年提出,是光谱预处理中常用滤波方法,它的核心思想是对一定长度窗口内的数据点进行k阶多项式拟合,从而得到拟合后的结果。对它进行离散化处理后后,S-G 滤波其实是一种移动窗口的加权平均算法,但是其加权系数不是简单的常数窗口,而是通过在滑动窗口内对给定高阶多项式的最小二乘拟合得出。这种滤波器最大的特点在于在滤除噪声的同时可以确保信号的形状、宽度不变。

它对信号的操作是在时域内对window_length内的数据进行多项式拟合。而从频域上看,这种拟合实际就是通过了低频数据,而滤掉了高频数据。

这种滤波其实是一种移动窗口的加权平均算法,但是其加权系数不是简单的常数窗口,而是通过在滑动窗口内对给定高阶多项式的最小二乘拟合得出。

总之,平滑滤波是光谱分析中常用的预处理方法之一。用Savitzky-Golay方法进行平滑滤波,可以提高光谱的平滑性,并降低噪音的干扰。S-G平滑滤波的效果,随着选取窗宽不同而不同,可以满足多种不同场合的需求。

savgol_filter原理

表达式为:
scipy.signal.savgol_filter(x, window_length, polyorder)

详细表达式和定义可以查看下面链接:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html

参数的含义:

1、x为要滤波的信号;

2、window_length即窗口长度;取值为奇数且不能超过len(x)。它越大,则平滑效果越明显;越小,则更贴近原始曲线。

3、polyorder为多项式拟合的阶数。它越小,则平滑效果越明显;越大,则更贴近原始曲线。

参数window_length对平滑的效果

import os
import matplotlib.pyplot as plt
import scipy.signal
import numpy as npdef main():# 项目目录dir = "D:\\a_user_file\\8_data"filename = '1.csv'path = os.path.join(dir, filename)with open(path, "r") as fname:data = fname.read()lines = data.split("\n")lines = lines[1:5000]raw_data = []for i in range(len(lines)):line_i = lines[i].split(",")raw_data.append(int(line_i[4]))#sig = denoise(raw_data)sig = raw_datatmp_smooth1 = scipy.signal.savgol_filter(sig, 21, 3)tmp_smooth2 = scipy.signal.savgol_filter(sig, 53, 3)plt.subplot(3,1,1)plt.plot(sig)# plt.semilogx(sig, label='mic')plt.subplot(3,1,2)plt.plot(tmp_smooth1 * 0.5, label='mic'  + '拟合曲线-21', color='red')plt.subplot(3,1,3)plt.plot(tmp_smooth2 * 0.5, label='mic'  + '拟合曲线-53', color='green')plt.show()main()

结果显示为:
在这里插入图片描述
可以看到,window_length的值越小,曲线越贴近真实曲线;window_length值越大,平滑效果越厉害。

参数polyorder的平滑效果

代码如下:

import os
import matplotlib.pyplot as plt
import scipy.signal
import numpy as npdef main():# 项目目录dir = "D:\\a_user_file\\8_data"filename = '1.csv'path = os.path.join(dir, filename)with open(path, "r") as fname:data = fname.read()lines = data.split("\n")lines = lines[1:5000]raw_data = []for i in range(len(lines)):line_i = lines[i].split(",")raw_data.append(int(line_i[4]))#sig = denoise(raw_data)sig = raw_datatmp_smooth1 = scipy.signal.savgol_filter(sig, 53, 9)tmp_smooth2 = scipy.signal.savgol_filter(sig, 53, 3)plt.subplot(3,1,1)plt.plot(sig)# plt.semilogx(sig, label='mic')plt.subplot(3,1,2)plt.plot(tmp_smooth1 * 0.5, label='mic'  + '拟合曲线-21', color='red')plt.subplot(3,1,3)plt.plot(tmp_smooth2 * 0.5, label='mic'  + '拟合曲线-53', color='green')plt.show()main()

显示的效果如下:
在这里插入图片描述
可以看出参数polyorder(多项式阶数)越大,曲线越贴近真实曲线;polyorder值越小,曲线平滑越厉害。

注:当polyorder值较大时,受窗口长度限制,拟合会出现问题,高频曲线会变成直线,

参考:
https://blog.csdn.net/sinat_21258931/article/details/79298478
https://blog.csdn.net/weixin_43821212/article/details/100016021
https://blog.csdn.net/kaever/article/details/105520941

http://www.hkea.cn/news/137089/

相关文章:

  • 网站做cdn怎么弄百度推广怎么推广
  • 光谷做网站推广竞价服务托管公司
  • 网上商城网站建设方案书公众号seo排名
  • wordpress内网访问泰州百度关键词优化
  • 做淘客网站用备案网络营销计划书怎么写
  • 网站 公安 备案深圳百度推广客服电话多少
  • 北京米兰广告设计有限公司广州优化疫情防控举措
  • 汕头个人建站模板网站推广计划方法
  • php企业网站无限制源码网络营销方案设计
  • 动漫网站开发与建设百度网盘网页版入口官网
  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校