MATLAB: Time series ARMA model estimation results different from textbook

System Identification Toolboxtime series armax function

I tried to estimate an ARMA(4,3) model using armax function in the system identification toolbox. I used the same data set, but the result was totally different from the textbook Pandit and Wu,1990, Time Series and System Analysis with Applications. The data I used is the sunspot data in Table A2 in the textbook (page487). I double checked to make sure the data is exactly the same as in the textbook.
The estimated ARMA(4,3) model in the textbook in page 170 is:
A(q)=1-0.42(+-1)q^-1-0.28(+-0.75)q^-2+0.08(+-0.49)q^-3+0.33(+-0.5)q^-4.
C(q)=1+0.89(+-1)q^-1+0.31(+-0.76)q^-2-0.14(+-0.23)q^-3.
However, the estimation result of armax is:
A(q)=1-1.572(+-0.3967)q^-1+0.1358(+-0.9669)q^-2+1.046(+-0.8845)q^-3-0.6024(+-0.3122)q^-4.
C(q)=1-0.3253(+-0.4095)q^-1-0.756(+-0.5163)q^-2 +0.08137(+-0.168)q^-3.
My code is as follows. My question is which result is correct?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Read and plot raw data (rawdata has 176 points in one column)
rawdata=[80.9 83.4 47.7 47.8 30.7 12.2 9.6 ...
10.2 32.4 47.6 54 62.9 85.9 61.2 45.1 36.4 ...
20.9 11.4 37.8 69.8 106.1 100.8 81.6 66.5 ...
34.8 30.6 7 19.8 92.5 154.4 125.9 84.8 ...
68.1 38.5 22.8 10.2 24.1 82.9 132 130.9 ...
118.1 89.9 66.6 60 46.9 41 21.3 16 ...
6.4 4.1 6.8 14.5 34 45 43.1 47.5 ...
42.2 28.1 10.1 8.1 2.5 0 1.4 ...
5 12.2 13.9 35.4 45.8 41.1 30.4 23.9 ...
15.7 6.6 4 1.8 8.5 16.6 36.3 49.7 ...
62.5 67 71 47.8 27.5 8.5 13.2 56.9 ...
121.5 138.3 103.2 85.8 63.2 36.8 24.2 10.7 ...
15 40.1 61.5 98.5 124.3 95.9 66.5 64.5 ...
54.2 39 20.6 6.7 4.3 22.8 54.8 93.8 ...
95.7 77.2 59.1 44 47 30.5 16.3 7.3 ...
37.3 73.9 139.1 111.2 101.7 66.3 44.7 17.1 ...
11.3 12.3 3.4 6 32.3 54.3 59.7 63.7 ...
63.5 52.2 25.4 13.1 6.8 6.3 7.1 35.6 ...
73 84.9 78 64 41.8 26.2 26.7 12.1 9.5 ...
2.7 5 24.4 42 63.5 53.8 62 48.5 43.9 ...
18.6 5.7 3.6 1.4 9.6 47.4 57.1 103.9 ...
80.6 63.6 37.6 26.1 14.2 5.8 16.7]';
meanvalue=mean(rawdata);
%Fit an ARMA model
order=[4 3];
data=iddata(rawdata-meanvalue,[],1);
model=armax(data,order);
%Show the fitted model
present(model);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Best Answer

Hi Yong, I don't know what to say, but an ARMA(4,3) model fitted in R with arima is not close to what the book lists either. Perhaps there is a problem with the book? Did they use MATLAB, R, none of the above?