Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Help with bootstrapping 95% confidence interval with melogit

    Greetings!
    I have a longitudinal dataset consisting of 10,051 observations nested within 413 subjects. I am using melogit to estimate a multilevel logistic regression model with random intercept and random slopes. If my model looks like this:

    Code:
    melogit dv iv1 iv2||id: iv1 iv2, cov(unst)
    How can I use the bootstrap command to generate a 95% confidence interval for the random effect coefficients [var(iv1), var(iv2), cov(iv1, iv2)]?

    Any suggestions of resources or example code is greatly appreciated.

  • #2
    You can try something like the following (do-file attached). Start at the first -melogit- command. The first part is just to create a fictitious dataset for illustration.

    .ÿ
    .ÿversionÿ16.0

    .ÿ
    .ÿclearÿ*

    .ÿ
    .ÿlogÿcloseÿ_all

    .ÿlogÿusingÿBSMELogit.smcl,ÿreplaceÿnomsgÿname(lo)

    .ÿ
    .ÿsetÿseedÿ`=strreverse("1523162")'

    .ÿquietlyÿsetÿobsÿ420

    .ÿgenerateÿintÿpidÿ=ÿ_n

    .ÿdrawnormÿpid_uÿpr1_uÿpr2_u,ÿdoubleÿcorr(1ÿ-0.25ÿ-0.25ÿ\ÿ-0.25ÿ1ÿ0.25ÿ\ÿ-0.25ÿ0.25ÿ1)

    .ÿ
    .ÿquietlyÿexpandÿ25

    .ÿforvaluesÿiÿ=ÿ1/2ÿ{
    ÿÿ2.ÿÿÿÿÿÿÿÿÿgenerateÿdoubleÿpr`i'ÿ=ÿruniform()ÿ-ÿ0.5
    ÿÿ3.ÿ}

    .ÿ
    .ÿgenerateÿdoubleÿxbÿ=ÿpid_uÿ+ÿpr1_uÿ*ÿpr1ÿ+ÿpr2_uÿ*ÿpr2

    .ÿgenerateÿbyteÿrspÿ=ÿrbinomial(1,ÿinvlogit(xb))

    .ÿ
    .ÿmelogitÿrspÿc.pr?ÿ||ÿpid:ÿpr1ÿpr2,ÿcovariance(unstructured)ÿintmethod(laplace)ÿnolog

    Mixed-effectsÿlogisticÿregressionÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿ10,500
    Groupÿvariable:ÿÿÿÿÿÿÿÿÿÿÿÿÿpidÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿgroupsÿÿ=ÿÿÿÿÿÿÿÿ420

    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿObsÿperÿgroup:
    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿminÿ=ÿÿÿÿÿÿÿÿÿ25
    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿavgÿ=ÿÿÿÿÿÿÿ25.0
    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿmaxÿ=ÿÿÿÿÿÿÿÿÿ25

    Integrationÿmethod:ÿÿÿÿÿlaplace

    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWaldÿchi2(2)ÿÿÿÿÿÿ=ÿÿÿÿÿÿÿ2.15
    Logÿlikelihoodÿ=ÿ-6675.7814ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿProbÿ>ÿchi2ÿÿÿÿÿÿÿ=ÿÿÿÿÿ0.3417
    --------------------------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿÿÿrspÿ|ÿÿÿÿÿÿCoef.ÿÿÿStd.ÿErr.ÿÿÿÿÿÿzÿÿÿÿP>|z|ÿÿÿÿÿ[95%ÿConf.ÿInterval]
    ---------------+----------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿÿÿpr1ÿ|ÿÿÿ.1142303ÿÿÿ.0885244ÿÿÿÿÿ1.29ÿÿÿ0.197ÿÿÿÿ-.0592744ÿÿÿÿÿ.287735
    ÿÿÿÿÿÿÿÿÿÿÿpr2ÿ|ÿÿÿ-.050093ÿÿÿ.0894075ÿÿÿÿ-0.56ÿÿÿ0.575ÿÿÿÿ-.2253285ÿÿÿÿ.1251425
    ÿÿÿÿÿÿÿÿÿ_consÿ|ÿÿÿÿ.047339ÿÿÿ.0537526ÿÿÿÿÿ0.88ÿÿÿ0.378ÿÿÿÿ-.0580142ÿÿÿÿ.1526923
    ---------------+----------------------------------------------------------------
    pidÿÿÿÿÿÿÿÿÿÿÿÿ|
    ÿÿÿÿÿÿÿvar(pr1)|ÿÿÿ.7591283ÿÿÿ.2304987ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.4186583ÿÿÿÿ1.376482
    ÿÿÿÿÿÿÿvar(pr2)|ÿÿÿÿ.786589ÿÿÿ.2385554ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.4341071ÿÿÿÿ1.425276
    ÿÿÿÿÿvar(_cons)|ÿÿÿ1.001684ÿÿÿ.0909043ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.8384615ÿÿÿÿ1.196682
    ---------------+----------------------------------------------------------------
    pidÿÿÿÿÿÿÿÿÿÿÿÿ|
    ÿÿÿcov(pr1,pr2)|ÿÿÿ.2923248ÿÿÿÿÿ.16587ÿÿÿÿÿ1.76ÿÿÿ0.078ÿÿÿÿ-.0327745ÿÿÿÿÿ.617424
    ÿcov(pr1,_cons)|ÿÿ-.2580841ÿÿÿ.1177378ÿÿÿÿ-2.19ÿÿÿ0.028ÿÿÿÿ-.4888459ÿÿÿ-.0273222
    ÿcov(pr2,_cons)|ÿÿ-.3846364ÿÿÿ.1207665ÿÿÿÿ-3.18ÿÿÿ0.001ÿÿÿÿ-.6213344ÿÿÿ-.1479385
    --------------------------------------------------------------------------------
    LRÿtestÿvs.ÿlogisticÿmodel:ÿchi2(6)ÿ=ÿ1197.11ÿÿÿÿÿÿÿÿÿÿÿÿÿProbÿ>ÿchi2ÿ=ÿ0.0000

    Note:ÿLRÿtestÿisÿconservativeÿandÿprovidedÿonlyÿforÿreference.

    .ÿ
    .ÿtempnameÿB

    .ÿmatrixÿdefineÿ`B'ÿ=ÿe(b)

    .ÿrenameÿpidÿaltpid

    .ÿ
    .ÿprogramÿdefineÿbootem,ÿrclass
    ÿÿ1.ÿÿÿÿÿÿÿÿÿversionÿ16.0
    ÿÿ2.ÿÿÿÿÿÿÿÿÿsyntaxÿ[if]ÿ[in],ÿfrom(name)
    ÿÿ3.ÿ
    .ÿÿÿÿÿÿÿÿÿmelogitÿrspÿc.pr?ÿ`if'ÿ`in'ÿ||ÿpid:ÿpr1ÿpr2,ÿ///
    >ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿcovariance(unstructured)ÿintmethod(laplace)ÿiterate(15)ÿfrom(`from')
    ÿÿ4.ÿ
    .ÿÿÿÿÿÿÿÿÿifÿe(converged)ÿ{
    ÿÿ5.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr1Vÿ=ÿ_b[/:var(pr1[pid])]ÿ
    ÿÿ6.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr2Vÿ=ÿ_b[/:var(pr2[pid])]
    ÿÿ7.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpidVÿ=ÿ_b[/:var(_cons[pid])]
    ÿÿ8.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr12Cÿ=ÿ_b[/:cov(pr1[pid],pr2[pid])]
    ÿÿ9.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpid1Cÿ=ÿ_b[/:cov(pr1[pid],_cons[pid])]
    ÿ10.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpid2Cÿ=ÿ_b[/:cov(pr2[pid],_cons[pid])]
    ÿ11.ÿÿÿÿÿÿÿÿÿ}
    ÿ12.ÿÿÿÿÿÿÿÿÿelseÿ{
    ÿ13.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr1Vÿ=ÿ.ÿ
    ÿ14.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr2Vÿ=ÿ.
    ÿ15.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpidVÿ=ÿ.
    ÿ16.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpr12Cÿ=ÿ.
    ÿ17.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpid1Cÿ=ÿ.
    ÿ18.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿreturnÿscalarÿpid2Cÿ=ÿ.
    ÿ19.ÿÿÿÿÿÿÿÿÿ}
    ÿ20.ÿend

    .ÿ
    .ÿtimerÿclearÿ1

    .ÿtimerÿonÿ1

    .ÿbootstrapÿ///
    >ÿÿÿÿÿÿÿÿÿpr1Vÿ=ÿr(pr1V)ÿpr2Vÿ=ÿr(pr2V)ÿpidVÿ=ÿr(pidV)ÿ///
    >ÿÿÿÿÿÿÿÿÿpr12Cÿ=ÿr(pr12C)ÿpid1Cÿ=ÿr(pid1C)ÿpid2Cÿ=ÿr(pid2C),ÿ/*ÿbcaÿ*/ÿ///
    >ÿÿÿÿÿÿÿÿÿcluster(altpid)ÿidcluster(pid)ÿ:ÿbootemÿ,ÿfrom(`B')
    (runningÿbootemÿonÿestimationÿsample)

    Bootstrapÿreplicationsÿ(50)
    ----+---ÿ1ÿ---+---ÿ2ÿ---+---ÿ3ÿ---+---ÿ4ÿ---+---ÿ5ÿ
    ..................................................ÿÿÿÿ50

    BootstrapÿresultsÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿ10,500
    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿReplicationsÿÿÿÿÿÿ=ÿÿÿÿÿÿÿÿÿ50

    ÿÿÿÿÿÿcommand:ÿÿbootem,ÿfrom(__000000)
    ÿÿÿÿÿÿÿÿÿpr1V:ÿÿr(pr1V)
    ÿÿÿÿÿÿÿÿÿpr2V:ÿÿr(pr2V)
    ÿÿÿÿÿÿÿÿÿpidV:ÿÿr(pidV)
    ÿÿÿÿÿÿÿÿpr12C:ÿÿr(pr12C)
    ÿÿÿÿÿÿÿÿpid1C:ÿÿr(pid1C)
    ÿÿÿÿÿÿÿÿpid2C:ÿÿr(pid2C)

    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Replicationsÿbasedÿonÿ420ÿclustersÿinÿaltpid)
    ------------------------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿObservedÿÿÿBootstrapÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNormal-based
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿCoef.ÿÿÿStd.ÿErr.ÿÿÿÿÿÿzÿÿÿÿP>|z|ÿÿÿÿÿ[95%ÿConf.ÿInterval]
    -------------+----------------------------------------------------------------
    ÿÿÿÿÿÿÿÿpr1Vÿ|ÿÿÿ.7591284ÿÿÿ.2109656ÿÿÿÿÿ3.60ÿÿÿ0.000ÿÿÿÿÿ.3456434ÿÿÿÿ1.172613
    ÿÿÿÿÿÿÿÿpr2Vÿ|ÿÿÿ.7865904ÿÿÿ.2166239ÿÿÿÿÿ3.63ÿÿÿ0.000ÿÿÿÿÿ.3620155ÿÿÿÿ1.211165
    ÿÿÿÿÿÿÿÿpidVÿ|ÿÿÿ1.001685ÿÿÿ.0933742ÿÿÿÿ10.73ÿÿÿ0.000ÿÿÿÿÿ.8186745ÿÿÿÿ1.184695
    ÿÿÿÿÿÿÿpr12Cÿ|ÿÿÿ.2923249ÿÿÿ.1542594ÿÿÿÿÿ1.90ÿÿÿ0.058ÿÿÿÿ-.0100181ÿÿÿÿ.5946678
    ÿÿÿÿÿÿÿpid1Cÿ|ÿÿÿ-.258084ÿÿÿÿ.124579ÿÿÿÿ-2.07ÿÿÿ0.038ÿÿÿÿ-.5022544ÿÿÿ-.0139136
    ÿÿÿÿÿÿÿpid2Cÿ|ÿÿ-.3846357ÿÿÿ.1237587ÿÿÿÿ-3.11ÿÿÿ0.002ÿÿÿÿ-.6271984ÿÿÿ-.1420731
    ------------------------------------------------------------------------------

    .ÿtimerÿoffÿ1

    .ÿ
    .ÿestatÿbootstrap,ÿall

    BootstrapÿresultsÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿ10,500
    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿReplicationsÿÿÿÿÿÿ=ÿÿÿÿÿÿÿÿÿ50

    ÿÿÿÿÿÿcommand:ÿÿbootem,ÿfrom(__000000)
    ÿÿÿÿÿÿÿÿÿpr1V:ÿÿr(pr1V)
    ÿÿÿÿÿÿÿÿÿpr2V:ÿÿr(pr2V)
    ÿÿÿÿÿÿÿÿÿpidV:ÿÿr(pidV)
    ÿÿÿÿÿÿÿÿpr12C:ÿÿr(pr12C)
    ÿÿÿÿÿÿÿÿpid1C:ÿÿr(pid1C)
    ÿÿÿÿÿÿÿÿpid2C:ÿÿr(pid2C)

    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(Replicationsÿbasedÿonÿ420ÿclustersÿinÿaltpid)
    ------------------------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿObservedÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBootstrap
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿCoef.ÿÿÿÿÿÿÿBiasÿÿÿÿStd.ÿErr.ÿÿ[95%ÿConf.ÿInterval]
    -------------+----------------------------------------------------------------
    ÿÿÿÿÿÿÿÿpr1Vÿ|ÿÿÿ.75912844ÿÿÿÿ.060996ÿÿÿ.21096561ÿÿÿÿ.3456434ÿÿÿ1.172613ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.4258135ÿÿÿ1.186266ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.2795095ÿÿÿ1.062195ÿÿ(BC)
    ÿÿÿÿÿÿÿÿpr2Vÿ|ÿÿÿ.78659041ÿÿÿ.0674151ÿÿÿ.21662385ÿÿÿÿ.3620155ÿÿÿ1.211165ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.4421455ÿÿÿ1.343962ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.359381ÿÿÿ1.138426ÿÿ(BC)
    ÿÿÿÿÿÿÿÿpidVÿ|ÿÿÿ1.0016847ÿÿÿ.0106248ÿÿÿ.09337424ÿÿÿÿ.8186745ÿÿÿ1.184695ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.8497159ÿÿÿ1.156949ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.8181902ÿÿÿ1.147346ÿÿ(BC)
    ÿÿÿÿÿÿÿpr12Cÿ|ÿÿÿ.29232487ÿÿÿ.0306774ÿÿÿ.15425944ÿÿÿ-.0100181ÿÿÿ.5946678ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.0406788ÿÿÿ.6017071ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.0565835ÿÿÿ.5435736ÿÿ(BC)
    ÿÿÿÿÿÿÿpid1Cÿ|ÿÿÿÿ-.258084ÿÿ-.0147762ÿÿÿ.12457903ÿÿÿ-.5022544ÿÿ-.0139136ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.494052ÿÿ-.0394559ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.4628113ÿÿ-.0311698ÿÿ(BC)
    ÿÿÿÿÿÿÿpid2Cÿ|ÿÿ-.38463573ÿÿÿ.0077709ÿÿÿ.12375873ÿÿÿ-.6271984ÿÿ-.1420731ÿÿÿ(N)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.6086954ÿÿ-.1900962ÿÿÿ(P)
    ÿÿÿÿÿÿÿÿÿÿÿÿÿ|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ-.6744127ÿÿ-.1900962ÿÿ(BC)
    ------------------------------------------------------------------------------
    (N)ÿÿÿÿnormalÿconfidenceÿinterval
    (P)ÿÿÿÿpercentileÿconfidenceÿinterval
    (BC)ÿÿÿbias-correctedÿconfidenceÿinterval

    .ÿ
    .ÿtimerÿlistÿ1
    ÿÿÿ1:ÿÿÿ3592.02ÿ/ÿÿÿÿÿÿÿÿ1ÿ=ÿÿÿÿ3592.0180

    .ÿ
    .ÿlogÿcloseÿlo

    .ÿ
    .ÿexit

    endÿofÿdo-file


    .


    A couple of points:

    1. The bootstrapped confidence bounds look pretty similar to the asymptotic bounds reported by -melogit-. I'm curious as to why you want to spend the time.

    2. I used a single integration point in order to save time. You'll probably want to use the default integration method.

    3. I'm not sure whether using starting values aided any. You might want to try exploring convergence rates without it.

    4. I tried putting the estimates directly in the command as in-line expressions, but -bootstrap- balked; apparently it doesn't like so many square brackets at once. So, I resorted to parking everything into a program, returning more simply named scalars, and had -bootstrap- call that.

    5. According to the command's helpfile, you can use contraints with -melogit-. I typically don't care that much about confidence bounds of variance components and their covariances, but if I did, I would probably be more likely to seek profile-likelihood confidence bounds (in the metric in which they are computed, then transformed afterward) with a homing program like -minbound-, starting from a limited range for each bound that is inspired by the asymptotic bounds.
    Attached Files

    Comment


    • #3
      Immensely helpful. Thank you Joseph.

      To answer your question about why I asked for this: From what I understand, the 95% confidence intervals for variance components are biased in mixed models. And one way to deal with this issue is to compute 95% confidence intervals using bootstrapping. I want to be able to talk about whether the variance and covariance of the random effects are significant. But I did not want to rely upon the 95% CI output from the -melogit- command for fear of the bias I mentioned. Does this make sense? If not, what approach would you suggest?

      Comment


      • #4
        Originally posted by Craig Sewall View Post
        I want to be able to talk about whether the variance and covariance of the random effects are significant. But I did not want to rely upon the 95% CI output from the -melogit- command for fear of the bias I mentioned. Does this make sense? If not, what approach would you suggest?
        I don't recommend using null hypothesis statistical significance testing to talk about whether variances and covariances of the random effects are significant.

        I would talk about their significance in terms of the implication of their magnitude for scientific question at hand; I would eyeball the confidence intervals as indexes of estimation precision.

        Comment

        Working...
        X