问题标签 [windowing]
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.
r - R - 计算不同宽度的滚动平均值的快速方法
我有一个数据框,其中包含多个日期(时间)的银行资产。每家银行都有一个唯一的 ID:
对于每家银行,我想计算资产的滚动平均值,根据连续时间值的数量改变宽度。因此,滚动平均值应包括银行资产的所有可用连续先前值。如果一家银行没有可用的先前价值,则它应等于资产。因此,我添加了一个列来计算连续时间值的数量,而不是rollapplyr
从 zoo 包中使用,这给了我想要的结果,但是对于大型数据集,它太慢了:
如何使用更快的功能获得此输出?我rollmean
从动物园、SMA
TTR 和ma
预测中都知道,但这些不允许改变宽度。我的问题也可能与this question和this rblog有关,但是我对C++不熟悉,对函数编写也不太了解,所以我不太了解那些帖子。
编辑1:请注意,在我上面的代码中,它不是for
-loop,而是rollapplyr,它需要很多时间。
编辑 2:滚动平均值应包括不超过最后 4 个值。也就是说,根据时间变量,连续值的数量与连续值一样多,但不超过最后 4 个值。抱歉问题不准确!:/ 我的措辞是基于使用“number.time”列的假设,在该列中很容易将所有值限制为最大值 = 4。
sql - SQL 窗口范围
我正在学习如何使用窗口函数并遇到了这个 SQL 语句。
我的问题是i_class
分区是否适用于所有 3 个SUM
函数,或者其中一些函数是否是使用group by
分组计算的。
sql - 在postgres中的多个分组后选择一行
我在 postgres 数据库中有一个表,其结构如下:
现在我想实现以下目标:
- 在 groupme1 和 groupme2 之后对表进行分组
- 获取每个组的值
- 但只有每个组组合的最后一个条目(在日期之后排序)
例子:
我目前的方法如下所示:
这种方法的问题:
- 它假定较高的日期具有较高的 id
- 需要很长时间
有没有更快更好的方法来做到这一点?窗口功能可以帮助解决这个问题吗?
tsql - TSQL 识别非连续序列中的第一条记录
我尝试了 1 1/2 班次来解决我的问题集,但不能完全做到。用光标在大约 15 分钟内解决了它,它运行得足够快。但我想知道是否有办法做到基于集合。
我们有从 3rd 方 HR 应用程序中提取的员工状态变化记录:empid、recorddate、status。我需要确定 emp 状态随时间发生的每次变化的记录日期和状态。但是数据有问题。有时会有不同记录日期的行,但状态不会改变。
对于 emp 的任何状态更改,我都需要返回记录和状态。
因此,在下面的示例中,没有返回记录日期为 3/1/2000 的 emp #1 的记录,因为状态与之前的记录日期 2/1/2000 相同,并且没有记录 emp #1 的 6 /1/2000,因为状态值与最接近的较早记录日期的记录相比没有改变。
与 emp #2 相同的概念,该 emp 没有返回 7/1/2000 记录日期的记录,因为最接近的较早记录日期的状态没有改变
我尝试使用按 empid 和状态的分区、按 empid 排序、记录日期对不变的状态序列进行编号,然后从每个窗口“帧”中选择行号 1 以获得最早的出现,但没有运气。当状态可能在 emp 的记录中出现 > 1 次时,行号不会重置为 1,但在记录日期之间不连续。
谢谢肯
matlab - MATLAB:具有重叠窗口但没有填充的 Blockproc
我花了很多时间来理解和应用 Matlab 函数blockproc
。我还阅读了有关此功能的 stackoverflow 上的一些帖子,例如this和this,但我仍然无法按照我的意愿使用该功能。
基本上,我想要的只是图像上的一个滑动窗口,它与窗口重叠,但不(零)填充图像的边缘。
例如,在 10x10 的图像上,我想应用一个 8x8 的窗口,重叠为 2。如果
img = reshape(1:100,[10,10]);
然后,在 Matlab-Notation 中,我想得到
所需范围:
我认为可以解决问题的命令是:
其中,4+2*2=8 是我的窗口大小,2 表示重叠。但是,这不起作用。我尝试了其他参数和值的组合,但没有运气。
如果有人可以帮助我,我会非常高兴!提前致谢!
c++ - 找到图像的 3x3 窗口并将平均值替换为整个图像的中心像素
我只想获取图像的 3x3 相邻窗口并用中心像素替换平均值并计算平均值、方差、熵以在 c++ opencv 中制作特征向量我做错了什么请建议我需要这些特征进行分类。
streaming - 窗口结束的 Azure 流分析时间戳
我正在运行此查询的 Azure 流分析上运行一些测试作业:
事实证明,在某些情况下,窗口结束的时间戳是窗口滑动参数的倍数,但有时不是。
例如,slide = 2
你得到这个窗口关闭时间戳:
或者,在这种情况下slide = 5
:
即使对于不同的滑动值(例如 2、3、4、6、...)也是如此。而且,这永远是真的!无论工作何时开始。
相反,有些值(例如 7、11)不遵循此规则。
有人可以回答为什么会这样吗?
我想知道 Azure SA 如何决定何时打开第一个窗口。
太感谢了!
apache-flink - Flink Streaming Windowing - 每个窗口的最后一个事件属于下一个窗口
我正在使用 Flink 1.2-Snapshot。我的数据如下所示:
- id=25398102,sourceId=1,ts=2016-10-15 00:00:56,user=14,value=919
- id=25398185,sourceId=1,ts=2016-10-15 00:01:06,user=14,value=920
- id=25398210,sourceId=1,ts=2016-10-15 00:01:16,user=14,value=944
- id=25398235, sourceId=1, ts=2016-10-15 00:01:24, user=3149, value=944
- id=25398236, sourceId=1, ts=2016-10-15 00:01:25, user=71, value=955
- id=25398239, sourceId=1, ts=2016-10-15 00:01:26, user=71, value=955
- id=25398265, sourceId=1, ts=2016-10-15 00:01:36, user=71, value=955
- id=25398310, sourceId=1, ts=2016-10-15 00:02:16, user=14, value=960
- id=25398320, sourceId=1, ts=2016-10-15 00:02:26, user=14, value=1000
我正在运行以下代码来创建基于 Windows 的用户 ID:
MySession 触发器查看接收到的事件并检查用户 ID 以触发用户 ID 更改窗口。SessionWindowFunction 只是在窗口外创建一个会话。
以下是创建的会话:
会议:
- id=25398102,sourceId=1,ts=2016-10-15 00:00:56,user=14,value=919
- id=25398185,sourceId=1,ts=2016-10-15 00:01:06,user=14,value=920
- id=25398210,sourceId=1,ts=2016-10-15 00:01:16,user=14,value=944
- id=25398235, sourceId=1, ts=2016-10-15 00:01:24, user=3149, value=944
会议:
- id=25398236, sourceId=1, ts=2016-10-15 00:01:25, user=71, value=955
- id=25398239, sourceId=1, ts=2016-10-15 00:01:26, user=71, value=955
- id=25398265, sourceId=1, ts=2016-10-15 00:01:36, user=71, value=955
- id=25398310, sourceId=1, ts=2016-10-15 00:02:16, user=14, value=960
会议:
- id=25398320, sourceId=1, ts=2016-10-15 00:02:26, user=14, value=1000
如您所见,问题是在每个会话中,最后一个事件实际上属于下一个窗口。由于最后一个事件已经在窗口中,因此触发窗口的决定有点晚了。
如何在不考虑该窗口中的最后一个事件的情况下触发该窗口?
fft - Hann 窗口以似乎没有意义的值开始和结束
我正在玩 mathdotnet 并尝试在 FFT 中使用不同的窗口。我对 Hann 窗口特别好奇(尽管我确信这也适用于其他窗口)。当我生成一个宽为 2048 个样本的 Hann 窗口时,我希望得到一组变量逐渐增加到峰值,然后以相同的速率逐渐减小。我得到的是:
如您所见,hann 窗口开头和结尾的值似乎完全没有意义,特别是考虑到任何超过 1 的值都没有意义......
生成一个样本少得多的窗口(我尝试了 20 个)工作得很好。
由于我觉得我对 FFT 或库本身的了解不够多,因此在征求您的意见之前发布错误报告感到不舒服。