Good morning. A few months back I queried regarding executing MLE from
the script window with a piecewise density.
It was suggested that
<<
it should be quite easy if you use functions:
<pseudo-hansl>
function series f(series u, scalar a, scalar b)
[whatever]
end function
function series g(series u, scalar a, scalar b)
[whatever]
end function
function series loglik(series y, list X, matrix coef,
scalar a, scalar b)
series u = y - lincomb(X, coef)
series logl = (u>0) ? g(u, a, b) : f(u, a, b)
return logl
end function
mle ll = logl(y, X, coef, a, b)
coeff coef a b
end mle
</pseudo-hansl>
Hope this helps!
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
>
*Based on the above, I tried a simpler case, estimating parameters (no regression), (and
with a sample of 3 so as to do it also by hand and check results), as follows**
(I use the density of the difference of two independent exponentials with different
parameters)
*
nulldata 3
#series Z = {-1, 1, 2}
scalar s1 =1
scalar s2 = 1
function series negbr(series Z, scalar s1, scalar s2)
-ln(s1+s2)+ (1/s2)*Z
end function
function series posbr(series Z, scalar s1, scalar s2)
-ln(s1+s2)-(1/s1)*Z
end function
function series loglik(series Z, scalar s1, scalar s2)
series liky = (Z>0)? posbr(series Z, scalar s1, scalar s2): negbr(series Z, scalar
s1, scalar s2)
return liky
end function
mle logl = loglik(Z, s1, s2)
params s1 s2
end mle --verbose
*and what I get as a reply is*
gretl version 1.9.92
Current session: 2015-02-04 06:48
series liky = (Z>0)? posbr(series Z,
Expected ','
but found 'Z'
series liky = (Z>0)? posbr(series Z,
Expected ':'
but found 'Z'
Syntax error
*** error in function loglik, line 1
series liky = (Z>0)? posbr(series Z, scalar s1, scalar s2):
negbr(series Z, scalar s1, scalar s2)
Error executing script: halting
end mle --verbose
*I guess this is pretty simple, and the problem is just my inexperience, but I cannot
understand the expectations of the software here.* *So I am calling for help again.**
Thank you.
*
Alecos Papadopoulos
Athens University of Economics and Business, Greece
Department of Economics
cell:+30-6945-378680
fax: +30-210-8259763
skype:alecos.papadopoulos