【发布时间】:2012-09-28 16:55:23
【问题描述】:
免责声明:此问题仅适用于可以访问 Matlab 中的计量经济学工具箱的人员。
情况:我想使用 Matlab 来模拟来自使用计量经济学工具箱的 ARIMA(p, d, q) 模型的N 观察结果。有什么困难?我希望用确定性的时变方差来模拟创新。
问题 1) 我可以使用内置的 matlab simulate 函数自己修改它吗?据我所知,这是不可能的。根据我对文档的阅读,创新可以指定为具有恒定方差(即每个创新的方差相同),也可以指定为随机随时间变化的(例如 GARCH 模型),但它们不能是确定性的时间-变化,我,用户,选择他们的值(除了在平凡的常数情况下)。
问题 2) 如果 问题 1 的答案是“否”,那么是否有人知道我无法从计量经济学工具箱如下:
a) 更改前导码,以便在输入 model 中的 Variance 字段设置为数值向量而不是数值标量时函数不会抛出错误。
b) 将simulate 的第 310 行更改为:
E(:,(maxPQ + 1:end)) = Z * sqrt(variance);
到
E(:,(maxPQ + 1:end)) = (ones(NumPath, 1) * sqrt(variance)) .* Z;
其中NumPath 是要模拟的路径数,可以假设我已经包含了一个错误陷阱,以确保存储在variance 中的(输入)确定性方差路径的长度正确(即等于每条路径要模拟的观察次数)。
任何帮助将不胜感激。抱歉,如果这个问题看起来很简单,我只是以前从未编辑过 Mathwork 自己的函数之一,也不想做一些愚蠢的事情。
更新(2012-10-18):我相信我上面建议的代码编辑是有效的,而且我最有信心它不会破坏其他任何东西。然而事实证明,由于文件权限,实施该解决方案并非易事。我目前正在与 Mathworks 讨论实现目标的最佳方式。得到结果后,我会在此处发布结果。
【问题讨论】:
-
像往常一样,一个5秒无法回答的问题;)
-
@angainor 但这些通常是好的 :-) 我意识到 q2 是一个很难回答的问题 - 我希望还有其他一些时间序列的家伙/女孩们遇到过这个问题。如果没有,我明天会做一些测试并在这里发布结果。
标签: time-series matlab simulate