Finally, I figured it out:
###
matrix AICs = zeros(6,6)
loop i=1..6 --quiet
loop j=1..6 --quiet
arima $i 0 $j ; z
AICs[$i,$j]=$aic
endloop
endloop
###
I should be grateful if you fixed the crash, though.
--
Yours sincerely, | С уважением,
Andreï V. Kostyrka. | Андрей Викторович Костырка.
2014-04-13 7:44 GMT+04:00 Andreï | Андрей Викторович <fifis.himik(a)gmail.com>
:
Update. The problem goes away if the option *--progressive* is
replaced
with *--quiet*. However, it should not crash and crumble all the changes
the user has made to the script anyway, should it?
--
С уважением,
—Андрей Викторович Костырка.—
http://kostyrka.ru,
http://kostyrka.ru/blog
2014-04-13 7:37 GMT+04:00 Andreï | Андрей Викторович <
fifis.himik(a)gmail.com>:
Greetings, dear developers!
>
> Please consider the following humble code I am trying use to illustrate
> the usefulness of a whole portfolio of models compared by AIC. What I am
> expecting: (1) generate a true ARMA(2,2) model, (2) run a loop with i=1..5
> and j=1..5 for ARMA estimation and obtain the AIC’s for those, (3) the
> result should look like those “long” models like ARMA(5,5) include more
> redundant lags and they will be punished by Akaike and its DOF loss penalty.
> However, on Linux Debian (testing, both x32 and x64) the 1.9.14 (build
> 2014-03-19) version crashes and quits without any warning when the
> following script is run:
> ##########
> nulldata 500
> setobs 1 1 --special-time-series
> genr time
>
> set seed 20140413
> series wn = randgen(n,0,1)
>
> # ARMA(2,2) model, seems both stationary and invertible
> series z = 4.5
> z = 1 + 0.25*z(-1) + 0.55*z(-2) + wn + 0.5*wn(-1) + 0.5*wn(-2)
>
> # The beast
> loop i=1..5 --progressive
> loop j=1..5 --progressive
> arima $i 0 $j ; z
> printf "Akaike criterion: %f\n", $aic
> endloop
> endloop
> ##########
>
> Same problem if *arma* command is used.
> I tried to run it on the current snapshot (1.9.15cvs b.2014-04-04) for
> Windows x32, but to no avail: the message given before the crash is “MS
> Visual C++ Runtime Library: This application has requested the Runtime to
> terminate it in an unusual way”.
>
> What can I do in order to avoid this mishap and sort of estimate
> ARMA(i,j) for various $i and $j in a loop?
>
> Best wishes,
> Andreï V. Kostyrka
>
> --
> С уважением,
> —Андрей Викторович Костырка.—
>
http://kostyrka.ru,
http://kostyrka.ru/blog
>