问题标签 [rolling-computation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1864 浏览

python - 在滚动窗口上对 Pandas 数据框应用自定义函数

假设您有一个包含 1000 个收盘价的数据框。您想以compute_var()滚动方式应用以最近 90 个收盘价命名的风险计算函数(比如 VaR)。你会怎么做?我假设apply()

问题是.apply只通过 1 天关闭到 compute_var,而不是数据帧。所以它给出了一个错误。

我发现的唯一可行的解​​决方案是使用迭代式算法(.iterrow()):我将迭代索引传递给compute_varself.closing[:i]在对最后 90 行执行计算之前裁剪关闭数据帧,然后通过.loc(i) = computer_var_value.

我怀疑有更好的方法。

0 投票
3 回答
659 浏览

r - 快速滚动均值 + 汇总

在 R 中,我正在尝试使用不同的窗口宽度对一个大向量(最多 400k 个元素)进行非常快速的滚动平均值,然后为每个窗口宽度汇总每年的最大值的数据。希望下面的例子很清楚。我已经尝试了几种方法,到目前为止最快的方法似乎是roll_mean从包RcppRoll中使用运行平均值,并aggregate选择最大值。请注意内存需求是一个问题:下面的版本需要很少的内存,因为它一次只做一个滚动平均值和聚合;这是首选。

这给出了所需的输出:adata.frame有 15 行(从 2001 年到 2015 年)和 120 列(窗口宽度),其中包含每个 ww 和每年的最大值。

但是,计算仍然需要很长时间(因为我必须计算数千个)。我尝试过使用其他选项,即dplyrand data.table,但由于我对这些软件包缺乏了解,我一直无法找到更快的东西。

使用单核(代码已经在其他地方并行化)是最快的方法吗?

0 投票
2 回答
479 浏览

python - 熊猫“累积”rolling_corr

有没有内置的 pandas 方法来查找两个 pandas 系列之间的累积相关性?

它应该做的是在 pandas.rolling_corr(data, window) 中有效地修复窗口的左侧,以便窗口的宽度增加,最终窗口包含所有数据点。

0 投票
2 回答
1207 浏览

r - R来自不规则时间序列的滚动平均值

这些年来我已经多次遇到这个问题,所以也许我只是误解了一些东西,或者只是对此很傻。在对不规则时间序列进行滚动平均时,我遇到了一个奇怪的问题。在这里可以很好地概述包和简单脚本中的可用方法:计算 R 中的移动平均线

我可能误读了其中的一些,但我看到了处理不规则时间序列的问题。例如,zoo包中滚动均值的常用方法要求每个数据具有唯一值。但在这种情况下,这不是滚动平均值,而是每个时间单位平均值的滚动平均值 - 时间单位较少的数据点对平均值的影响比具有更多的数据点的影响更大。

在我看来,真正的移动平均线不需要使用聚合,而是需要使用每个计算点的分布。

鉴于我有以下数据框或不规则值,我怎样才能最好地为每个值创建移动平均度量。

我通过子集找到了一种简单的方法,我将把它作为初始答案发布,但这在有限的情况下有效,并且每次都需要定制。我想知道什么是通用解决方案。此外,如果有人能够评论在滚动均值计算中使用平均值与分布平均值的做法,那将非常有帮助。谢谢!

0 投票
1 回答
1261 浏览

python - RollingGroupby 上的 Pandas 聚合方法

问题: .agg 方法是否适用于 RollingGroupby 对象?似乎它应该和 IPython 自动填充此方法,但我收到一个错误。

文档: 我没有看到任何特定于RollingGroupby对象的内容。我可能找错地方了,但我查看了标准移动窗口函数GroupBy

样本数据:

这对我不起作用。

简短的例外是:

所需的 DataFrame 如下。我通过合并上面工作的两个 DataFrame 得到了这个,但这似乎很麻烦。

0 投票
1 回答
1762 浏览

python - 使用滚动 12 个月窗口将自定义函数应用于 Pandas Group

我有以下数据框,这是一个示例:

我需要按 Columns: Area, Num,进行分组TypeYear并计算每个组的第 90 个百分位。我有多个NumType每个Area.

我的预期输出是:

我需要为每个组计算前 12 个月的 12 个月百分位值,并将输出粘贴到下个月。

例如:计算具有 {Area:AA,Num:1,Year:2015,Type:A} 的组的第 90 个百分位值并将其分配给 {Area:AA,Num:1,Year:2016,Type:A,月份:一月}。

现在对于新组(2 月){Area:AA,Num:1,Year:2016,Type:A,Month:Feb} 应该计算 2015 年 2 月至 2016 年 1 月结果列的第 90 个百分位数的值,依此类推。

我正在寻找单独计算百分位数和分组比的解决方案,但我对如何在这个移动窗口上计算百分位数感到困惑。

0 投票
1 回答
7045 浏览

python - 将 lambda 函数应用于熊猫滚动窗口系列

我有一个函数,它接受一个数组和一个值,并返回一个值。我想将它滚动应用到我的系列s中,因此数组始终是滚动​​窗口。这是我尝试(不成功)的一个最小示例,np.random.choice用于代替我的实际功能。我找到了很多查找滚动方式和其他内置函数的示例,但无法让它适用于我的任意 lambda 函数。

第一次尝试:

ValueError: a [a is the first positional param of choice(), so refer to 'rolling_window'] 必须是一维或整数

另一种尝试:

TypeError:choice() 至少需要 1 个位置参数(给定 0)

...我如何在我的系列中的每个值上,在我的系列中的每个滚动数组窗口上应用任意 lambda 函数(获取一个数组和一个值)?

0 投票
1 回答
929 浏览

python - 计算大 df 中每种股票的 5 种不同滚动平均值

我有一个带有股票价格的数据框。下面的例子,但这适用于 4500 行股票价格

我使用以下迭代项创建了移动平均线

问题是这仅显示循环中的最后一项(AIR US Equity 股票)。我如何访问循环中第一只股票的 MA10D、MA30D 等(即 MMM 美国股票,它是 df 中的第一只股票)。我怎样才能做到这一点

我最终希望能够创建两个数据框,每个股票的价格分别为 MA10D、MA30D、MA50D、MA100D 和 MA200D。所以我最终需要一种方法来命名每个数据帧并更改 concat 中的 df[[#]]。

0 投票
1 回答
66 浏览

r - 构建具有重叠观察的数据框

假设我有一个具有以下结构的数据框:

我需要构建一个新的数据框,其中包含来自第一个数据框的重叠观察结果,以用作构建 Rglpk 优化库的 A 矩阵的输入。我将使用 n 长度的观察窗口,这样如果 n=2,则生成的数据框将连接第 1&2、2&3、3&4 等行。结果数据帧的长度为

这个例子的结果 windowSize=2 将是一个类似的结构

我可以做一个循环

但这似乎效率很低,尤其是对于非常大的数据帧。

我也试过

我试图在不应用任何聚合函数的情况下重复一行行。这不起作用,因为我缺少一些行

我对此感到有些困惑,并四处寻找类似的问题,但找不到任何问题。有没有人有更好的想法?

0 投票
1 回答
141 浏览

python - 错误消息:替换为 Series.rolling(window=5).corr(other=)

我试图找到列 ['High'] 和 ['Low'] 之间的 5 个周期的滚动相关性。

我设法计算它,但有一个错误:

FutureWarning:pd.rolling_corr 已被 Series 弃用,将在未来版本中删除,替换为 Series.rolling(window=5).corr(other=)

尝试更换它,但它不起作用。有什么帮助吗?