how to set initial value

For the following program, the initial selection is not very understanding
Why there are three different initial value selection method?
How to select the initial value of the estimated variance in the maximum likelihood estimation?

y=duration~volum~abs(res_r);
/***************************************************
(1)Get initial values by estimate three ACD models
**********************************************************************/
var=vcx(ln(y));
..................
{parameter,f0,g,cov,retcode1}=cml(duration,0,&LI_lnACD,par|sqrt(var[1,1]));
{parameter1,f0,g,cov,retcode1}=cml(volum,0,&LI_lnACD,par|sqrt(var[2,2])); {parameter2,f0,g,cov,retcode1}=cml(abs(res_r),0,&LI_lnACD,par|sqrt(var[3,3]));
//sqrt(var[1,1]) as a initial value for variance
/***********************************************************************
(2)Further get initial values by estimate ACD-ACV-GARCH model
************************************************************************/
...........
{par00,f0,g,cov,retcode}=cml(duration,0,&LI_lnACD, parameter[1:3]|0|0|parameter[4]);
{par11,f01,g,cov1,retcode1}=cml(volum,0,&LI_lnACD,
parameter1[1:3]|0|0|parameter1[4]);
{par22,f02,g,cov2,retcode2}=cml(abs(res_r),0,&LI_lnACD, parameter2[1:3]|0|0|parameter2[4]);
/// the previous estimate variance "parameter[4]" as a initial value

/**************************************************************************
logvmem_MLEloglik model estimation
***********************************************************************/
.......................................
...............
para_v=par_to_pp(par00,par11,par22); // calculate Initial values
...............................................................
{pp,f,g,cov,retcode}=CMLPrt(cml(y,0,&logvmem_MLEloglik, para_v));
/*================================================================*/
proc par_to_pp(par00,par11,par22);
local omega,A,B,vc,gamma_0,para_v;
OMEGA= par00[1]|par11[1]|par22[1];
A=(par00[2]~ par00[4]~ par00[5])|(par11[4]~ par11[2]~ par11[5])|(par22[4]~ par22[5]~ par22[2]);
B= diagrv(eye(3),par00[3]|par11[3]|par22[3]);
vc= diagrv(eye(3),par00[rows(par00)]^2|par11[rows(par11)]^2|par22[rows(par22)]^2);
gamma_0=omega|vecr(A)|vecr(B);
para_v=vech(vc)|gamma_0;
retp(para_v);
endp;

///"par00[rows(par00)]^2|par11[rows(par11)]^2|par22[rows(par22)]^2" In this step, the square that the previous estimate is used as the initial value

1 Answer



0



I think for anyone to answer this they will need to know more about what the code is trying to do. Can you post a link to where you downloaded it?

aptech

1,338

Your Answer


You must login to post answers.

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.

Try GAUSS for 30 days for FREE

See what GAUSS can do for your data

© Aptech Systems, Inc. All rights reserved.

Privacy Policy