[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Creating post-stratification weights for use in Stata & other software

From   [email protected]
To   [email protected]
Subject   Re: st: Creating post-stratification weights for use in Stata & other software
Date   Tue, 22 Sep 2009 17:03:20 -0400

Michael, post-stratification is pretty easy, because it deals with
only one set of control totals; and so the theory is basically that of
stratified sampling, with added variability because sample sizes in
the post-strata are not fixed in advance. The standard sampling book
treatments treat this well.

However most practitioners will balance on more than one set of
control totals at a time ("raking") or will calibrate to population
totals using Generalized Regression (GREG).  For raking, the best
guide I've found is:

Battaglia, M.P., Izrael,D., Hoaglin,D.C., and Frankel, M.R.(2006)
Practical Considerations in Raking Survey Data. Available at:

For some theoretical background, see:

RJA Little and M-M Wu (1991).  Models for Contingency Tables with
Known Margins When Target and Sampled Populations Differ. Journal of
the American Statistical Association, 86:412, 87-95.

What I miss from most post-survey weight adjustments, especially
non-response adjustment by modeling, is an assessment of  variability
added by having to estimate the weights.

On Tue, Sep 22, 2009 at 3:41 PM, Michael I. Lichter
<[email protected]> wrote:
> Steven,
> Do you know of a text or article that has a good, practical discussion of
> poststratification beyond the 2-3 pages it gets (at best) in many texts?
> This would include not only the calculation of weights and variances, but
> also detecting and dealing with problems (cells too small, too much variance
> inflation, etc.). Thanks.
> Michael
> [email protected] wrote:
>> The formula in the archive is not OK for all purposes. The weights
>> computed by it  will not sum to population totals and will not equal
>> the weights produced by Stata.
>> For a simple random sample, the post-stratified weight  for an
>> observation in post-straum h  is : N_h divided by n_h  where N_h is
>> the population total in the stratum and n_h is the sample number in
>> the post-stratum. You should prove the formula from the section on
>> post-stratification in one of your sampling books or  in the Stata
>> manual.  I would certainly not regard my post here as authoritative
>> enough to serve as a publication reference.
>> Note that if  your colleagues treat the post-stratification weights as
>> ordinary pweights, they might not get the same standard errors as
>> Stata does.
>> I'm going to quote Mike Hanson's instructions to his advanced
>> econometrics class again:
>> "Never push a button or type a command you do not fully understand.“
>> (Statalist May 8, 2009)
>>  -Steve
>> On Mon, Sep 21, 2009 at 2:45 PM, Michael I. Lichter
>> <[email protected]> wrote:
>>> Carolina,
>>> I didn't look very closely at the e-mail in the archive, but it seems OK.
>>> It
>>> would be easier, however, to use the undocumented -svygen poststratify-
>>> command in Stata 10 and 11 or the user-written -survwgt- package ("findit
>>> survwgt") (which also does raking and is a bit more flexible if also more
>>> complex).
>>> Note that if you use a sub-package that supports pweights, like the SPSS
>>> complex samples (CS*) routines, you should get the same results as in
>>> Stata
>>> if your tabulations are for the whole sample. For subsamples, results may
>>> differ because Stata svy poststratification will adjust the weights for
>>> the
>>> subsetting in a way that the other package will not.
>>> -----
>>> sysuse auto
>>> gen count = 100 if foreign ==0
>>> replace count = 120 if foreign == 1
>>> svyset, poststrata(foreign) postweight(count)
>>> svy: tab foreign, count
>>> svygen poststratify pswt, poststrata(foreign) postweight(count)
>>> svyset [pw=pswt]
>>> svy: tab foreign, count
>>> -----
>>> Michael
>>> Carolina Herrera wrote:
>>>> Hello everyone,
>>>> I am working with a very simple random sample that we've post-stratified
>>>> using the standard commands in Stata (poststrata postweight fpc). A
>>>> colleague would also like to use the dataset, but he doesn't work in
>>>> Stata
>>>> and wanted a version that could be used in any other statistical package
>>>> (SPSS, SAS, R, etc.).
>>>> After hunting around on the statalist archives I found a post explaining
>>>> how to manually calculate post-stratification weights:
>>>> ( which, I
>>>> think suggested I treat these post-stratification weights like pweights
>>>> and
>>>> that these pweights could then be implemented in Stata (or elsewhere) to
>>>> get
>>>> the same point-estimators and standard errors.
>>>> Is that the correct way to implement simple post-stratification without
>>>> using Stata's post-stratification commands?
>>>> many thanks, Carolina
>>>> Carolina Herrera
>>>> Statistician
>>>> Center for the Health Professions
>>>> UCSF

Steven Samuels
[email protected]
18 Cantine's Island
Saugerties NY 12477

*   For searches and help try:

© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index