BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Eisa
Calcite | Level 5

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

1 ACCEPTED SOLUTION

Accepted Solutions
SteveDenham
Jade | Level 19

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

4 REPLIES 4
SteveDenham
Jade | Level 19

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

Eisa
Calcite | Level 5

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

SteveDenham
Jade | Level 19

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

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

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