【问题标题】:Is there any function in matlab to create stationary series?matlab中是否有任何功能可以创建固定系列?
【发布时间】:2019-11-17 00:51:39
【问题描述】:

matlab 中是否有任何函数可以创建固定序列?或者某个特定的地方我可以得到这种系列?我正在实施一种方法,我认为缺少固定序列是个问题。

【问题讨论】:

    标签: matlab time-series generate-series


    【解决方案1】:

    这里不多说,请尝试更具体的w.r.t。 “方法”和“系列”... 一个常见的错误是在非平稳过程上使用 OLS 回归,在这种情况下结果可能是虚假的。为了避免这种情况,当怀疑某个变量是非平稳的时,对该变量的变换有时会破坏该非平稳性。例如,如果您将两个连续值相减(例如使用 diff 函数),具有单位根(非平稳)的自相关 AR(1) 过程将产生(平稳)创新。

    为了更直接地回答您的问题(但可能不太有用),任何生成随机数而不随时间改变分布的 Matlab 函数都将生成“平稳过程”......例如plot(randn(1000,1)) 展示了一个代表纯粹创新的“过程”。如果这些创新是在具有单位根(即 X(t+1)=X(t)+u)的 AR(1) 过程中,我们可以得到如下结果:

    AR1 = cumsum(u);
    innov=diff(AR1);
    plot([AR1(2:end),innov])
    

    如您所见,AR1 过程是非平稳的,因为它有一个单位根。琐碎地说,x 实际上是创新,但是使用 diff 对其进行“逆向工程”只是表明,在这种情况下,您可以从非平稳序列中恢复一些平稳的东西。

    最后,寻找非平稳性的常见测试是增强的 Dickey Fuller 测试(单位根测试),它在 Matlab 中实现:https://www.mathworks.com/help/econ/adftest.html

    【讨论】:

      猜你喜欢
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 2011-11-29
      相关资源
      最近更新 更多