MATLAB 中 ARMA 估计的残差
Residuals from ARMA estimation in MATLAB
我正在尝试使用 MFE 工具箱中的函数 armaxfilter,但出现错误:
>> parameters = armaxfilter(y,1,1,1);
??? Error: File: armaxfilter.m Line: 477 Column: 21
Expression or statement is incorrect--possibly unbalanced (, {, or [.
显然我的代码是正确的,从帮助中的一个例子可以看出:
例子:
要拟合标准 ARMA(1,1),请使用
parameters = armaxfilter(y,1,1,1)
知道哪里出了问题吗?
无论如何,我的目标是从时间序列的 ARMA 模型估计中获取残差,关于替代方法的建议也会有所帮助。
如错误信息所述,问题出在armaxfilter.m。您应该打开该文件并查看在指定行写入了哪些代码。我相信您会在其中看到错误。
查看代码(来自 here),问题可能出在波形符输出上。如果您使用的是不支持 ~ 的旧版本 MATLAB,您可能会遇到您提到的错误。
有一种简单的方法可以检查这一点。在命令行尝试:
[~,idx] = min(1:10)
如果这导致错误,您使用的 MATLAB 版本不支持 ~。如果您想使用该特定代码,则必须升级您的 MATLAB,或者编辑所有文件,以便波浪号示例被某种虚拟变量替换,例如:
[garbage,idx] = min(1:10)
我正在尝试使用 MFE 工具箱中的函数 armaxfilter,但出现错误:
>> parameters = armaxfilter(y,1,1,1);
??? Error: File: armaxfilter.m Line: 477 Column: 21
Expression or statement is incorrect--possibly unbalanced (, {, or [.
显然我的代码是正确的,从帮助中的一个例子可以看出: 例子: 要拟合标准 ARMA(1,1),请使用
parameters = armaxfilter(y,1,1,1)
知道哪里出了问题吗? 无论如何,我的目标是从时间序列的 ARMA 模型估计中获取残差,关于替代方法的建议也会有所帮助。
如错误信息所述,问题出在armaxfilter.m。您应该打开该文件并查看在指定行写入了哪些代码。我相信您会在其中看到错误。
查看代码(来自 here),问题可能出在波形符输出上。如果您使用的是不支持 ~ 的旧版本 MATLAB,您可能会遇到您提到的错误。
有一种简单的方法可以检查这一点。在命令行尝试:
[~,idx] = min(1:10)
如果这导致错误,您使用的 MATLAB 版本不支持 ~。如果您想使用该特定代码,则必须升级您的 MATLAB,或者编辑所有文件,以便波浪号示例被某种虚拟变量替换,例如:
[garbage,idx] = min(1:10)