[R-sig-ME] Logistic regression with spatial autocorrelation structure

Douglas Bates bates at stat.wisc.edu
Mon Feb 7 20:55:51 CET 2011


On Mon, Feb 7, 2011 at 1:26 PM,  <Dale.W.Steele at gmail.com> wrote:
> Suspect I'm not asking the question well. I'm clear on how to get a point
> estimate for
> the predicted probability in both cases. How much uncertainty
> is inherent in these prediction(s)? Not yet clear to me how to obtain
> something like a 95% confidence
> interval. Best. --Dale

That is considerably more complex and I'm not quite sure how to answer
it in the general case.  In fact, I don't really know how the standard
error of a predicted probability would be calculated even for a
fixed-effects GLM.

> On Feb 7, 2011 1:56pm, Douglas Bates <bates at stat.wisc.edu> wrote:
>> On Mon, Feb 7, 2011 at 10:58 AM,  Dale.W.Steele at gmail.com> wrote:
>>
>> > Dear Prof. Bates - Thanks for your response. How would I calculate a 95%
>>
>> > confidence interval for
>>
>> > the probability of appendicitis in a new patient given a particular set
>> > of
>>
>> > covariates for
>>
>>
>>
>> > 1) patients enrolled by a specific clinician (eg. doc == "18")?
>>
>> > 2) some future clinician?
>>
>>
>>
>> Didn't I answer 2 in my previous message in the part about
>>
>>
>>
>> > fixef(m2)
>>
>> (Intercept)   priorprob  genderMale         wbc
>>
>>  -8.2886183   0.0502540   1.1870539   0.3412998
>>
>> > eta
>> > eta
>>
>>         [,1]
>>
>> [1,] -2.299365
>>
>> > binomial()$linkinv(eta)
>>
>>          [,1]
>>
>> [1,] 0.09117557
>>
>>
>>
>> It is certainly possible to automate the process a bit more with a
>>
>> predict method but, for the time being, I think that should be the way
>>
>> to go about it.
>>
>>
>>
>> If you have a simple random effect for doc, as in model m2, then to
>>
>> get a prediction for a specific physician you add the random effect
>>
>> for, say, doc == "18", to the value of eta before transforming it.
>>
>> You can get the conditional modes of the random effects with the ranef
>>
>> extractor.
>>
>>
>>
>> > Thanks. --Dale
>>
>> >
>>
>> > On Feb 1, 2011 1:08pm, Douglas Bates bates at stat.wisc.edu> wrote:
>>
>> >> On Tue, Feb 1, 2011 at 12:05 PM, Douglas Bates bates at stat.wisc.edu>
>> >> wrote:
>>
>> >>
>>
>> >> > On Mon, Jan 31, 2011 at 11:45 AM, Dale Steele
>> >> > dale.w.steele at gmail.com>
>>
>> >> > wrote:
>>
>> >>
>>
>> >> >> Dear mixed-modeling  experts,
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> I'm interested in modeling the probability of appendicitis in
>> >> >> patients
>>
>> >>
>>
>> >> >> with abdominal pain.
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> The R binary data file 'http://www.ped-em.org/appy.rda' contains
>>
>> >>
>>
>> >> >> the following variables from a pilot study of 138 children with
>>
>> >>
>>
>> >> >> abdominal pain.
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Thank you for providing the data.
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> >> 'dx'        eventual diagnosis:   0=no appendicitis, 1=appendicitis
>>
>> >>
>>
>> >> >> 'gender'       Male/Female
>>
>> >>
>>
>> >> >> 'wbc'       total white blood cell count
>>
>> >>
>>
>> >> >> 'priorprob'    Clinical predicted probability of appendicitis
>>
>> >>
>>
>> >> >> 'doc'       doctor who assigned 'priorprob'
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> After taking a history and performing a physical examination, the ER
>>
>> >> >> doctor
>>
>> >>
>>
>> >> >> was asked to make a vertical mark on a 100 mm horizontal line to
>>
>> >> >> represent
>>
>> >>
>>
>> >> >> her estimate of the (percent) probability that the patient had
>>
>> >> >> appendicitis.
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> My initial thought was to fit a multiple logistic regression model:
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> m1
>>
>> >> >>
>>
>> >>
>>
>> >> >> However, it seems likely that each doctor interpreted the
>> >> >> probability
>>
>> >> >> scale
>>
>> >>
>>
>> >> >> differently.  The 23 doctors evaluated from 1 to 17 patients each.
>> >> >> I'm
>>
>> >>
>>
>> >> >> not primarily interest in predictions by a specific clinician.
>> >> >>  Thus,
>>
>> >>
>>
>> >> >> it seems to make sense to fit a generalized linear mixed model.
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> At this point I get muddled. Have I correctly specified a random
>>
>> >>
>>
>> >> >> intercept model (m2) and a random intercept/random slope model (m3)?
>>
>> >>
>>
>> >> >> Are there other sensible models?
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Yes, you have correctly specified them.  However, if you check the
>>
>> >>
>>
>> >> > output from the fits
>>
>> >>
>>
>> >> >> (m2
>>
>> >> > Generalized linear mixed model fit by the Laplace approximation
>>
>> >>
>>
>> >> > Formula: dx ~ priorprob + gender + wbc + (1 | doc)
>>
>> >>
>>
>> >> >   Data: appy
>>
>> >>
>>
>> >> >   AIC   BIC logLik deviance
>>
>> >>
>>
>> >> >  108.1 122.7 -49.03    98.07
>>
>> >>
>>
>> >> > Random effects:
>>
>> >>
>>
>> >> >  Groups Name        Variance Std.Dev.
>>
>> >>
>>
>> >> >  doc    (Intercept) 0.82922  0.91062
>>
>> >>
>>
>> >> > Number of obs: 138, groups: doc, 23
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Fixed effects:
>>
>> >>
>>
>> >> >            Estimate Std. Error z value Pr(>|z|)
>>
>> >>
>>
>> >> > (Intercept) -8.28862    1.45666  -5.690 1.27e-08
>>
>> >>
>>
>> >> > priorprob    0.05025    0.01291   3.892 9.96e-05
>>
>> >>
>>
>> >> > genderMale   1.18705    0.56752   2.092   0.0365
>>
>> >>
>>
>> >> > wbc          0.34130    0.07090   4.814 1.48e-06
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Correlation of Fixed Effects:
>>
>> >>
>>
>> >> >           (Intr) prrprb gndrMl
>>
>> >>
>>
>> >> > priorprob  -0.775
>>
>> >>
>>
>> >> > genderMale -0.293  0.130
>>
>> >>
>>
>> >> > wbc        -0.790  0.353  0.040
>>
>> >>
>>
>> >> >> (m3
>>
>> >> > Generalized linear mixed model fit by the Laplace approximation
>>
>> >>
>>
>> >> > Formula: dx ~ priorprob + gender + wbc + (priorprob | doc)
>>
>> >>
>>
>> >> >   Data: appy
>>
>> >>
>>
>> >> >   AIC BIC logLik deviance
>>
>> >>
>>
>> >> >  111.5 132 -48.76    97.52
>>
>> >>
>>
>> >> > Random effects:
>>
>> >>
>>
>> >> >  Groups Name        Variance   Std.Dev. Corr
>>
>> >>
>>
>> >> >  doc    (Intercept) 0.02897010 0.170206
>>
>> >>
>>
>> >> >        priorprob   0.00016799 0.012961 1.000
>>
>> >>
>>
>> >> > Number of obs: 138, groups: doc, 23
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Fixed effects:
>>
>> >>
>>
>> >> >            Estimate Std. Error z value Pr(>|z|)
>>
>> >>
>>
>> >> > (Intercept) -8.23977    1.44408  -5.706 1.16e-08
>>
>> >>
>>
>> >> > priorprob    0.04957    0.01328   3.733 0.000189
>>
>> >>
>>
>> >> > genderMale   1.16593    0.57481   2.028 0.042521
>>
>> >>
>>
>> >> > wbc          0.34485    0.07056   4.887 1.02e-06
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Correlation of Fixed Effects:
>>
>> >>
>>
>> >> >           (Intr) prrprb gndrMl
>>
>> >>
>>
>> >> > priorprob  -0.757
>>
>> >>
>>
>> >> > genderMale -0.299  0.141
>>
>> >>
>>
>> >> > wbc        -0.800  0.350  0.030
>>
>> >>
>>
>> >> >> anova(m2, m3)
>>
>> >>
>>
>> >> > Data: appy
>>
>> >>
>>
>> >> > Models:
>>
>> >>
>>
>> >> > m2: dx ~ priorprob + gender + wbc + (1 | doc)
>>
>> >>
>>
>> >> > m3: dx ~ priorprob + gender + wbc + (priorprob | doc)
>>
>> >>
>>
>> >> >   Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
>>
>> >>
>>
>> >> > m2  5 108.07 122.70 -49.034
>>
>> >>
>>
>> >> > m3  7 111.52 132.01 -48.759 0.5501      2     0.7595
>>
>> >>
>>
>> >> >> (m4
>>
>> >> > Generalized linear mixed model fit by the Laplace approximation
>>
>> >>
>>
>> >> > Formula: dx ~ priorprob + wbc + (1 | doc)
>>
>> >>
>>
>> >> >   Data: appy
>>
>> >>
>>
>> >> >   AIC   BIC logLik deviance
>>
>> >>
>>
>> >> >  110.5 122.2 -51.24    102.5
>>
>> >>
>>
>> >> > Random effects:
>>
>> >>
>>
>> >> >  Groups Name        Variance Std.Dev.
>>
>> >>
>>
>> >> >  doc    (Intercept) 0.63458  0.7966
>>
>> >>
>>
>> >> > Number of obs: 138, groups: doc, 23
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Fixed effects:
>>
>> >>
>>
>> >> >            Estimate Std. Error z value Pr(>|z|)
>>
>> >>
>>
>> >> > (Intercept) -7.62797    1.33760  -5.703 1.18e-08
>>
>> >>
>>
>> >> > priorprob    0.04834    0.01229   3.934 8.35e-05
>>
>> >>
>>
>> >> > wbc          0.34395    0.06771   5.080 3.77e-07
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > Correlation of Fixed Effects:
>>
>> >>
>>
>> >> >          (Intr) prrprb
>>
>> >>
>>
>> >> > priorprob -0.786
>>
>> >>
>>
>> >> > wbc       -0.813  0.357
>>
>> >>
>>
>> >> >> anova(m4, m3)
>>
>> >>
>>
>> >> > Data: appy
>>
>> >>
>>
>> >> > Models:
>>
>> >>
>>
>> >> > m4: dx ~ priorprob + wbc + (1 | doc)
>>
>> >>
>>
>> >> > m3: dx ~ priorprob + gender + wbc + (priorprob | doc)
>>
>> >>
>>
>> >> >   Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
>>
>> >>
>>
>> >> > m4  4 110.48 122.19 -51.240
>>
>> >>
>>
>> >> > m3  7 111.52 132.01 -48.759 4.9639      3     0.1745
>>
>> >>
>>
>> >>
>>
>> >>
>>
>> >> Sorry, that test should have been
>>
>> >>
>>
>> >>
>>
>> >>
>>
>> >> > anova(m4, m2)
>>
>> >>
>>
>> >> Data: appy
>>
>> >>
>>
>> >> Models:
>>
>> >>
>>
>> >> m4: dx ~ priorprob + wbc + (1 | doc)
>>
>> >>
>>
>> >> m2: dx ~ priorprob + gender + wbc + (1 | doc)
>>
>> >>
>>
>> >>   Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
>>
>> >>
>>
>> >> m4  4 110.48 122.19 -51.240
>>
>> >>
>>
>> >> m2  5 108.07 122.70 -49.034 4.4138      1    0.03565
>>
>> >>
>>
>> >>
>>
>> >>
>>
>> >> > you will see that the random intercept/random slope model produces a
>>
>> >>
>>
>> >> > degenerate fit (estimated correlation of the within-doctor random
>>
>> >>
>>
>> >> > effects is -1.000), which is not significantly better than the random
>>
>> >>
>>
>> >> > intercept fit.  I would therefore use m2. (Because the fixed-effect
>>
>> >>
>>
>> >> > for gender had a z-value close to 2 I performed the more reliable
>>
>> >>
>>
>> >> > likelihood-ratio test, just to check.)
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> >> library(lme4)
>>
>> >>
>>
>> >> >> m2
>>
>> >> >>            family=binomial, data=appy)
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> m3
>>
>> >> >>            family=binomial, data=appy)
>>
>> >>
>>
>> >> >>
>>
>> >>
>>
>> >> >> My ultimate goal is to estimate the probability of appendicitis
>>
>> >>
>>
>> >> >> (and a prediction interval), given a specific 'gender', 'wbc' and
>>
>> >>
>>
>> >> >> 'priorprob' assigned by a doctor with similar diagnostic ability to
>>
>> >>
>>
>> >> >> those who participated in our pilot study. I'm stuck on how to code
>>
>> >> >> this
>>
>> >>
>>
>> >> >> prediction.
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > The prediction will be based on the fixed-effects only.  Because it
>>
>> >>
>>
>> >> > applies to a doctor not in this study, we assign the random effect
>> >> > for
>>
>> >>
>>
>> >> > that doctor to be zero, which is the expected value in the absence of
>>
>> >>
>>
>> >> > any information on that doctor.
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> > The fixef extractor returns the estimates of the fixed-effects
>>
>> >>
>>
>> >> > parameters.  For a female patient with median prior probability (55%)
>>
>> >>
>>
>> >> > and median white blood cell count (9.45) the estimated linear
>>
>> >>
>>
>> >> > predictor (eta = -2.299) corresponds to a probability of 9.1%
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> >
>>
>> >>
>>
>> >> >> fixef(m2)
>>
>> >>
>>
>> >> > (Intercept)   priorprob  genderMale         wbc
>>
>> >>
>>
>> >> >  -8.2886183   0.0502540   1.1870539   0.3412998
>>
>> >>
>>
>> >> >> eta
>>
>> >> >> eta
>>
>> >>
>>
>> >> >          [,1]
>>
>> >>
>>
>> >> > [1,] -2.299365
>>
>> >>
>>
>> >> >> binomial()$linkinv(eta)
>>
>> >>
>>
>> >> >           [,1]
>>
>> >>
>>
>> >> > [1,] 0.09117557
>>
>> >>
>>
>> >> >
>>
>> >>
>>




More information about the R-sig-mixed-models mailing list