如何在Python中简单地计算时间序列的滚动/移动方差?

2024-03-14

我有一个简单的时间序列,我正在努力估计移动窗口内的方差。更具体地说,我无法弄清楚与实现滑动窗口函数的方式有关的一些问题。例如,当使用 NumPy 且窗口大小 = 20 时:

def rolling_window(a, window):
    shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
    strides = a.strides + (a.strides[-1],)
    return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides) 

rolling_window(data, 20)
np.var(rolling_window(data, 20), -1)
datavar=np.var(rolling_window(data, 20), -1)

也许我在某个地方犯了错误,在这个思路上。 有谁知道一个简单的方法来做到这一点? 任何帮助/建议将非常受欢迎。


熊猫rolling_mean and rolling_std函数已被弃用并被更通用的“滚动”框架取代。 @elyase 的示例可以修改为:

import pandas as pd
import numpy as np
%matplotlib inline

# some sample data
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)).cumsum()

#plot the time series
ts.plot(style='k--')

# calculate a 60 day rolling mean and plot
ts.rolling(window=60).mean().plot(style='k')

# add the 20 day rolling standard deviation:
ts.rolling(window=20).std().plot(style='b')

The rolling函数支持多种不同的窗口类型,如文档所示here https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rolling.html。可以调用许多函数rolling对象,包括var和其他有趣的统计数据(skew, kurt, quantile, ETC。)。我一直坚持std因为该图与平均值在同一个图表上,这从单位角度更有意义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中简单地计算时间序列的滚动/移动方差? 的相关文章

  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • 高效地将大型 Pandas 数据帧写入磁盘

    我正在尝试找到使用 Python Pandas 高效地将大型数据帧 250MB 写入磁盘或从磁盘写入的最佳方法 我已经尝试了所有方法Python 数据分析 但表现却非常令人失望 这是一个更大项目的一部分 该项目探索将我们当前的分析 数据管理
  • 如何检索分配给 Django 中的组的所有权限

    我正在执行一项任务来检索分配给 Django 中的组的一组权限 我可以使用以下代码获取创建的组 但无法使用它来获取分配给它们的权限 from django contrib auth models import Group Permissio
  • 在 Jupyter Notebook 中设置环境变量的不同方法

    在某些情况下 我在 Windows 10 计算机上使用 Jupyter 笔记本 我想通过设置环境变量 GOOGLE APPLICATION CREDENTIALS 来向 GCP 进行身份验证 我想知道 这两种设置环境变量的方式有什么区别 当
  • 计算熊猫数据帧几个月的总和

    我有一个 pandas 数据框 如下所示 ID Year R1 R1 f KAR1 20201001 1 5 KAR1 20201101 2 6 KAR1 20201201 3 7 KAR1 20210101 4 8 KAR1 202102
  • Python函数组成

    我尝试使用良好的语法来实现函数组合 这就是我所得到的 from functools import partial class compfunc partial def lshift self y f lambda args kwargs s
  • 如何将 numpy rearray 的子集转换为连续数组?

    我有一个recarray来自读取 csv 文件 我有兴趣将列的子集转换为连续浮点数组 我想避免将它们转换为列表或将它们一一堆叠 我尝试了中的建议https stackoverflow com a 11792956 https stackov
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 无法在我的程序中使用 matplotlib 函数

    我正在 Windows 10 中运行 Anaconda 安装 conda 版本 4 3 8 这是我尝试在 python 命令行中运行的代码 import matplotlib pyplot as plt x 1 2 3 4 y 5 6 7
  • 如何仅注释堆积条形图的一个类别

    我有一个数据框示例 如下所示 data Date 2021 07 18 2021 07 19 2021 07 20 2021 07 21 2021 07 22 2021 07 23 Invalid NaN 1 1 NaN NaN NaN N
  • 如何将 Pyspark Dataframe 标题设置到另一行?

    我有一个如下所示的数据框 col1 col2 col3 id name val 1 a01 X 2 a02 Y 我需要从中创建一个新的数据框 使用 row 1 作为新的列标题并忽略或删除 col1 col2 等行 新表应如下所示 id na
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • 使用 Windows 任务计划程序安排 [Virtualenv 相关] Python 脚本

    I want to schedule a python script to start at 3AM and break at 5PM every weekday However the problem arises when I need
  • 错误:尝试使用 scrappy 登录时出现 raise ValueError("No element found in %s" % response)

    问题描述 我想从我大学的bbs上抓取一些信息 这是地址 http bbs byr cn http bbs byr cn下面是我的蜘蛛的代码 from lxml import etree import scrapy try from scra
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 使用 Numpy 进行多维批量图像卷积

    在图像处理和分类网络中 一个常见的任务是输入图像与一些固定滤波器的卷积或互相关 例如 在卷积神经网络 CNN 中 这是一种极其常见的操作 我已将通用版本任务减少为 Given 一批 N 个图像 N H W D 和一组 K 个滤镜 K H W
  • python 日志记录替代方案 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 蟒蛇记录模块 http docs python org library logging html使用起来
  • 当训练和测试的特征数量不同时,如何处理生产环境中的One-Hot Encoding?

    在做某些实验时 我们通常在 70 上进行训练 在 33 上进行测试 但是 当您的模型投入生产时会发生什么 可能会发生以下情况 训练集 Ser Type Of Car 1 Hatchback 2 Sedan 3 Coupe 4 SUV 经过

