From 61679213ee46d11a806bbc36619f201a6bd862c4 Mon Sep 17 00:00:00 2001 From: "N. Brouard" Date: Fri, 22 Jul 2022 12:04:24 +0000 Subject: [PATCH] Summary: r28 * imach.c (Module): Output of Wald test in the htm file and not only in the log. --- src/imach.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/imach.c b/src/imach.c index 69ad7ad..ae19c93 100644 --- a/src/imach.c +++ b/src/imach.c @@ -1,6 +1,9 @@ /* $Id$ $State$ $Log$ + Revision 1.320 2022/06/02 05:10:11 brouard + *** empty log message *** + Revision 1.319 2022/06/02 04:45:11 brouard * imach.c (Module): Adding the Wald tests from the log to the main htm for better display of the maximum likelihood estimators. @@ -7237,7 +7240,7 @@ void printinghtml(char fileresu[], char title[], char datafile[], int firstpass, } /* if(nqfveff+nqtveff 0) */ /* Test to be done */ - fprintf(fichtm," ************\n
"); + fprintf(fichtm," (model=%s) ************\n
",model); if(invalidvarcomb[k1]){ fprintf(fichtm,"\n

Combination (%d) ignored because no cases

\n",k1); printf("\nCombination (%d) ignored because no cases \n",k1); @@ -7424,7 +7427,7 @@ See page 'Matrix of variance-covariance of one-step probabilities' below. \n", r fprintf(fichtm," V%d=%f ",Tvqresult[nres][k4],Tqresult[nres][k4]); } - fprintf(fichtm," ************\n
"); + fprintf(fichtm," (model=%s) ************\n
",model); if(invalidvarcomb[k1]){ fprintf(fichtm,"\n

Combination (%d) ignored because no cases

\n",k1); @@ -7560,7 +7563,7 @@ void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, fprintf(ficgp,"\nset out \"%s_%d-%d-%d.svg\" \n",subdirf2(optionfilefiname,"V_"),cpt,k1,nres); fprintf(ficgp,"\n#set out \"V_%s_%d-%d-%d.svg\" \n",optionfilefiname,cpt,k1,nres); /* fprintf(ficgp,"set label \"Alive state %d %s\" at graph 0.98,0.5 center rotate font \"Helvetica,12\"\n",cpt,gplotlabel); */ - fprintf(ficgp,"set title \"Alive state %d %s\" font \"Helvetica,12\"\n",cpt,gplotlabel); + fprintf(ficgp,"set title \"Alive state %d %s model=%s\" font \"Helvetica,12\"\n",cpt,gplotlabel,model); fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),nres-1,nres-1,nres); /* fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),k1-1,k1-1,nres); */ /* k1-1 error should be nres-1*/ @@ -12548,6 +12551,7 @@ Please run with mle=-1 to get a correct covariance matrix.\n",ageminpar,agemaxpa hesscov(matcov, hess, p, npar, delti, ftolhess, func); printf("Parameters and 95%% confidence intervals\n W is simply the result of the division of the parameter by the square root of covariance of the parameter.\n And Wald-based confidence intervals plus and minus 1.96 * W .\n But be careful that parameters are highly correlated because incidence of disability is highly correlated to incidence of recovery.\n It might be better to visualize the covariance matrix. See the page 'Matrix of variance-covariance of one-step probabilities' and its graphs.\n"); fprintf(ficlog, "Parameters, Wald tests and Wald-based confidence intervals\n W is simply the result of the division of the parameter by the square root of covariance of the parameter.\n And Wald-based confidence intervals plus and minus 1.96 * W \n It might be better to visualize the covariance matrix. See the page 'Matrix of variance-covariance of one-step probabilities' and its graphs.\n"); + fprintf(fichtm, "\n

