我有从数值模拟中出现的离散时间序列。这意味着时间序列可能会有些嘈杂。时间序列应该“服从”以下公式:
在哪里根据给定的模拟,事先不知道(可以是 1、2 或 20)。
更新 2016-08-05:这里的未知参数是,,,, 和,虽然我唯一需要的是提取和从这些时间序列。
以前,当得到保证,我使用了非线性最小二乘算法。事实证明,该算法需要非常好的初始猜测才能找到合适的拟合。我不确定如何在何时提供一个好的初始猜测事先不知道。
从这些时间序列中提取我需要的参数的最稳健和最好的方法是什么?谢谢!
更新 2016-08-05:以下是演示示例时间序列的代码。不过,这个例子纯粹是人为的,因为我现在没有从数值模拟中出现的实时序列。
alpha(1) = 0.03;
alpha(2) = 0.05;
alpha(3) = -0.01;
a(1) = 1e-5;
a(2) = 1e-5;
a(3) = 1e-5;
omega(1) = 0.9;
omega(2) = 0.125;
omega(3) = 0.001;
phi(1) = pi/2;
phi(2) = pi/3;
phi(3) = pi;
t = linspace(0, 100, 1000);
d = 0 * t;
for i = 1:3
d = d + a(i) * exp(alpha(i)*t) .* sin(omega(i)*t + phi(i));
end
plot(t, d, 'o-');