LEAST SQUARES Estimation code
8 ビュー (過去 30 日間)
古いコメントを表示
Anybody know the code to estimate an ARMA model using LEAST SQUARES?
Thanks.
0 件のコメント
採用された回答
Shashank Prasanna
2013 年 2 月 8 日
編集済み: Shashank Prasanna
2013 年 2 月 8 日
To show you an example I am going to generate some data from the following ARMA model. I am generating this using the ARIMA function in the econometrics toolbox. If you don't have it don't worry because I am using this data to demonstrate how to estimate the coefficients using least squares. How ever I would like to inform you that that a more popular approach is to use MLE.
Generate some data to simulate.
Here AR lag 1, coeff 0.3
MA lag 1, coeff 0.2
rng(5);
simModel = arima('AR',0.3,'MA',0.2,'Constant',0,'Variance',1);
% simModel = arima('AR',0.4,'Constant',0,'Variance',1);
Y = simulate(simModel,500);
The following code will estimate the coefficients using least squares using MATLAB's \ operator.
>> rng(5);
inn=randn(500,1);
[Y -[0;Y(1:end-1)] -[0;inn(1:end-1)]]\inn
ans =
1.0000
0.3000
0.2000
The first number is for y(t) which is 1. the AR is 0.3 and MA is 0.2.
3 件のコメント
Shashank Prasanna
2013 年 2 月 8 日
RNG is used to set the random number generator seed, it could be anything, i just used 5. Notice that I reuse it again while I estimate so that I use the exact same random numbers during estimation that I used during data generation.
inn is commonly known as innovations or error terms, and it is assumed to be white noise or normally distributed with 0 mean 1 var, but could be something else. i use the randn function to generate some inn. The equation I used is just the solution to a linear system Ax=b which can be solved in MATLAB for x by performing A\b.
I would suggest any starting with MATLAB documentation: http://www.mathworks.com/help/matlab/ref/rng.html http://www.mathworks.com/help/econ/specification-1-1.html
Lastly, MLE is indeed a popular mathod and MATLAB is capable to solving MLEs as long as you formulate you problem that way. search documentation for MLE
hth
その他の回答 (1 件)
Azzi Abdelmalek
2013 年 2 月 7 日
4 件のコメント
Azzi Abdelmalek
2013 年 2 月 7 日
編集済み: Azzi Abdelmalek
2013 年 2 月 7 日
% n: is the order of your system
% u: input signal
% y : output signal
k1=5 % k1 >n
k2=30
teta=least_square(u,y,n,k1,k2)
yem
2014 年 12 月 16 日
hi i need to identify systems with 2 delays with least square algorithm anyhelp please
参考
カテゴリ
Help Center および File Exchange で Conditional Mean Models についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!