问题标签 [rolling-average]

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 回答
620 浏览

python - 计算所有列 pandas 的滚动平均值

我有以下数据框:

我想用 3 个月的滚动平均值替换 NaN 值。我该怎么办?

0 投票
1 回答
205 浏览

amazon-redshift - 在 Redshift 中滚动 N 月平均值,每月有多个条目

我想使用 Redshift 的窗口聚合函数来创建一些数据的“N”个月滚动平均值。每个给定月份的数据将有多个唯一条目。如果可能的话,我想避免在执行滚动平均之前的几个月内首先进行分组和平均,因为这是取平均值而不是理想的平均值(正如这篇文章所做的那样:3 Month Moving Average - Redshift SQL)。

这是一个只有一个帐户的示例数据集(会有多个)。

这就是我希望 3 个月滚动平均值的结果(例如)。

我尝试过的代码如下所示:

但是,这只对最后两行(包括当前行)有效,如果我每个月都有一个唯一值,但如前所述,情况并非如此。我对任何类型的排名解决方案或嵌套分区持开放态度。任何帮助是极大的赞赏。

0 投票
3 回答
92 浏览

r - R中聚合结果的滚动平均值

我有一个数据库,其中包含属于不同行业的各个公司的销售价值。在下面的示例数据集中:

“ind”列代表行业,我省略了公司标识符(在本例中没有用处)。我想要一个如下定义的平均值:

对于每一年,期望的平均值是过去三年行业内所有公司的平均值。如果过去三年的数据不可用,至少两次观察也是可以接受的。

例如,在上面的数据集中,如果 year=1982,ind=A,过去几年只有两个观察值(这仍然可以接受),所以期望的平均值是 1980 年和 1981 年所有销售值的平均值工业A。

如果 year=1983,ind=A,我们有三个前几年,并且期望的平均值是行业 A 在 1980 年、1981 年和 1982 年所有销售价值的平均值。

如果 year=1984 且 ind=A,我们有三个前几年,并且期望的平均值是行业 A 在 1981 年、1982 年和 1983 年所有销售价值的平均值。

因此,所需的输出将如下所示:

data.table 解决方案更适合快速实施。提前谢谢了。

0 投票
2 回答
30 浏览

r - 如何在R中生成逐年计算列

首先是数据,然后是操作。最后,是我正在使用的当前方法,到目前为止还没有产生任何数据。操作是创建一个日期,然后创建一个滚动的 12 个月平均值。

操作

年度差异尝试

最终目标是 202011 减去 201911 或 47.5 减去 25.17 或 22.3。我上面使用的方法只产生 NA。任何关于如何修改现有代码或简单地使用完全不同的方法的见解将不胜感激。

0 投票
2 回答
43 浏览

r - Performing a rolling average with criteria in R

Been trying to learn the most basic of items at first and then expanding the complexity. So for this one, how would I modify the last line to where it would be create a rolling 12 month average for each seriescode. In this case, it would produce an average of 8 for seriescode 100 and 27 for seriescode 101.

First, is the sample data

Manipulations

0 投票
1 回答
293 浏览

sql - 特定时间的 SQL 移动平均线

我正在使用 Impala 和 Hive,所以我不知道我是否有 Oracle 或 MSQL 提供的花哨功能

所以,有一个值和时间戳的表

我只想获得一个额外的列,其中包含最后一小时的滚动平均值

每小时可以有可变数量的值,所以我不能在多行上做一个窗口,因为我不知道它暗示了多少行。

有什么建议么?

0 投票
1 回答
205 浏览

ms-access - 如何在 ACCESS QUERY 中创建过去 7 天、30 天累积平均的滚动/移动平均线?

我的查询名称:每日总订单汇总

我的输入 [2 列]:business_date,# Daily Orders

我需要这 3 列作为计算输出:Orders# (7 days) Average, Orders# (30 Days) Average ,Orders# (Acuum Average) [即从第一天到现在]


我已尽力为如何在 Microsoft Access 查询中进行移动/滚动平均找到明确的答案,但不幸的是,我无法让它为我工作。因此,我决定在这里提出我的请求,看看是否有人会让我朝着正确的方向开始处理我的文件和任务。

0 投票
0 回答
14 浏览

excel - 根据多个季节和时期因素准确预测未来值的预测方法?