Parameters, Wald tests and Wald-based confidence intervals\n
W is simply the result of the division of the parameter by the square root of covariance of the parameter.\n
And Wald-based confidence intervals plus and minus 1.96 * W \n
It might be better to visualize the covariance matrix. See the page 'Matrix of variance-covariance of one-step probabilities' and its graphs.\n
"); fprintf(fichtm,"\n"); fprintf(fichtm, "\n"); if(nagesqr==1){ @@ -12578,15 +12582,14 @@ Please run with mle=-1 to get a correct covariance matrix.\n",ageminpar,agemaxpa fprintf(fichtm, "",i,k); for(j=1; j <=ncovmodel; j++){ wald=p[jk]/sqrt(matcov[jk][jk]); - printf("%12.7f(%12.7f) W=%8.3f CI=[%12.7f ; %12.7f] ",p[jk],sqrt(matcov[jk][jk]), p[jk]/sqrt(matcov[jk][jk]), p[jk]-1.96*sqrt(matcov[jk][jk]),p[jk]+1.96*sqrt(matcov[jk][jk])); - fprintf(ficlog,"%12.7f(%12.7f) W=%8.3f CI=[%12.7f ; %12.7f] ",p[jk],sqrt(matcov[jk][jk]), p[jk]/sqrt(matcov[jk][jk]), p[jk]-1.96*sqrt(matcov[jk][jk]),p[jk]+1.96*sqrt(matcov[jk][jk])); + printf("%12.7f(%12.7f) sqrt(W)=%8.3f CI=[%12.7f ; %12.7f] ",p[jk],sqrt(matcov[jk][jk]), p[jk]/sqrt(matcov[jk][jk]), p[jk]-1.96*sqrt(matcov[jk][jk]),p[jk]+1.96*sqrt(matcov[jk][jk])); + fprintf(ficlog,"%12.7f(%12.7f) sqrt(W)=%8.3f CI=[%12.7f ; %12.7f] ",p[jk],sqrt(matcov[jk][jk]), p[jk]/sqrt(matcov[jk][jk]), p[jk]-1.96*sqrt(matcov[jk][jk]),p[jk]+1.96*sqrt(matcov[jk][jk])); if(fabs(wald) > 1.96){ - fprintf(fichtm, "", p[jk]-1.96*sqrt(matcov[jk][jk]),p[jk]+1.96*sqrt(matcov[jk][jk])); jk++; } @@ -13188,9 +13191,9 @@ Please run with mle=-1 to get a correct covariance matrix.\n",ageminpar,agemaxpa for(k=1; k<=i1;k++){ /* For any combination of dummy covariates, fixed and varying */ if(i1 != 1 && TKresult[nres]!= k) continue; - printf("\n#****** Result for:"); - fprintf(ficrest,"\n#****** Result for:"); - fprintf(ficlog,"\n#****** Result for:"); + printf("\n# model %s \n#****** Result for:", model); + fprintf(ficrest,"\n# model %s \n#****** Result for:", model); + fprintf(ficlog,"\n# model %s \n#****** Result for:", model); for(j=1;j<=cptcoveff;j++){ printf("V%d=%d ",Tvaraff[j],nbcode[Tvaraff[j]][codtabm(k,j)]); fprintf(ficrest,"V%d=%d ",Tvaraff[j],nbcode[Tvaraff[j]][codtabm(k,j)]); -- 2.43.0
Model=1+ age%1d%1d%12.7f (%12.7f)
",p[jk],sqrt(matcov[jk][jk])); - fprintf(fichtm,"W=%8.3f
",wald); + fprintf(fichtm, "
%12.7f
(%12.7f)
",p[jk],sqrt(matcov[jk][jk])); }else{ fprintf(fichtm, "
%12.7f (%12.7f)
",p[jk],sqrt(matcov[jk][jk])); - fprintf(fichtm,"W=%8.3f
",wald); } + fprintf(fichtm,"sqrt(W)=%8.3f
",wald); fprintf(fichtm,"[%12.7f;%12.7f]