Dear all,
I would like to use the PROC BGLIMM to model a logistic regression with non informative prior.
However I would like firstly to compare PROC BGLIMM with PROC LOGISTIC without any information about the prior.
My concern is that I do not obtain same results.
Is there something I do incorrectly?
proc logistic data=ANcount8(where=(AVISIT="Visit 10" and HiSCR50 ne "")) ;
class TRT(ref='0') FASTRESC(ref='STAGE II') / param=ref;
model HiSCR50(event="Y") = TRT FASTRESC / link=logit;
run;
Estimation of TRT1: -0.6750
proc bglimm data=ANcount8(where=(AVISIT="Visit 10" and HiSCR50 ne "")) seed=1235841 nbi=1000 nmc=100000 thin=20 plots=all;
class TRT(ref='0') FASTRESC(ref='STAGE II')/ param=ref;
model HiSCR50(event="Y") = TRT FASTRESC / dist=binary link=logit ;
run;
Estimation TRT1: -1.0248
Thank you in advance
non informative prior (Jeffreys prior) does not guarantee the Bayesian estimates match the classical approach.
If you can send in the data, maybe we can look into it further.
Thanks,
Jill
Thank you for your feedback.
You can see below my results and attached the data.
For my test, there is no a lot of observations.
Results with logistic classic:
Results with BGLIMM:
What do the interval estimates look like for the two methods? Is there perhaps a large interval, such that the two points you have are fair estimates of the midpoint? In other words, if the interval estimates look like (-100, 100), I would be pretty content, but if they were (-0.7, -0.5) frequentist and (-1.1, -1.0) Bayesian, then I might have some suspicions. Have you tried fitting with a non-full rank parameterization (GLM style), and if that is still giving you fits, tried adding a NOINT option to the MODEL statements?
No guarantees on these suggestions, they are just what I would try. I see @jiltao replied so that opens some doors to getting a good solution.
SteveDenham
I don't think you could get the same/exact result from two different model with two different estimated method(MLE v.s. Bayes) .
But could get the similar result.
data have;
set sashelp.heart(obs=1000);
run;
proc logistic data=have;
class sex bp_status;
model status=sex bp_status/link=logit;
run;
proc genmod data=have;
class sex bp_status/ param=ref;;
model status=sex bp_status/link=logit dist=binomial;
bayes seed=1 coeffprior=UNIFORM;
run;
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
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.