我正在寻找一个可以在 excel(公式或 VBA)中使用的预测模型来预测具有以下关键影响的未来值。

影响

  1. 同比减少/增加
  2. 每月趋势
  3. 月部分趋势
  4. 星期趋势
  5. 不良数据(零/差距)

数据示例

日期 产品 价值
2020 年 1 月 3 日 0458 17020
2020 年 2 月 3 日 0458 13630
2020 年 3 月 3 日 0458 13440
2020 年 4 月 3 日 0458 13990
2020 年 5 月 3 日 0458 00250
2020 年 6 月 3 日 0458 23680
2020 年 7 月 3 日 0458 24940
2020 年 8 月 3 日 0458 14290
2020 年 9 月 3 日 0458 15150
2020 年 10 月 3 日 0458 15090
2020 年 11 月 3 日 0458 19450
2020 年 12 月 3 日 0458 26950
2020 年 13 月 3 日 0458 42480
14/03/2020 0458 20130
15/03/2020 0458 00000
16/03/2020 0458 12050
2020 年 3 月 17 日 0458 17920
2020 年 3 月 18 日 0458 17720
2020 年 3 月 19 日 0458 33860
20/03/2020 0458 40590
2020 年 3 月 21 日 0458 14480
22/03/2020 0458 10680
2020 年 3 月 23 日 0458 11700
2020 年 3 月 24 日 0458 09730
25/03/2020 0458 11720
26/03/2020 0458 03720
2020 年 3 月 27 日 0458 04660
2020 年 3 月 28 日 0458 07650
2020 年 3 月 29 日 0458 06560
2020 年 3 月 30 日 0458 10020
2020 年 3 月 31 日 0458 12250
............ ………… …………
2021 年 10 月 4 日 0458 04840

数据大小和种类

  • 滚动 13 个月的数据
  • 1500 种不同的产品

我尝试使用以下方法:

  • 同一产品/工作日/月部分(4 部分)的平均值为 14/28/90/180/365 天的不同滚动期,但季节性不会因与当前日期或去年同期的差距而有所回升
  • 基于产品/工作日和滚动日期的指数平滑
  • 基于产品/工作日和滚动日期校正的指数平滑,可调整的 alpha 误差校正

我似乎遇到的问题是,如果在当前一周或几天内看到峰值,我希望预测快速增加,如果在当前一周或几天内看到下降,则缓慢减少,相对于前一年、一个月和工作日分组月部分查看周期趋势影响预测,因此它并不完全平滑。

抱歉,如果这没有多大意义,我对以这种方式进行预测很陌生,并且努力考虑所有标准和影响以产生准确的预测。我的目标是每个月/季度/年的所有值的准确率达到 80%,但通过上述程序,我的准确率接近 50-70%。

任何对预测模型、方法、公式的建议或方向都将受到高度赞赏。

编辑:表格格式

0 投票
0 回答
36 浏览

excel - 在 Excel 中计算每月(偏移)平均值

我有 3 个指数的每日数据条目。它们并非每月的每一天都有特色,并且在某些日子里,其中一个指数的条目会丢失;每个月的细胞数量不同。我想计算从上个月 16 日开始到当月 15 日(如果没有条目,则为 15 日之后的第一个日期/16 日之前的最后一天)的这些单个指数的平均值。例如,在下面的屏幕截图中,2 月份 MXWO 的平均值将是数组 B14:B36 的平均值(对于 1 月份,B2:B13)。

我的数据是什么样的

我想生成 4 列:日期(月-年)、MXWO 的平均值、JPMIGHYS 的平均值和 USTWBGD 的平均值。这些平均值中的每一个都需要使用上述方法。我怎样才能做到这一点?

我尝试过使用 OFFSET 函数,但是由于单元格增量逐月变化(每个月丢失的单元格数量不同),所以这不起作用。

0 投票
1 回答
131 浏览

python - 根据数据框Python(Pandas)中另一列的值计算列的移动平均值

我正在尝试为 nba 球员创建一个 10 天移动平均得分列。我的数据框有每个玩家逐场比赛的统计数据,我希望移动平均列包含当时的 10 天移动平均线。我试过 df.groupby('player')['points].rolling(10,1).mean,但这只是给了我当天得分的移动平均数。列出了每天的所有球员,然后数据框移动到第二天,所以我可以有几百行具有相同日期但不同球员的统计数据。任何帮助将不胜感激。谢谢。