MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

how to speed up lenghty formulas??

  • To: mathgroup at
  • Subject: [mg84104] how to speed up lenghty formulas??
  • From: Arkadiusz.Majka at
  • Date: Mon, 10 Dec 2007 20:35:13 -0500 (EST)


I have a general problem with lenghty formula

E.g for  a data set X


I define function h:

 h[0] := Variance[X];
h[1] := a0+ h[0];
h[t_] := h[t] = a0 + a1*X[[t - 1]]^2 + b1*h[t - 1]

and H which is the collection of h in all times up to the length of
data set X

H = Table[h[i], {i, 2, Length[X]}];

Next I define a function:

logLike = Total[-Log[H] - (Drop[X, 1]^2/H)];

which I want to minimize in order to find a0,a1,b1

NMinimize[{-logLike, a0> 0 && 1 >a1 > 0 && 1 > b1> 0 && a1+ b1 <1},
{a0, a1, b1}]

It works but takes a lot of time and does not scale at all (i.e. when
I add an element to X the computational time increases very much)

The form of logLike and NMinimize function is only an example of how
to deal with very long function but with only a few arguments (here 3)
to obtain fast results. Instead of NMinimize you can try to
contourplot logLike function or do whatever you want - its time

I know that there existing a solution ,i.e to speed up such
computation. The example above is a parameter estimation of GARCH
process which in TimeSeries packet runs very fast. But how did
developers do so???

Thanks for any help,


  • Prev by Date: Re: Prefix Forms on the BasicMath Palette
  • Next by Date: Re: Inset problems & Export
  • Previous by thread: Re: Implementing own data functions
  • Next by thread: Re: how to speed up lenghty formulas??