Programming the statistical procedures from SAS

GLIMMIX How to back transform EBLUP in the original scale

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 18
Accepted Solution

GLIMMIX How to back transform EBLUP in the original scale

Dear SASusers,

I spent several hours to search in the manual and on the web the formula to back transform the eBLUP from the proc GLIMMIX, see the code below.

Any ideas are welcome.

proc glimmix data=pocheNG asycov  ;

class site;

model surv(event ='1') =  site /s dist = binary link = probit noint ;

random intercept /s subject = male ;

random _residual_ ; *to fit an overdispersion ;

/**output out = a1 /ALLSTAT  ; **/

ods output solutionR = BLUP ;

run ;

I know that i could have the eBLUP in the original scale from the "output statment"... but i will need this formula later.

QUESTION 1 : How could i back transform the eBLUP estimation in the probit scale to the original scale ?

Thanks you,

Jb


Accepted Solutions
Solution
‎01-27-2014 09:48 AM
Respected Advisor
Posts: 2,655

Re: GLIMMIX How to back transform EBLUP in the original scale

To get from the probit scale to the probability scale, you could use the CDF function.

eblup_prob_scale=CDF('NORMAL', eblup_probit_value);

Steve Denham

View solution in original post


All Replies
Respected Advisor
Posts: 2,655

Re: GLIMMIX How to back transform EBLUP in the original scale

Look up the ILINK option to the OUTPUT statement.  Something like:

output out=a1 pred(blup ilink)=predicted;

This should give an eblup for every observation in the dataset.

However, I want to ask if your dataset is sorted by "male".  I assume that it is a numeric id.

Steve Denham

Occasional Contributor
Posts: 18

Re: GLIMMIX How to back transform EBLUP in the original scale

Dear Steve,

First of all, Yes, "male" is an numeric id and it was sorted by this variable.

Second, thanks you for the tips about the "ilink" option, but as mentioned before i just need the  formula... My problem was more about mathematic rather than programming in SAS my wish. It was to back transform EBLUP in a proc IML program. I found an elegant solution, I use a logit link which is fairy similar to probit link but the reverse formula is much easier to calculate.

Cheers,

jb

Solution
‎01-27-2014 09:48 AM
Respected Advisor
Posts: 2,655

Re: GLIMMIX How to back transform EBLUP in the original scale

To get from the probit scale to the probability scale, you could use the CDF function.

eblup_prob_scale=CDF('NORMAL', eblup_probit_value);

Steve Denham

Occasional Contributor
Posts: 18

Re: GLIMMIX How to back transform EBLUP in the original scale

Thanks Steve.

☑ This topic is SOLVED.

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

Discussion stats
  • 4 replies
  • 350 views
  • 0 likes
  • 2 in conversation