[R] how to use the EV AND condEV from BMA's results?
Spencer Graves
spencer.graves at pdf.com
Thu Aug 10 08:34:34 CEST 2006
<see in line>
zhijie zhang wrote:
> Dear friends,
> In R, the help of "bic.glm" tells the difference between postmean(the
> posterior mean of each coefficient from model averaging) and
> condpostmean(the posterior mean of each coefficient conditional on the
> variable being included in the model), But it's still unclear about the
> results explanations, and the artile of Rnews in 2005 on BMA still don't
> give more detail on it.
> Suppose my results of logistic regression analyzed by bic.glm (BMA) as
> follows:(dataset is birthwt(MASS) and i include the interaction)
>
>
>
> p!=0 EV SD condEV cond SD model 1 model
> 2 model 3 model 4 model 5
>
> Intercept 100 0.1841 1.2204 0.184 1.220 1.017
> 1.175 -0.853 -1.057 0.532
>
> age 17.8 -0.0113 0.0285 -0.063 0.036 .
> . . . -0.071
>
> lwt 50.0 -0.0079 0.0093 -0.016 0.007 -0.017 -
> 0.017 . . .
>
> smokeTRUE 9.5 0.0469 0.1798 0.496 0.345 .
> .
> . . .
>
> ptdTRUE 99.4 1.5161 0.4751 1.526 0.461 1.407
> 1.596 1.732 1.463 1.608
>
> htTRUE 54.4 0.9477 1.0269 1.742 0.744 1.894
> 1.930 . . .
>
> uiTRUE 13.3 0.0976 0.2987 0.731 0.453 .
> . . . .
>
> ftv 12.3
>
>
> .1 -0.0257 0.5117 -0.209 2.438 .
> .
> -0.867 . .
>
> .2+ 0.7470 2.1277 6.081 3.371 .
> . 6.024 . .
>
> age.ftv1 33.7 -0.0136 0.0278 -0.040 0.035 . -
> 0.036 . . .
>
> age.ftv2. 15.9 -0.0340 0.0950 -0.214 0.135 .
> . -0.271 . .
>
> smokeTRUE.uiTRUE 2.4 0.0103 0.1209 0.422 0.652 .
> .
> . . .
>
>
>
>
> nVar 3
> 4
> 3 1 2
> post prob 0.117
> 0.086 0.083 0.061 0.044
>
> 1. how should I write my final logistic model?
SG: The "final logistic model" is actually a weighted average of the
"model 1", "model 2", ..., "model 49", with weights given by the
"postprob" attribute of the model fit object. I know of no simpler form.
> 2. Which parameter estimation should be used, condEV OR EV?
SG: It depends on what you want to do. For a qualitative assessment of
the importance of different variables, you could use either or both
together; if they are substantially different, you know there is
"multicollinearity", i.e., the explanatory variables are highly
correlated.
It would be nice to have predict methods in BMA. Writing one for
'bicreg' should be fairly easy, e.g., using the following:
E(f) = E(over i of E(f|i))
var(f) = var(over i of E(f|i)) + E(over i of var(f|i)).
However, this won't work very well for an object of class 'bic.glm'.
To get predicted probability of success for this, a function like this
could call 'predict.glm' repeatedly, once for each model considered,
transform each answer into "probability of success" for that model, then
average the results with weights given by 'postprob'. There may be
literature on how to get confidence bounds, but I'm not familiar with
it. One possibility might be Monte Carlo: Select a model at random
following "postprob", then compute a random vector of parameter
estimates for that model using estimated mean and covariance matrix,
then convert that either to predicted logits or "probability of success"
at each point desired. Do that, say, 1,000 or 10,000 times. For each
set of predictions, compute "quantile(..., c(.025, .975))".
I haven't tried this, but I believe it should work.
Hope this helps.
Spencer Graves
How should I use
> the two different parameter estimations correctly?
> Thanks for your precious time!
>
>
More information about the R-help
mailing list