问题标签 [rollapply]
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 从下往上滚动?
我正在尝试从 data.frame 的底部到 data.frame 的顶部运行 rollapply。基本上,data.frame (RBH) 中的最后一行是 2012 年给定主题的最终测量值。然后我需要减去前几年的每个年度测量值,以计算个人每年的大小。
示例数据帧:
预期输出:
我已经尝试从我在Rollapply() 中找到的建议向后运行 rollapply R,但我没有得到预期的输出。它以列表而不是 data.frame 的形式出现,并从当前单元格中减去每个值,而不是从运行值中减去。
我试过的代码:
任何建议,将不胜感激。
r - 使用 rollapply 函数使用 R 进行 VaR 计算
我为计算 20 个周期滚动窗口内的风险价值 (VaR) 执行了以下操作:
它产生所需的输出,然后我在另一个数据上尝试了同样的操作:
但我收到以下错误:
有人可以告诉我为什么会有这种差异以及如何解决这个错误吗?
r - 完整缺失列的 VaR 计算
我需要计算股票收益的滚动 VaR。从这篇文章:使用 rollapply 函数使用 R 进行 VaR 计算,我了解到具有完全缺失案例的列会出错。但由于各个公司股票收益的起止日期不同,当数据从长格式转换为宽格式时会产生缺失值。可以仅使用没有缺失值的行进行估计,但这会导致数据严重丢失。因此,有没有办法对具有完整缺失值的列执行计算,对于缺失的列,得到输出“NA”。这就是我所做的:
它执行所需的计算,但是当我尝试使用前 60 行完全缺失“HAM6”列时
我收到以下错误:
我知道错误是由于缺少“HAM6”列,但有没有办法保留缺少的列并为“HAM6”获取输出“NA”而不是删除“HAM6”列?我已经尝试了大多数可用于处理缺失值的方法,但找不到任何合适的解决方案。任何帮助深表感谢。
r - R - 滑动门分析时间段内的事件数
我重新发布了这个问题,因为我认为我需要进行聚类类型分析,但需要更多的是“滑动窗口”分析。我有一个数据集,其中记录了超过 63 年的 59k 条目,我需要识别事件的“集群”,其标准是:
6 个或更多事件的序列,序列中连续事件之间的间隔不超过 6 小时。
每个事件都有一个唯一的 ID 和一个日期/时间戳,理想情况下,输出会为满足上述条件的事件分配一个集群 ID。我一直针对滑动窗口方法,是最好的选择吗?也许使用 zoo 包中的 rollapply ?
如果有人感觉非常有帮助,我已经添加了一个为期一年的数据样本。 https://dl.dropboxusercontent.com/u/16400709/StackOverflow/DataStack.csv
我已经在 R 中看到了这种分析的输出,但目前还不能复制它,这个分析的结果可以在这篇论文中看到 --> https://dl.dropboxusercontent.com/u/16400709 /StackOverflow/fuhrmann_etal_waf2014.pdf
谢谢你的时间!
r - 更快地替代功能“rollapply”
我需要对包含大约 7,000 行和 11,000 列的 xts 数据运行滚动窗口函数。我做了以下事情:
我等了 12 个小时,但计算没有完成。但是,当我尝试使用以下小数据集时:
计算在 60 秒内完成。我在配备 Intel i5-2450M CPU、Windows 7 操作系统和 12 GB RAM 的计算机上运行它们。
如果有任何更快的方法可以在大型 xts 数据集上执行上述计算,任何人都可以建议我吗?
r - 使用 R 估计滚动风险价值 (VaR)
我需要对每日股票收益进行滚动 VaR 估计。起初我做了以下事情:
它执行计算并返回一个动物园对象,但给出一系列警告,如下所示:
然后,我对我的数据样本进行了同样的尝试,如下所示:
但是 is 不返回任何 zoo 对象并给出以下警告和错误:
从较早的帖子(使用 R 的使用 rollapply 函数进行 VaR 计算)我了解到,如果缺少完整的滚动窗口,则无法执行滚动估计,但在我的数据(sample2.dta)中没有缺失值。
sample2.dta 可以从https://drive.google.com/file/d/0B8usDJAPeV85WDdDQTFEbGQwaUU/edit?usp=sharing下载
谁能帮我解决和理解这个问题?
r - 应用附加参数语法
假设我有一个包含数据列的数据框,我想计算每列的单边移动平均值。为什么这行得通
但
给我一个错误
这是因为平均值本身需要额外的参数吗?那么,我如何能够将所有参数传递给 apply 内部的 rollapply 呢?
r - 使用 ugarchfit 在 R 中扩展窗口的 Garch 预测
我有 S&P500 的每日数据,并将接近收盘的回报存储在my_data$Return中。我的目标是在此期间每天重新调整 GARCH(1,1)(因此从 2004 年 1 月 1 日的startDate开始),然后计算 30 天的预测。换句话说,我需要模拟我使用期间每个时间点的 GARCH(1, 1) 30 天预测。为了做到这一点,我使用了myFit函数来校准模型并进行预测。然后此函数由apply.fromstart调用,以便我可以从startDate开始每天应用它。
如果我启动它,R 会抱怨,因为ugarchfit需要至少 100 个数据点才能运行。
我看到该函数需要至少 100 个数据,但如何更改函数以避免错误?我还尝试将最后一行替换为:
但R显示错误,因为求解器无法收敛。另外,rollapply不允许我使用扩展窗口,而这是我想做的。事实上,我在这里申请了 1 年的滚动窗口。
关于如何在此期间每天获取预测的任何想法?
非常感谢您的帮助。
r - GARCH 预测扩展窗口:rollapplyr() 和 apply.fromstart()
我的意图是使用来自扩展窗口的数据使用 GARCH(1,1) 生成预测。每天都有一个新的回报进入数据集,我将重做 GARCH 拟合和预测。函数 myFit 执行此操作,但现在我需要将一个每天都在增加的返回窗口作为参数传递。两种方法是 apply.fromstart() 和 rollapplyr()。
在下面的代码中,我决定在收集到至少 100 个回报后开始滚动计算,因为这是 ugarchforecast() 执行预测所需的最小数据量。
最后两行调用 myFit ,从 100 的窗口开始,它们将函数应用于扩展窗口。如果设置如下,我期望 apply.fromstart() 和 rollapplyr() 都提供相同的数据。毕竟他们将相同的功能(myFit)应用于相同的数据。不幸的是,只有第一个值是相同的,然后预测不再对齐。
这是我的健身
这些是 forecastVec1 的元素(因此使用 apply.fromstart() 时的预测):
这些是 forecastVec2 的元素(使用 rollapplyr()):
如前所述,只有第一个元素是相同的。我在 rollapplyr() 中应用增加窗口的方式可能是错误的?我正在传递一个宽度向量,所以我期望在每次迭代中,函数将使用一个窗口 100,然后是 101,然后是 102...103,最后是 104。这应该与 apply.fromstart() 后面的逻辑相同因为我设置了 gap=100 并且每次迭代都应该将窗口增加 1。
你能帮我找出错误吗?谢谢。
r - 由于函数的零长度输出,rollapply 的意外输出
我遇到了一个我无法理解的问题。这是注释代码:
基本上我不明白为什么当第一个滚动应该产生模式矩阵中不存在的向量时rollapply(c(1,-1,1,1),width=3,f,align="left")
返回。相反,我期待结果。如果我将向量提供给我得到预期的结果,那么一定有一些我不明白但很奇怪的东西。在某些情况下,我有一个 mix但从来没有 mix或.1 1
rollapply
1 -1 1
p
NA 1
rollapply
c(-1, -1, -1 ,-1)
rollapply
NA NA
1 2
NA 1
NA 2