pandas: ewm的参数设置
pandas 指数加权滑动(ewm), 指数加权滑动平均(ewma)
pandas.DataFrame.ewm()
import pandas as pd
import numpy as npdf = pd.DataFrame([0.0, np.nan, 1.0, 2.0, np.nan, 3.0])
print(df)
0
0 0.0
1 NaN
2 1.0
3 2.0
4 NaN
5 3.0
print('span=2,ignore_na=False, adjust= True :\n', df.ewm(span=2,ignore_na=False, adjust= True).mean())
print('\n span=2,ignore_na=True, adjust= True :\n', df.ewm(span=2,ignore_na=True, adjust= True).mean())
- 忽略nan,就是从计算yt时候向前看,nan值不看,加权向历史走去
- 不忽略nan时候,nan处也付给权重,但是最后算的结果nan位置的权重被占掉了。
- 我们应该选择
ignore_na=True
合理一些。- nan数据的那个时刻的ewma由其前面历史数据计算得到,只有历史数据包括子自己全是nan,结果才是nan,这其实相当于是将平均的结果用其前面一个值填充!!!!
我们看下计算结果:
span=2,ignore_na=False, adjust= True :0
0 0.000000
1 0.000000
2 0.900000
3 1.702703
4 1.702703
5 2.828571span=2,ignore_na=True, adjust= True :0
0 0.000000
1 0.000000
2 0.750000
3 1.615385
4 1.615385
5 2.550000
滑动平均ewa时如何计算的?
When
adjust=True
we have y0=x0y0=x0y_0=x_0 and from the last representation above we have yt=αxt+(1−α)yt−1yt=αxt+(1−α)yt−1y_t=\alpha x_t+(1−\alpha)y_{t-1}, therefore there is an assumption that x0x0x_0 is not an ordinary value but rather an exponentially weighted moment of the infinite series up to that point.
adjust=True
:
y_t = \frac{x_t+(1-\alpha)x_{t-1}+(1-\alpha)^2x_{t-2}+...+(1-\alpha)^tx_0}{1+(1-\alpha)+(1-\alpha)^2+...+(1-\alpha)^t}
这是考虑到历史数据的有限性,如果历史数据趋于无限的话,这个表达式的分母会变为 11−(1−α)11−(1−α)\frac{1}{1-(1-\alpha)}
adjust=False
:
y_0=x_0, \\ y_t=(1-\alpha)y_{t-1}+\alpha x_t
等价于
w_i = \alpha(1-\alpha)^i\; if\; i
这种情况下,假定历史数据是无限长的。
参考链接:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.ewm.html
http://pandas.pydata.org/pandas-docs/stable/computation.html#exponentially-weighted-windows
pandas: ewm的参数设置相关推荐
- pandas使用read_csv函数读取文件时指定数据列的数据类型、pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串
pandas使用read_csv函数读取文件时指定数据列的数据类型.pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串 目录
- pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)
pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录
- 【Python基础】Pandas参数设置的八个小技巧
在日常使用pandas的过程中,由于我们所分析的数据表规模.格式上的差异,使得同样的函数或方法作用在不同数据上的效果存在差异. 而pandas有着自己的一套「参数设置系统」,可以帮助我们在遇到不同的数 ...
- pyradiomics的yaml文件参数设置解读、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(16)主要介绍: pyradiomics的yaml文件参数设置解读 pyradiomics 官网对yaml文件有详细说明: The th ...
- sklearn逻辑回归参数设置_【机器学习笔记】:逻辑回归实战练习(二)
作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 前言 前几篇介绍了逻辑回归在机器学习中的重要性:5个原因告诉你:为什么在成为数据科学家之前,"逻辑回归&q ...
- pandas读取文件参数
pandas读取文件参数 pd.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]],#文件路径或网址连接sep=',' ...
- 【SuperMap-Leaflet】等值线/面裁剪参数设置
文章目录 前言 一.项目背景 二.使用步骤 1. clipRegion参数设置 2. 实例 总结 前言 超图GIS比赛参赛过程中的随笔. 虽然很支持我国的GIS相关产业发展,但就目前来说要赶上ESRI ...
- python可视化直方图的x轴参数设置_Python数据分析matplotlib可视化之绘图
Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...
- 2021年大数据Hadoop(二十九):关于YARN常用参数设置
全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...
最新文章
- CUDA FORTRAN编译器
- HSV颜色空间 HSV空间各通道分离实验
- 2019,从刷新你的运营知识库开始!
- appimage文件怎么安装_bauh:在一个界面中管理 Snap、Flatpak 和 AppImage | Linux 中国...
- oracle解析儒略日,利用to_char获取当前日期准确的周数!
- 重磅|前浪、后浪 一起迎接风口! BCS 2020向全球发起议题征集
- vue下载文件流图片
- 3D游戏图形API简史
- 计算机网络 路由选择,路由选择
- MIDI二进制文件格式简析
- Linux入门学习笔记
- 关于目标跟踪SiamMask的Youtube-VOS 数据库下载
- JavaWeb-错误:类xxx不是Servlet
- node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正 确,然后再试一次 的解决方案
- 学生申请Axure RP10免费使用详细教程
- 微信公众号发送模板消息,发送消息到某个用户
- win10锁屏c语言,Win10怎样在锁屏状态下打开某种应用程序
- 计算机网络实验——用三层交换机实现VLAN通信
- 【研究生开学季】让你幸福感砰砰砰的宿舍神器
- python中temp是什么意思_pythontemp是什么