随机推荐

  • 什么是 crossdomain.xml 文件?

    其实我希望我知道从哪里开始 我在我的个人网站中嵌入了第三方 SWF 图像库控件 SWF 是 XML 驱动的 我按如下方式动态加载 XML 文件 var flashvars xmlPath http www example com xml a
  • 如果双 SIM 卡槽之一的 SIM 卡发生更改,如何检索该卡的信息?

    我知道我们可以使用 TelephonyManager 类检索单张 Sim 卡的信息 但如何检索多张SIM卡的信息呢 假设我的手机丢失了 有人更换了其中一个插槽中的 SIM 卡 我如何接收 IMEI 号码 电话号码等信息 我只在更换 Sim
  • 无法将 [] 索引应用于“Array”类型的表达式

    对于下面的代码 我收到 无法将 索引应用于 数组 类型的表达式 目的是创建一个计算器模板 然后调用这些方法来运行各种操作 标记为 HERE 的区域出现错误 请帮忙 我是 C 编码的新手 因此 感谢所有帮助 如果有人也能向我解释这个问题 我希
  • Python 中的最大重量/最小成本二分匹配代码

    我正在寻找二分图中最大权重 最小成本匹配的Python代码 我一直在 NetworkX 中使用一般情况最大权重匹配代码 但发现它对于我的需求来说太慢了 这可能是因为通用算法速度较慢 而且 NetworkX 解决方案完全用 Python 实现
  • 使用 Heroku 部署 Flask

    我正在尝试将 Flask 应用程序部署到 Heroku 但是在推送代码时出现错误 2013 06 23T11 23 59 264600 00 00 heroku web 1 Error R10 Boot timeout gt Web pro
  • 如何使用vibed将文件加载到本地文件系统?

    我需要将数据从网络浏览器发送到本地文件系统 为了发送数据 我使用 Vue JS成分 https github com james2doyle vue file upload component
  • 从嵌入式 ZIP 存档中读取文件

    我有一个嵌入到较大文件中的 ZIP 存档 我知道存档在较大文件中的起始偏移量及其长度 是否有任何 Java 库可以让我直接读取存档中包含的文件 我正在思考ZipFile getInputStream http docs oracle com
  • Oracle 约束具有三列,但只有一行可以等于某个值

    这听起来可能很简单 也可能很简单 我有 3 列 一列带有常量字符串 名称 一列 状态 带有两个选项 外键 另一列 room id 是另一个表的父键 如何确保只设置一行相同名称的 ON 值 不能有多个具有相同名称的 ON 值的行 但可以有多个
  • Sqoop Hive 退出,状态为 1

    当我执行时 sqoop import connect jdbc mysql localhost testdb table test hive table test hive import m 1 我收到以下错误消息 13 04 21 16
  • 从 url 中去除域名(字符串)

    我正在像这样访问样式表集合 var css document styleSheets 0 它返回例如 http www mydomain com css main css 问题 如何剥离域名才能获得 css main css 这个正则表达式
  • 这些类和子类静态块何时执行(对于枚举)?

    我正在尝试定义一个基类 SubStatus 为枚举 什么时候static下面调用的块 如果它们是类而不是枚举 我相信它们会在调用类构造函数之后被调用 但因为他们是Enums 这些不是更像吗static课程开始 那么静态块可能是在容器加载静态
  • 如何将List<>写入parcel中

    public class Category implements Parcelable private int mCategoryId private List
  • tweepy 中的过滤

    我是新来的tweepy并且遇到了问题 我想下载带有特殊主题标签的推文 但似乎 stream filter track word1 word2 word3 在推文中查找这些单词 而不是在推文的主题标签中 如何过滤主题标签 您实际上可以根据您的
  • 根据用户的 uid 生成 Firestore 文档的文档 ID

    在我的聊天应用程序中 我在两个用户之间进行私人聊天 我打算使用这两个用户的 docId uid 设置聊天文档的 id 使其不依赖于它们组合的顺序 并且我可以使用用户的 uid 确定聊天文档的 docId 而不管其顺序如何uid 我知道 我也
  • 使用 Azure 服务总线进行结构化流处理

    如何为Azure服务总线设置Spark结构化流会话 我目前正在使用 azure databricks 作为服务总线主题订阅之一的消费者 我已经研究了几件事 但看到了周围的问题 https github com elastacloud ser
  • 如何在 Windows 上使用 Vim 编译 C++ 代码?

    首先 我安装Vim 文本编辑器 in Typical在这台 Windows 7 笔记本电脑上键入 我正在使用的用户是这台计算机上的管理员 但无法打开其中的文件 程序文件 使用 Vim 编写的位置 所以我改变我的 cd当前目录到我的 HOME
  • 如何在d3中加载geojson文件的geometryCollection

    我使用 Mapshapers 成功将英国地图 shapefile 转换为 geojson 但我无法在 d3 js 中加载此 geojson 请帮忙 脚本如下
  • 如何用onclick确认并调用函数

    我可以调用 JavaScript 函数吗return confirm 在 HTML onclick 事件中还是我需要执行包含确认和调用另一个函数的函数
  • 将现有文件夹放入存储库

    我认为直接在记事本中修改文件可能很危险 是时候进行一些适当的源代码控制了 我对源代码控制很陌生 我已在我的服务器上安装了 VisualSVN 服务器 并在我的客户端计算机上安装了 TortoiseSVN 我可以很好地创建新文件夹 检查它们等
  • 如何在Python中简单地计算时间序列的滚动/移动方差?

    我有一个简单的时间序列 我正在努力估计移动窗口内的方差 更具体地说 我无法弄清楚与实现滑动窗口函数的方式有关的一些问题 例如 当使用 NumPy 且窗口大小 20 时 def rolling window a window shape a