Programming the statistical procedures from SAS

How does the intercept effect work in an estimate statement

Accepted Solution Solved
Reply
Super Contributor
Posts: 273
Accepted Solution

How does the intercept effect work in an estimate statement

Hello everyone,

I just become a bit confused when I saw the intercept effect in an estimate statement within proc genmod.

My observation is that when the "param=ref" option is used then it produce the same estimate as in the parameter-estimates. When "param=glm" is used then something wrong happens. When other effects than the intercepts are used in the effect statement then there is no difference between whether "param=glm" or "param=ref" is used. My question is, what estimate does the estimate statement give when the glm-parametrization is used. The full example could for instance be this one:


*Current state eksempel:****;
data current_state;
  call streaminit(123);
  do i=1 to 1000;
    intercept_=1;
    group=(rand("uniform")<0.5);
t=-log(rand("uniform")) /exp( log(0.1)+0.5*group) ;
censur=-log(rand("uniform"))*10;
event=(t<censur);
    logtime=log(censur);
    output;
  end;
run;


proc genmod data=current_state desc;
  class group(ref="0") /param=glm ;
  model event= group  /dist=bin link=cloglog offset=logtime;
  estimate 'baselinehazard' intercept 1/exp;
  estimate 'group' group 1 -1;
run;

which produce this output:

                        Analysis Of Maximum Likelihood Parameter Estimates

                                      Standard     Wald 95% Confidence          Wald
  Parameter         DF    Estimate       Error           Limits           Chi-Square    Pr > ChiSq

  Intercept          1     -2.3670      0.0726     -2.5093     -2.2247       1062.85        <.0001
  group        1     1      0.5635      0.1003      0.3670      0.7600         31.58        <.0001
  group        0     0      0.0000      0.0000      0.0000      0.0000           .           .
  Scale              0      1.0000      0.0000      1.0000      1.0000

NOTE: The scale parameter was held fixed.


                                     Contrast Estimate Results

                          Mean         Mean           L'Beta  Standard                L'Beta
Label                Estimate   Confidence Limits  Estimate     Error   Alpha   Confidence Limits

baselinehazard         0.1169    0.1065    0.1281   -2.0852    0.0501    0.05   -2.1835   -1.9869
Exp(baselinehazard)                                  0.1243    0.0062    0.05    0.1127    0.1371
group                  0.8274    0.7639    0.8821    0.5635    0.1003    0.05    0.3670    0.7600

I found it here surprising that the number -2.0852 is not the same as -2.3670. Changing to param=ref will make these two numbers equal to -2.367 as expected. Notice that the estimated group-effect is the same in the two part of the output.

Am I right when I claim, that since param=glm is the default, there may easily happens mistake if users are not aware that this produce some other intercept estimate with the estimate statement?


Accepted Solutions
Solution
‎08-12-2014 12:50 PM
Respected Advisor
Posts: 2,655

Re: How does the intercept effect work in an estimate statement

I note that the following give identical results:

estimate 'baselinehazard' intercept 1/exp;

estimate 'other' intercept 1 group 0.5 0.5/exp;

which is what I would expect under a GLM parameterization.  You can see this by adding the 'e' option to the first estimate statement, and seeing that it gives what is in the second.  This is because the GLM parmeterization creates marginals by averaging over the terms not explicitly expressed.  If you want the exponentiated intercept only, I think you have to export the solution vector via ODS, and then exponentiate.

Steve Denham

View solution in original post


All Replies
Solution
‎08-12-2014 12:50 PM
Respected Advisor
Posts: 2,655

Re: How does the intercept effect work in an estimate statement

I note that the following give identical results:

estimate 'baselinehazard' intercept 1/exp;

estimate 'other' intercept 1 group 0.5 0.5/exp;

which is what I would expect under a GLM parameterization.  You can see this by adding the 'e' option to the first estimate statement, and seeing that it gives what is in the second.  This is because the GLM parmeterization creates marginals by averaging over the terms not explicitly expressed.  If you want the exponentiated intercept only, I think you have to export the solution vector via ODS, and then exponentiate.

Steve Denham

Super Contributor
Posts: 273

Re: How does the intercept effect work in an estimate statement

Hi Steve,

you are right, it works as you explain it.

Though, then I have not understood why the statement

      estimate 'other' intercept 1 group 0 0/exp;

lead to an non-estimable expression with the param=GLM-option, but it works fine with the param=REF-option.

Further, If I want it exponentiated, which is exactly what I want, then I can just use the param=ref option. That give the number I am looking for, which by the way in the above example also can be produced by the new icphreg:-)

Jacob

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 207 views
  • 1 like
  • 2 in conversation