On Tue, 6 Jan 2015, Daniel Bencik wrote:

> I am struggling with my variable lists once again. I expected the following 
> two ML estimations to give the same results, but they don't. Any ideas? 
>  
>     #estimation 1
>     scalar c_ = 0.1
>     scalar rng = 0.1
>     scalar err = 0.2
>  
>     mle ll = -ln(lambda) - sqrtPark/lambda
>  
>         series lambda = mean(sqrtPark)
>         series lambda = c_ + rng * sqrtPark(-1) + err * lambda(-1)
>  
>         params c_ rng err
>     end mle --robust
>  
>  
>     #estimation 2
>     list    xDepVars = sqrtPark
>     list    xExpVars = sqrtPark(-1) 
>  
>     c_ = 0.1
>     rng = 0.1
>     err = 0.2
>  
>     series xDepVar = xDepVars[1]
>     series xExpVar = xExpVars[1]
>  
>     mle ll2 =  -ln(lambda2) - xDepVar/lambda2
>  
>         series lambda2 = mean(xDepVar)
>         series lambda2 = c_ + rng * xExpVar + err * lambda2(-1)
>  
>         params c_ rng err
>     end mle --robust

Sorry, I realize that the answer I gave yesterday in
http://lists.wfu.edu/pipermail/gretl-users/2015-January/010564.html
will not do!

My explanation was that an expression such as "xDepVars[1]" gives the 
integer ID number of the series at position 1 in the named list, not 
the series itself. Well, that was true, but it's not consistent with 
the documentation I added recently on indexing into a list, and it's 
surely not what users will expect.

So today I've modified the result of indexing into a list to match the 
doc and the most likely expectation. You now get a series, and your ML 
script should behave as you intended. That's in CVS and snapshots.

Note that if you wish to retrieve the ID number of the series at a 
certain position in a list this can be done by converting the list 
into a matrix. The following little script illustrates this point as 
well as the effect of indexing into a list directly.

<hansl>
open data4-1
list L = sqft price
series x = L[1]
print sqft x --byobs
ols L[2] 0 L[1]
matrix m = L
printf "The series at position 1 in L has ID %d\n", m[1]
</hansl>

Allin

Reply via email to