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

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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
  • 1796 views
  • 0 likes
  • 2 in conversation