# st: RE: adjust prevalence (solution)

 From "Sayer, Bryan" <[email protected]> To "'Jan Brogger '" <[email protected]>, "'Statalist '" <[email protected]> Subject st: RE: adjust prevalence (solution) Date Wed, 28 Aug 2002 11:24:12 -0400

```Graubard, B. & Korn, E. "Predictive Margins with Survey Data" Biometrics 55,
652-659 describes variance estimates for out of sample predictions.  It
involves the covariance of x-bar and beta-hat, along with the usual
suspects.  You can ignore the survey design aspects, and the rest still
holds.

Bryan Sayer
Statistican, SSS, Inc.

-----Original Message-----
From: Jan Brogger
To: Statalist
Cc: [email protected]; 'Lee Sieswerda'; 'VISINTAINER PAUL'
Sent: 8/28/02 6:02 AM

If you have two populations with different prevalences of an outcome,
but that also have different prevalences of covariates (confounders) -
how do you compare these fairly?

Logistic regression will adjust for the differences, and will give you
an adjusted odds ratio for the differences between populations. But how
this cannot handle continuous variables which is a weakness. The
are comparable, but the population that it adjusts to is a not so simple
meta-population with funny values for covariates [shown in previous
post]. How to adjust to one of the populations ?

Let prevA be the unadjusted prevalence in population A, and prevB be the
population A. Naturally, the prevalence in population A is adjusted to
itself, and hence unchanged. But how to get the prevalence in population
B ? It seems intuitive to me that the right way is simply to use the
to an odds, multiply by the adjusted odds ratio, and convert back to a
prevalence - the adjusted prevalence. This makes sense. If you really
believe that the adjusted odds ratio is the true odds ratio, due to the
removal of confounding by other covarites, then the adjusted prevalence
in population B represent that prevalence you would have observed if
population B had the same distribution of covariates as population A.

This program will calculate adjusted prevalences with the above method.
It was a quick hack. Can anybody help in getting confidence intervals
from this program, too ? It needs documentation (short) but I don't
write SMCL.

*! 1.0.0 Jan Brogger [email protected] 28aug2002
version 7.0
syntax , by(varname) coeff(string)
preserve

qui {
tempname eb matcoeff
tab `by'
if `r(r)'!=2 {
di as err "Error in adjust: by variable `by'
must have only two levels."
}

*First, get the two levels of the -by- variable
summ `by'
local levelA `r(min)'
local levelB `r(max)'

*Convert the target population prevalence to an odds
summ `e(depvar)' if `by'==`levelA' , meanonly
local prevA=`r(mean)'
local oddsA=`prevA'/(1-`prevA')

*Get the unadjusted prevalence of population B
summ `e(depvar)' if `by'==`levelB' , meanonly
local prevB=`r(mean)'

*Get the odds ratio
matrix `eb'=e(b)
mat `matcoeff'=`eb'["y1","`coeff'"]
local coeff2=`matcoeff'[1,1]
local oddsratio=exp(`coeff2')

*Adjust the odds with the odds ratio and convert back
local oddsB=`oddsA'*`oddsratio'

}

*Display this nicely

di "prevalences" _col(20) "Odds ratio" _col(40) "prevalences"
di as res "`levelA'" _col(10) "`levelB'" _col(40) "`levelA'"
_col(50) "`levelB'"
di as text _dup(55) "-"
di as res %4.3f `prevA' _col(10) %4.3f  `prevB' _col(20) %4.3f
`oddsratio' /*

return local oddsratio =  `oddsratio'

restore
end

*Theoretical example
*The adjusted prevalences should be the same
*whereas the crude are not
*This is due to (extreme) confounding by gender

clear
input time sex asthma freq
0 0 0 450
0 0 1 50
0 1 0 300
0 1 1 200
1 0 0 810
1 0 1 90
1 1 0 60
1 1 1 40
end
expand freq
tab sex time , col nofreq
bysort time: tab asthma sex , col nofreq
logistic asthma time sex
*adjust sex , by(time) pr format(%16.15f)
ret li

Yours sincerely,

Jan Brogger, Institute of Medicine, University of Bergen, Norway

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```