Stata Survey Data Reference Manual: Release 13
Stata Survey Data Reference Manual: Release 13
Stata Survey Data Reference Manual: Release 13
MANUAL
RELEASE 13
c 19852013 StataCorp LP
Copyright
All rights reserved
Version 13
Published by Stata Press, 4905 Lakeway Drive, College Station, Texas 77845
Typeset in TEX
ISBN-10: 1-59718-125-0
ISBN-13: 978-1-59718-125-9
This manual is protected by copyright. All rights are reserved. No part of this manual may be reproduced, stored
in a retrieval system, or transcribed, in any form or by any meanselectronic, mechanical, photocopy, recording, or
otherwisewithout the prior written permission of StataCorp LP unless permitted subject to the terms and conditions
of a license granted to you by StataCorp LP to use the software and documentation. No license, express or implied,
by estoppel or otherwise, to any intellectual property rights is granted by this document.
StataCorp provides this manual as is without warranty of any kind, either expressed or implied, including, but
not limited to, the implied warranties of merchantability and fitness for a particular purpose. StataCorp may make
improvements and/or changes in the product(s) and the program(s) described in this manual at any time and without
notice.
The software described in this manual is furnished under a license agreement or nondisclosure agreement. The software
may be copied only in accordance with the terms of the agreement. It is against the law to copy the software onto
DVD, CD, disk, diskette, tape, or any other medium for any purpose other than backup or archival purposes.
c 1979 by Consumers Union of U.S.,
The automobile dataset appearing on the accompanying media is Copyright
Inc., Yonkers, NY 10703-1057 and is reproduced by permission from CONSUMER REPORTS, April 1979.
Stata,
Stata and Stata Press are registered trademarks with the World Intellectual Property Organization of the United Nations.
NetCourseNow is a trademark of StataCorp LP.
Other brand and product names are registered trademarks or trademarks of their respective companies.
For copyright information about the software, type help copyright within Stata.
Contents
intro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction to survey data manual
24
25
27
31
51
52
54
58
59
65
73
81
89
ii
Contents
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
197
201
The first example is a reference to chapter 26, Overview of Stata estimation commands, in the Users
Guide; the second is a reference to the regress entry in the Base Reference Manual; and the third
is a reference to the reshape entry in the Data Management Reference Manual.
All the manuals in the Stata Documentation have a shorthand notation:
[GSM]
[GSU]
[GSW]
[U ]
[R]
[D ]
[G ]
[XT]
[ME]
[MI]
[MV]
[PSS]
[P ]
[SEM]
[SVY]
[ST]
[TS]
[TE]
[I]
[M ]
iii
Title
intro Introduction to survey data manual
Description
Also see
Description
This entry describes this manual and what has changed since Stata 12. See the next entry,
[SVY] survey, for an introduction to Statas survey commands.
survey
svyset
svydescribe
svy estimation
svy postestimation
Stata is continually being updated, and Stata users are continually writing new commands. To
find out about the latest survey data features, type search survey after installing the latest official
updates; see [R] update.
Whats new
For a complete list of all the new features in Stata 13, see [U] 1.3 Whats new.
Also see
[U] 1.3 Whats new
Title
survey Introduction to survey commands
Description
Acknowledgments
References
Also see
Description
The Survey Data Reference Manual is organized alphabetically, making it easy to find an individual
entry if you know the name of a command. This overview organizes and presents the commands
conceptually, that is, according to the similarities in the functions they perform.
Survey design tools
[SVY] svyset
[SVY] svydescribe
Introduction
Statas facilities for survey data analysis are centered around the svy prefix command. After you
identify the survey design characteristics with the svyset command, prefix the estimation commands
in your data analysis with svy:. For example, where you would normally use the regress command
to fit a linear regression model for nonsurvey data, use svy: regress to fit a linear regression model
for your survey data.
Why should you use the svy prefix command when you have survey data? To answer this question,
we need to discuss some of the characteristics of survey design and survey data collection because
these characteristics affect how we must perform our analysis if we want to get it right.
Survey data are characterized by the following:
Sampling weights. In sample surveys, observations are selected through a random process,
but different observations may have different probabilities of selection. Weights are equal to
(or proportional to) the inverse of the probability of being sampled. Various postsampling
adjustments to the weights are sometimes made, as well. A weight of wj for the j th observation
means, roughly speaking, that the j th observation represents wj elements in the population
from which the sample was drawn.
Omitting weights from the analysis results in estimates that may be biased, sometimes seriously
so. Sampling weights also play a role in estimating standard errors.
Clustering. Individuals are not sampled independently in most survey designs. Collections of
individuals (for example, counties, city blocks, or households) are typically sampled as a group,
known as a cluster.
There may also be further subsampling within the clusters. For example, counties may be
sampled, then city blocks within counties, then households within city blocks, and then finally
persons within households. The clusters at the first level of sampling are called primary sampling
units (PSUs) in this example, counties are the PSUs. In the absence of clustering, the PSUs
are defined to be the individuals, or, equivalently, clusters, each of size one.
Cluster sampling typically results in larger sample-to-sample variability than sampling individuals
directly. This increased variability must be accounted for in standard error estimates, hypothesis
testing, and other forms of inference.
Stratification. In surveys, different groups of clusters are often sampled separately. These groups
are called strata. For example, the 254 counties of a state might be divided into two strata, say,
urban counties and rural counties. Then 10 counties might be sampled from the urban stratum,
and 15 from the rural stratum.
Sampling is done independently across strata; the stratum divisions are fixed in advance. Thus
strata are statistically independent and can be analyzed as such. When the individual strata
are more homogeneous than the population as a whole, the homogeneity can be exploited to
produce smaller (and honestly so) estimates of standard errors.
To put it succinctly: using sampling weights is important to get the point estimates right. We must
consider the weighting, clustering, and stratification of the survey design to get the standard errors
right. If our analysis ignores the clustering in our design, we would probably produce standard errors
that are smaller than they should be. Stratification can be used to get smaller standard errors for a
given overall sample size.
For more detailed introductions to complex survey data analysis, see Cochran (1977); Heeringa,
West, and Berglund (2010); Kish (1965); Levy and Lemeshow (2008); Scheaffer et al.; (2012);
Skinner, Holt, and Smith (1989); Stuart (1984); Thompson (2012); and Williams (1978).
In addition to the variables we specified, svyset reports that the default method for estimating
standard errors is Taylor linearization and that svy will report missing values for the standard errors
when it encounters a stratum with one sampling unit (also called singleton strata).
We saved the svyset dataset to highschool.dta. We can now use this new dataset without having
to worry about respecifying the design characteristics.
. clear
. describe
Contains data
obs:
0
vars:
0
size:
0
Sorted by:
. use highschool
. svyset
pweight: sampwgt
VCE: linearized
Single unit: missing
Strata 1: state
SU 1: county
FPC 1: ncounties
Strata 2: <one>
SU 2: school
FPC 2: nschools
After the design characteristics have been svyset, you should also look at [SVY] svydescribe. Use
svydescribe to browse each stage of your survey data; svydescribe reports useful information
on sampling unit counts, missing data, and singleton strata.
mean
max
2
2
2
2
2
0
0
0
0
0
92
112
43
37
96
0
0
0
0
0
34
51
18
14
38
46.0
56.0
21.5
18.5
48.0
58
61
25
23
58
2
2
2
2
2
0
0
0
0
0
115
67
56
78
64
0
0
0
0
0
56
28
23
39
31
57.5
33.5
28.0
39.0
32.0
59
39
33
39
33
100
4071
14
40.7
81
4071
From the output, we gather that there are 50 strata, each stratum contains two PSUs, the PSUs vary
in size, and the total sample size is 4,071 students. We can also see that there are no missing data
in the weight variable.
50
100
Mean
weight
160.2863
Number of obs
Population size
Design df
Linearized
Std. Err.
.7412512
=
=
=
4071
8000000
50
161.7751
In its header, svy reports the number of strata and PSUs from the first stage, the sample size, an
estimate of population size, and the design degrees of freedom. Just like the standard output from
the mean command, the table of estimation results contains the estimated mean and its standard error
as well as a confidence interval.
=
=
weight
Coef.
height
_cons
.7163115
-149.6183
50
100
Linearized
Std. Err.
.0293908
12.57265
Number of obs
Population size
Design df
F(
1,
50)
Prob > F
R-squared
t
24.37
-11.90
P>|t|
0.000
0.000
=
=
=
=
=
=
4071
8000000
50
593.99
0.0000
0.2787
.7753447
-124.3654
In addition to the header elements we saw in the previous example using svy: mean, the command
svy: regress also reports a model F test and estimated R2 . Although many of Statas model-fitting
commands report Z statistics for testing coefficients against zero, svy always reports t statistics and
uses the design degrees of freedom to compute p-values.
The svy prefix can be used with many estimation commands in Stata. Here is the list of estimation
commands that support the svy prefix.
Descriptive statistics
mean
[R]
proportion [R]
ratio
[R]
total
[R]
regression models
[R] biprobit Bivariate probit regression
[R] cloglog Complementary log-log regression
[R] hetprobit Heteroskedastic probit model
[R] logistic Logistic regression, reporting odds ratios
[R] logit Logistic regression, reporting coefficients
[R] probit Probit regression
[R] scobit Skewed logistic regression
Poisson regression
gnbreg
nbreg
poisson
tnbreg
tpoisson
zinb
zip
models
Generalized negative binomial regression in [R] nbreg
[R] nbreg Negative binomial regression
[R] poisson Poisson regression
[R] tnbreg Truncated negative binomial regression
[R] tpoisson Truncated Poisson regression
[R] zinb Zero-inflated negative binomial regression
[R] zip Zero-inflated Poisson regression
The lung cancer information was taken from the 1992 NHEFS interview data. We use the participants
ages for the time scale. Participants who never had lung cancer and were alive for the 1992 interview
were considered censored. Participants who never had lung cancer and died before the 1992 interview
were also considered censored at their age of death.
10
total observations
event time missing (age_lung_cancer>=.)
PROBABLE ERROR
0
0
97
Although stset warns us that it is a probable error to have 5,126 observations with missing event
times, we can verify from the 1992 NHEFS documentation that there were indeed 9,281 participants
with complete information.
For our proportional hazards model, we pulled the risk factor information from the NHANES I and
1992 NHEFS datasets. Smoking status was taken from the 1992 NHEFS interview data, but we filled
in all but 132 missing values by using the general medical history supplement data in NHANES I.
Smoking status is represented by separate indicator variables for former smokers and current smokers;
the base comparison group is nonsmokers. Sex was determined using the 1992 NHEFS vitality data
and is represented by an indicator variable for males. Place-of-residence information was taken from
the medical history questionnaire in NHANES I and is represented by separate indicator variables for
rural and heavily populated (more than 1 million people) urban residences; the base comparison group
is urban residences with populations of fewer than 1 million people.
. svy: stcox former_smoker smoker male urban1 rural
(running stcox on estimation sample)
Survey: Cox regression
Number of strata
=
Number of PSUs
=
_t
Haz. Ratio
former_smoker
smoker
male
urban1
rural
2.788113
7.849483
1.187611
.8035074
1.581674
35
105
Linearized
Std. Err.
.6205102
2.593249
.3445315
.3285144
.5281859
Number of obs
Population size
Design df
F(
5,
66)
Prob > F
t
4.61
6.24
0.59
-0.54
1.37
=
=
=
=
=
9149
151327827
70
14.07
0.0000
P>|t|
0.000
0.000
0.555
0.594
0.174
1.788705
4.061457
.6658757
.3555123
.8125799
4.345923
15.17051
2.118142
1.816039
3.078702
From the above results, we can see that both former and current smokers have a significantly
higher risk for developing lung cancer than do nonsmokers.
11
svy: tabulate can be used to produce one-way and two-way tables with survey data and can
produce survey-adjusted tests of independence for two-way contingency tables; see [SVY] svy: tabulate
oneway and [SVY] svy: tabulate twoway.
10349
117131111
31
Total
White
0.9680
(0.0020)
[0.9638,0.9718]
0.0320
(0.0020)
[0.0282,0.0362]
1.0000
Black
0.9410
(0.0061)
[0.9271,0.9523]
0.0590
(0.0061)
[0.0477,0.0729]
1.0000
Other
0.9797
(0.0076)
[0.9566,0.9906]
0.0203
(0.0076)
[0.0094,0.0434]
1.0000
Total
0.9658
(0.0018)
[0.9619,0.9693]
0.0342
(0.0018)
[0.0307,0.0381]
1.0000
Key:
=
=
=
row proportions
(linearized standard errors of row proportions)
[95% confidence intervals for row proportions]
Pearson:
Uncorrected
Design-based
chi2(2)
F(1.52, 47.26)
=
=
21.3483
15.0056
P = 0.0000
svy: tabulate has many options, such as the format() option, for controlling how the table
looks. See [SVY] svy: tabulate twoway for a discussion of the different design-based and unadjusted
tests of association.
12
All the standard postestimation commands (for example, estimates, lincom, margins, nlcom,
test, testnl) are also available after svy.
50
100
Number of obs
Population size
Design df
=
=
=
4071
8000000
50
Over
Mean
male
female
175.4809
146.204
Linearized
Std. Err.
weight
1.116802
.9004157
173.2377
144.3955
177.7241
148.0125
Here we use the test command to test the hypothesis that the average male is 30 pounds heavier
than the average female; from the results, we cannot reject this hypothesis at the 5% level.
. test [weight]male - [weight]female = 30
Adjusted Wald test
( 1) [weight]male - [weight]female = 30
F( 1,
50) =
0.23
Prob > F =
0.6353
estat has specific subroutines for use after svy; see [SVY] estat.
estat svyset reports the survey design settings used to produce the current estimation results.
estat effects and estat lceffects report a table of design and misspecification effects
for point estimates and linear combinations of point estimates, respectively.
estat size reports a table of sample and subpopulation sizes after svy: mean, svy: proportion, svy: ratio, and svy: total.
estat sd reports subpopulation standard deviations on the basis of the estimation results from
mean and svy: mean.
estat strata reports the number of singleton and certainty strata within each sampling stage.
estat cv reports the coefficient of variation for each coefficient in the current estimation results.
estat gof reports a goodness-of-fit test for binary response models using survey data.
13
Over
Mean
male
female
175.4809
146.204
Linearized
Std. Err.
DEFF
DEFT
2.61016
1.7328
1.61519
1.31603
weight
1.116802
.9004157
Now we use estat lceffects to report the design effects DEFF and DEFT for the difference of
the mean estimates from the previous example.
. estat lceffects [weight]male - [weight]female
( 1) [weight]male - [weight]female = 0
Mean
Coef.
(1)
29.27691
Std. Err.
1.515201
DEFF
DEFT
2.42759
1.55768
The svy brr prefix command produces point and variance estimates by using the BRR method;
see [SVY] svy brr. BRR was first introduced by McCarthy (1966, 1969a, and 1969b) as a method of
variance estimation for designs with two PSUs in every stratum. The BRR variance estimator tends to
give more reasonable variance estimates for this design than the linearized variance estimator, which
can result in large values and undesirably wide confidence intervals.
The svy jackknife prefix command produces point and variance estimates by using the jackknife
replication method; see [SVY] svy jackknife. The jackknife is a data-driven variance estimation
method that can be used with model-fitting procedures for which the linearized variance estimator is
not implemented, even though a linearized variance estimator is theoretically possible to derive (Shao
and Tu 1995).
To protect the privacy of survey participants, public survey datasets may contain replicate-weight
variables instead of variables that identify the PSUs and strata. These replicate-weight variables can be
used with the appropriate replication method for variance estimation instead of the linearized variance
estimator; see [SVY] svyset.
The svy brr and svy jackknife prefix commands can be used with those commands that may
not be fully supported by svy but are compatible with the BRR and the jackknife replication methods.
They can also be used to produce point estimates for expressions of estimation results from a prefixed
command.
The svy bootstrap and svy sdr prefix commands work only with replicate weights. Both assume
that you have obtained these weight variables externally.
14
The svy bootstrap prefix command produces variance estimates that have been adjusted for
bootstrap sampling. Bootstrap sampling of complex survey has become more popular in recent years
and is the variance-estimation method used in the National Population Health Survey conducted by
Statistics Canada; see [SVY] svy bootstrap and [SVY] variance estimation for more details.
The svy sdr prefix command produces variance estimates that implement successive difference
replication (SDR), first introduced by Fay and Train (1995) as a method for annual demographic
supplements to the Current Population Survey. This method is typically applied to systematic samples
where the observed sampling units follow a natural order; see [SVY] svy sdr and [SVY] variance
estimation for more details.
#Units
1
2
3
4
5
(output omitted )
29
30
31
32
31
#Obs
min
mean
max
2
2
2
2
2
380
185
348
460
252
165
67
149
229
105
190.0
92.5
174.0
230.0
126.0
215
118
199
231
147
2
2
2
2
503
365
308
450
215
166
143
211
251.5
182.5
154.0
225.0
288
199
165
239
62
10351
67
167.0
288
Here is a privacy-conscious dataset equivalent to the one above; all the variables and values
remain, except that strata and psu are replaced with BRR replicate-weight variables. The BRR
replicate-weight variables are already svyset, and the default method for variance estimation is
vce(brr).
15
. use http://www.stata-press.com/data/r13/nhanes2brr
. svyset
pweight: finalwgt
VCE: brr
MSE: off
brrweight: brr_1 brr_2 brr_3 brr_4 brr_5 brr_6 brr_7 brr_8 brr_9 brr_10
brr_11 brr_12 brr_13 brr_14 brr_15 brr_16 brr_17 brr_18 brr_19
brr_20 brr_21 brr_22 brr_23 brr_24 brr_25 brr_26 brr_27 brr_28
brr_29 brr_30 brr_31 brr_32
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
Suppose that we were interested in the population ratio of weight to height. Here we use total
to estimate the population totals of weight and height and the svy brr prefix to estimate their ratio
and variance; we use total instead of ratio (which is otherwise preferable here) to show how to
specify an expression when using svy: brr.
. svy brr WtoH = (_b[weight]/_b[height]): total weight height
(running total on estimation sample)
BRR replications (32)
1
2
3
4
5
................................
BRR results
Number of obs
Population size
Replications
Design df
command: total weight height
WtoH: _b[weight]/_b[height]
Coef.
WtoH
.4268116
BRR
Std. Err.
.0008904
t
479.36
=
=
=
=
10351
117157513
32
31
P>|t|
0.000
.4249957
.4286276
16
%9.0g
sex
1=male, 2=female
Here we generate a variable named male so that we can easily identify the male high school
seniors. We specified if !missing(sex); doing so will cause the generated male variable to contain
a missing value at each observation where the sex variable does. This is done on purpose (although it
is not necessary if sex is free of missing values) because missing values should not be misinterpreted
to imply female.
. generate male = sex == 1 if !missing(sex)
Now we specify subpop(male) as an option to the svy prefix in our model fit.
. svy, subpop(male): regress weight height
(running regress on estimation sample)
Survey: Linear regression
Number of strata
=
50
Number of PSUs
=
100
weight
Coef.
height
_cons
.7632911
-168.6532
Linearized
Std. Err.
.0508432
22.5708
Number of obs
Population size
Subpop. no. of obs
Subpop. size
Design df
F(
1,
50)
Prob > F
R-squared
t
15.01
-7.47
=
4071
=
8000000
=
1938
= 3848021.4
=
50
=
225.38
=
0.0000
=
0.2347
P>|t|
0.000
0.000
.6611696
-213.988
.8654127
-123.3184
Although the table of estimation results contains the same columns as earlier, svy reports some
extra subpopulation information in the header. Here the extra header information tells us that 1,938
of the 4,071 sampled high school seniors are male, and the estimated number of male high school
seniors in the population is 3,848,021 (rounded down).
Direct standardization is an estimation method that allows comparing rates that come from different
frequency distributions; see [SVY] direct standardization. In direct standardization, estimated rates
(means, proportions, and ratios) are adjusted according to the frequency distribution of a standard
population. The standard population is partitioned into categories, called standard strata. The stratum
frequencies for the standard population are called standard weights. In the standardizing frequency
distribution, the standard strata are most commonly identified by demographic information such as
age, sex, and ethnicity. The standardized rate estimate is the weighted sum of unadjusted rates, where
the weights are the relative frequencies taken from the standardizing frequency distribution. Direct
standardization is available with svy: mean, svy: proportion, and svy: ratio.
17
Sum
age
bgliving
bgdeaths
hsliving
hsdeaths
0-5
5-10
10-15
15-20
20-25
25-30
30-35
35-40
40-45
45-50
50-55
55-60
60-65
65-70
70-75
75-80
80-85
85-90
90-95
95-100
unknown
10739
9180
8006
7096
6579
5829
5749
4490
4385
2955
2995
1644
1835
1042
879
366
173
71
21
4
50
850
76
38
37
38
51
51
56
47
66
74
67
64
64
68
47
39
22
6
2
1
5738
4591
4148
6168
9440
8675
7513
5091
4930
2883
2711
1275
1469
649
619
233
136
48
10
2
124
463
55
28
36
68
78
64
78
85
66
77
55
61
55
58
51
20
15
4
1
0
74088
1764
66453
1418
We can use svy: ratio to compute the death rates for each district in 1840. Because this
dataset is identified as census data, we will create an FPC variable that will contain a sampling
rate of 100%. This method will result in zero standard errors, which are interpreted to mean no
variabilityappropriate because our point estimates came from the entire population.
18
Ratio
Bethnal
Hanover
.0238095
.0213384
Linearized
Std. Err.
0
0
.
.
The death rates are 2.38% for Bethnal Green and 2.13% for St. Georges Hanover Square. These
observed death rates are not really comparable because they come from two different age distributions.
We can standardize based on the age distribution from Bethnal Green. Here age identifies our standard
strata and bgliving contains the associated population sizes.
. svy: ratio (Bethnal: bgdeaths/bgliving) (Hanover: hsdeaths/hsliving),
> stdize(age) stdweight(bgliving)
(running ratio on estimation sample)
Survey: Ratio estimation
Number of strata =
1
Number of obs
=
21
Number of PSUs
=
21
Population size =
21
N. of std strata =
21
Design df
=
20
Bethnal: bgdeaths/bgliving
Hanover: hsdeaths/hsliving
Ratio
Bethnal
Hanover
.0238095
.0266409
Linearized
Std. Err.
0
0
.
.
The standardized death rate for St. Georges Hanover Square, 2.66%, is larger than the death rate
for Bethnal Green.
Poststratification is a method for adjusting the sampling weights, usually to account for underrepresented groups in the population; see [SVY] poststratification. This method usually results in
decreasing bias because of nonresponse and underrepresented groups in the population. It also tends to
19
result in smaller variance estimates. Poststratification is available for all survey estimation commands
and is specified using svyset; see [SVY] svyset.
Mean
totexp
40.11513
Number of obs
Population size
Design df
Linearized
Std. Err.
1.163498
=
=
=
50
1300
49
42.45327
The mean total expenses is $40.12 with a standard error of $1.16. In the following, we omit the
poststratification information from svyset, resulting in mean total expenses of $39.73 with standard
error $2.22. The difference between the mean estimates is explained by the facts that expenses tend
to be larger for dogs than for cats and that the dogs were slightly underrepresented in the sample
(850/1,300 0.65 for the population; 32/50 = 0.64 for the sample). This reasoning also explains why
the variance estimate from the poststratified mean is smaller than the one that was not poststratified.
20
1
50
Mean
totexp
39.7254
Number of obs
Population size
Design df
Linearized
Std. Err.
2.221747
=
=
=
50
50
49
44.19017
Example 14
The ml command requires a program that computes likelihood values to perform maximum
likelihood. Here is a likelihood evaluator used in Gould, Pitblado, and Poi (2010) to fit linear
regression models using the likelihood from the normal distribution.
program mynormal_lf
version 13
args lnf mu lnsigma
quietly replace lnf = ln(normalden($ML_y1,mu,exp(lnsigma)))
end
Back in example 5, we fit a linear regression model using the high school survey data. Here we
use ml and mynormal lf to fit the same survey regression model.
21
. use http://www.stata-press.com/data/r13/highschool
. ml model lf mynormal_lf (mu: weight = height) /lnsigma, svy
. ml max
initial:
feasible:
rescale:
rescale eq:
Iteration 0:
Iteration 1:
Iteration 2:
Iteration 3:
Iteration 4:
Iteration 5:
Iteration 6:
Iteration 7:
Iteration 8:
Iteration 9:
Iteration 10:
Iteration 11:
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
Number of strata
Number of PSUs
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
=
=
=
-<inf>
= -7.301e+08
= -51944380
= -47565331
= -47565331
= -41221759
= -41218957
= -41170544
= -41145411
= -41123161
= -41103001
= -41083551
= -38467683
= -38329015
= -38328739
= -38328739
50
100
Linearized
Std. Err.
(not
(not
(not
(not
(not
(not
concave)
concave)
concave)
concave)
concave)
concave)
(backed up)
Number of obs
Population size
Design df
F(
1,
50)
Prob > F
P>|t|
=
=
=
=
=
4071
8000000
50
593.99
0.0000
weight
Coef.
height
_cons
.7163115
-149.6183
.0293908
12.57265
24.37
-11.90
0.000
0.000
.6572784
-174.8712
.7753447
-124.3654
lnsigma
_cons
3.372154
.0180777
186.54
0.000
3.335844
3.408464
mu
svymarkout is a programmers command that resets the values in a variable that identifies the
estimation sample, dropping observations for which any of the survey characteristic variables contain
missing values. This tool is most helpful for developing estimation commands that use ml to fit
models using maximum pseudolikelihood directly, instead of relying on the svy prefix.
Video example
Basic introduction to the analysis of complex survey data in Stata
Acknowledgments
Many of the svy commands were developed in collaboration with John L. Eltinge of the Bureau
of Labor Statistics. We thank him for his invaluable assistance.
We thank Wayne Johnson of the National Center for Health Statistics for providing the NHANES II
dataset.
22
We thank Nicholas Winter of the Politics Department at the University of Virginia for his diligent
efforts to keep Stata up to date with mainstream variance estimation methods for survey data, as well
as for providing versions of svy brr and svy jackknife.
William Gemmell Cochran (19091980) was born in Rutherglen, Scotland, and educated at the
Universities of Glasgow and Cambridge. He accepted a post at Rothamsted before finishing his
doctorate. Cochran emigrated to the United States in 1939 and worked at Iowa State, North
Carolina State, Johns Hopkins, and Harvard. He made many major contributions across several
fields of statistics, including experimental design, the analysis of counted data, sample surveys,
and observational studies, and was author or coauthor (with Gertrude M. Cox and George W.
Snedecor) of various widely used texts.
Leslie Kish (19102000) was born in Poprad, Hungary, and entered the United States with his
family in 1926. He worked as a lab assistant at the Rockefeller Institute for Medical Research and
studied at the College of the City of New York, fighting in the Spanish Civil War before receiving
his first degree in mathematics. Kish worked for the Bureau of the Census, the Department of
Agriculture, the Army Air Corps, and the University of Michigan. He carried out pioneering
work in the theory and practice of survey sampling, including design effects, BRR, response
errors, rolling samples and censuses, controlled selection, multipurpose designs, and small-area
estimation.
References
Cochran, W. G. 1977. Sampling Techniques. 3rd ed. New York: Wiley.
Cox, C. S., M. E. Mussolino, S. T. Rothwell, M. A. Lane, C. D. Golden, J. H. Madans, and J. J. Feldman. 1997.
Plan and operation of the NHANES I Epidemiologic Followup Study, 1992. In Vital and Health Statistics, series 1,
no. 35. Hyattsville, MD: National Center for Health Statistics.
Engel, A., R. S. Murphy, K. Maurer, and E. Collins. 1978. Plan and operation of the HANES I augmentation survey
of adults 2574 years: United States 197475. In Vital and Health Statistics, series 1, no. 14. Hyattsville, MD:
National Center for Health Statistics.
Fay, R. E., and G. F. Train. 1995. Aspects of survey and model-based postcensal estimation of income and poverty
characteristics for states and counties. In Proceedings of the Government Statistics Section, 154159. American
Statistical Association.
Gould, W. W., J. S. Pitblado, and B. P. Poi. 2010. Maximum Likelihood Estimation with Stata. 4th ed. College
Station, TX: Stata Press.
Heeringa, S. G., B. T. West, and P. A. Berglund. 2010. Applied Survey Data Analysis. Boca Raton, FL: Chapman
& Hall/CRC.
Kish, L. 1965. Survey Sampling. New York: Wiley.
Korn, E. L., and B. I. Graubard. 1999. Analysis of Health Surveys. New York: Wiley.
Kreuter, F., and R. Valliant. 2007. A survey on survey statistics: What is done and can be done in Stata. Stata Journal
7: 121.
Levy, P. S., and S. A. Lemeshow. 2008. Sampling of Populations: Methods and Applications. 4th ed. Hoboken, NJ:
Wiley.
McCarthy, P. J. 1966. Replication: An approach to the analysis of data from complex surveys. In Vital and Health
Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969a. Pseudoreplication: Further evaluation and application of the balanced half-sample technique. In Vital
and Health Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969b. Pseudo-replication: Half-samples. Revue de lInstitut International de Statistique 37: 239264.
23
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Miller, H. W. 1973. Plan and operation of the Health and Nutrition Examination Survey: United States 19711973.
Hyattsville, MD: National Center for Health Statistics.
Scheaffer, R. L., W. Mendenhall, III, R. L. Ott, and K. G. Gerow. 2012. Elementary Survey Sampling. 7th ed.
Boston: Brooks/Cole.
Shao, J., and D. Tu. 1995. The Jackknife and Bootstrap. New York: Springer.
Skinner, C. J., D. Holt, and T. M. F. Smith, ed. 1989. Analysis of Complex Surveys. New York: Wiley.
Stuart, A. 1984. The Ideas of Sampling. 3rd ed. New York: Griffin.
Thompson, S. K. 2012. Sampling. 3rd ed. Hoboken, NJ: Wiley.
Williams, B. 1978. A Sampler on Sampling. New York: Wiley.
Wolter, K. M. 2007. Introduction to Variance Estimation. 2nd ed. New York: Springer.
Also see
[SVY] svyset Declare survey design for dataset
[SVY] svy The survey prefix command
[SVY] svy estimation Estimation commands for survey data
[P] robust Robust variance estimates
Title
bootstrap options More options for bootstrap variance estimation
Syntax
Description
Options
Also see
Syntax
bootstrap options
Description
SE
mse
nodots
bsn(#)
saving( filename, . . .)
verbose
noisily
trace
title(text)
nodrop
reject(exp)
saving, verbose, noisily, trace, title(), nodrop, and reject() are not shown in the dialog boxes for estimation
commands.
Description
svy accepts more options when performing bootstrap variance estimation. See [SVY] svy bootstrap
for a complete discussion.
Options
SE
mse specifies that svy compute the variance by using deviations of the replicates from the observed
value of the statistics based on the entire dataset. By default, svy computes the variance by using
deviations of the replicates from their mean.
nodots suppresses display of the replication dots. By default, one dot character is printed for each
successful replication. A red x is displayed if command returns with an error, and e is displayed
if at least one of the values in the exp list is missing.
bsn(#) specifies that # bootstrap replicate-weight variables were used to generate each bootstrap
mean-weight variable specified in the bsrweight() option of svyset. The bsn() option of
bootstrap overrides the bsn() option of svyset; see [SVY] svyset.
saving(), verbose, noisily, trace, title(), nodrop, reject(); see [SVY] svy bootstrap.
Also see
[SVY] svy The survey prefix command
[SVY] svy bootstrap Bootstrap for survey data
24
Title
brr options More options for BRR variance estimation
Syntax
Description
Options
Also see
Syntax
brr options
Description
SE
mse
nodots
hadamard(matrix)
fay(#)
saving( filename, . . .)
verbose
noisily
trace
title(text)
nodrop
reject(exp)
saving(), verbose, noisily, trace, title(), nodrop, and reject() are not shown in the dialog boxes for
estimation commands.
Description
svy accepts more options when performing BRR variance estimation. See [SVY] svy brr for a
complete discussion.
Options
SE
mse specifies that svy compute the variance by using deviations of the replicates from the observed
value of the statistics based on the entire dataset. By default, svy computes the variance by using
deviations of the replicates from their mean.
nodots suppresses display of the replication dots. By default, one dot character is printed for each
successful replication. A red x is displayed if command returns with an error, and e is displayed
if at least one of the values in the exp list is missing.
hadamard(matrix) specifies the Hadamard matrix to be used to determine which PSUs are chosen
for each replicate.
fay(#) specifies Fays adjustment. This option overrides the fay(#) option of svyset; see [SVY] svyset.
saving(), verbose, noisily, trace, title(), nodrop, reject(); see [SVY] svy brr.
25
Also see
[SVY] svy The survey prefix command
[SVY] svy brr Balanced repeated replication for survey data
Title
direct standardization Direct standardization of means, proportions, and ratios
Description
References
Description
Direct standardization is an estimation method that allows comparing rates that come from
different frequency distributions. The mean, proportion, and ratio commands can estimate means,
proportions, and ratios by using direct standardization.
See [SVY] poststratification for a similar estimation method given population sizes for strata not
used in the sampling design.
27
28
bgliving
bgdeaths
hsliving
hsdeaths
0-5
5-10
10-15
15-20
20-25
25-30
30-35
35-40
40-45
45-50
50-55
55-60
60-65
65-70
70-75
75-80
80-85
85-90
90-95
95-100
unknown
10739
9180
8006
7096
6579
5829
5749
4490
4385
2955
2995
1644
1835
1042
879
366
173
71
21
4
50
850
76
38
37
38
51
51
56
47
66
74
67
64
64
68
47
39
22
6
2
1
5738
4591
4148
6168
9440
8675
7513
5091
4930
2883
2711
1275
1469
649
619
233
136
48
10
2
124
463
55
28
36
68
78
64
78
85
66
77
55
61
55
58
51
20
15
4
1
0
74088
1764
66453
1418
Sum
We can use svy: ratio to compute the death rates for each district in 1840. Because this
dataset is identified as census data, we will create an FPC variable that will contain a sampling
rate of 100%. This method will result in zero standard errors, which are interpreted to mean no
variabilityappropriate because our point estimates came from the entire population.
. gen fpc = 1
. svyset, fpc(fpc)
pweight: <none>
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: fpc
. svy: ratio (Bethnal: bgdeaths/bgliving) (Hanover: hsdeaths/hsliving)
(running ratio on estimation sample)
Survey: Ratio estimation
Number of strata =
1
Number of obs
=
21
Number of PSUs
=
21
Population size =
21
Design df
=
20
Bethnal: bgdeaths/bgliving
Hanover: hsdeaths/hsliving
Ratio
Bethnal
Hanover
.0238095
.0213384
Linearized
Std. Err.
0
0
.
.
29
The death rates are 2.38% for Bethnal Green and 2.13% for St. Georges Hanover Square. These
observed death rates are not really comparable because they come from two different age distributions.
We can standardize based on the age distribution from Bethnal Green. Here age identifies our standard
strata and bgliving contains the associated population sizes.
. svy: ratio (Bethnal: bgdeaths/bgliving) (Hanover: hsdeaths/hsliving),
> stdize(age) stdweight(bgliving)
(running ratio on estimation sample)
Survey: Ratio estimation
Number of strata =
1
Number of obs
=
21
Number of PSUs
=
21
Population size =
21
N. of std strata =
21
Design df
=
20
Bethnal: bgdeaths/bgliving
Hanover: hsdeaths/hsliving
Ratio
Bethnal
Hanover
.0238095
.0266409
Linearized
Std. Err.
0
0
.
.
The standardized death rate for St. Georges Hanover Square, 2.66%, is larger than the death rate
for Bethnal Green.
For this example, we could have used dstdize to compute the death rates; however, dstdize will
not compute the correct standard errors for survey data. Furthermore, dstdize is not an estimation
command, so test and the other postestimation commands are not available.
Technical note
The values in the variable supplied to the stdweight() option are normalized so that (1) is true;
see Methods and formulas. Thus the stdweight() variable can contain either population sizes or
population proportions for the associated standard strata.
30
Also let LD be the number of standard strata, and let g be the proportion of the population that
belongs to standard stratum g .
LD
X
g = 1
(1)
g=1
In subpopulation estimation, g is set to zero if none of the individuals in standard stratum g are in
the subpopulation. Then the standard stratum proportions are renormalized.
Let yj and xj be the items of interest and wj be the sampling weight for the j th sampled individual.
The estimator for the standardized ratio of R = Y /X is
bD =
R
LD
X
g=1
where
Ybg =
m
X
Ybg
bg
X
IDg (j) wj yj
j=1
bg similarly defined.
with X
For replication-based variance estimation, replicates of the standardized values are used in the
variance formulas.
The score variable for the linearized variance estimator of the standardized ratio is
bD ) =
zj (R
LD
X
g IDg (j)
g=1
bg yj Ybg xj
X
b2
X
g
This score variable was derived using the method described in [SVY] variance estimation and is a
direct result of the methods described in Deville (1999), Demnati and Rao (2004), and Shah (2004).
For the mean and proportion commands, the mean estimator is a ratio estimator with the
denominator variable equal to one (xj = 1) and the proportion estimator is the mean estimator with
an indicator variable in the numerator (yj {0, 1}).
References
Demnati, A., and J. N. K. Rao. 2004. Linearization variance estimators for survey data. Survey Methodology 30:
1726.
Deville, J.-C. 1999. Variance estimation for complex statistics and estimators: Linearization and residual techniques.
Survey Methodology 25: 193203.
Korn, E. L., and B. I. Graubard. 1999. Analysis of Health Surveys. New York: Wiley.
Shah, B. V. 2004. Comment [on Demnati and Rao (2004)]. Survey Methodology 30: 29.
Also see
[SVY] svy The survey prefix command
[SVY] svyset Declare survey design for dataset
[SVY] poststratification Poststratification for survey data
[SVY] survey Introduction to survey commands
Title
estat Postestimation statistics for survey data
Syntax
Options for estat effects
Options for estat sd
Options for estat vce
Methods and formulas
Menu
Options for estat lceffects
Options for estat cv
Remarks and examples
References
Description
Options for estat size
Options for estat gof
Stored results
Also see
Syntax
Survey design characteristics
estat svyset
Design and misspecification effects for point estimates
estat effects , estat effects options
Design and misspecification effects for linear combinations of point estimates
estat lceffects exp , estat lceffects options
Subpopulation sizes
estat size , estat size options
Subpopulation standard-deviation estimates
estat sd , estat sd options
Singleton and certainty strata
estat strata
Coefficient of variation for survey data
estat cv , estat cv options
Goodness-of-fit test for binary response models using survey data
estat gof if
in
, estat gof options
Display covariance matrix estimates
estat vce , estat vce options
31
32
Description
deff
deft
srssubpop
meff
meft
display options
Description
deff
deft
srssubpop
meff
meft
report
report
report
report
report
Description
obs
size
estat sd options
Description
variance
srssubpop
estat cv options
Description
nolegend
display options
Description
group(#)
total
all
Description
covariance
correlation
equation(spec)
block
diag
format(% fmt)
nolines
display options
33
Menu
Statistics
>
>
Description
estat svyset reports the survey design characteristics associated with the current estimation
results.
estat effects displays a table of design and misspecification effects for each estimated parameter.
estat lceffects displays a table of design and misspecification effects for a user-specified linear
combination of the parameter estimates.
estat size displays a table of sample and subpopulation sizes for each estimated subpopulation
mean, proportion, ratio, or total. This command is available only after svy: mean, svy: proportion,
svy: ratio, and svy: total; see [R] mean, [R] proportion, [R] ratio, and [R] total.
estat sd reports subpopulation standard deviations based on the estimation results from mean
and svy: mean; see [R] mean. estat sd is not appropriate with estimation results that used direct
standardization or poststratification.
estat strata displays a table of the number of singleton and certainty strata within each
sampling stage. The variance scaling factors are also displayed for estimation results where
singleunit(scaled) was svyset.
estat cv reports the coefficient of variation (CV) for each coefficient in the current estimation
results. The CV for coefficient b is
CV(b)
SE(b)
|b|
100%
estat gof reports a goodness-of-fit test for binary response models using survey data. This
command is available only after svy: logistic, svy: logit, and svy: probit; see [R] logistic,
[R] logit, and [R] probit.
estat vce displays the covariance or correlation matrix of the parameter estimates of the previous
model. See [R] estat vce for examples.
34
35
36
31
62
Mean
tcresult
tgresult
211.3975
138.576
Number of obs
Population size
Design df
Linearized
Std. Err.
1.252274
2.071934
=
=
=
5050
56820832
31
213.9515
142.8018
We can use estat svyset to remind us of the survey design characteristics that were used to
produce these results.
. estat svyset
pweight:
VCE:
Single unit:
Strata 1:
SU 1:
FPC 1:
finalwgt
linearized
missing
strata
psu
<zero>
estat effects reports a table of design and misspecification effects for each mean we estimated.
. estat effects, deff deft meff meft
Mean
tcresult
tgresult
211.3975
138.576
Linearized
Std. Err.
1.252274
2.071934
DEFF
DEFT
MEFF
MEFT
3.57141
2.35697
1.88982
1.53524
3.46105
2.32821
1.86039
1.52585
estat size reports a table that contains sample and population sizes.
. estat size
Mean
tcresult
tgresult
211.3975
138.576
Linearized
Std. Err.
Obs
Size
1.252274
2.071934
5050
5050
56820832
56820832
37
Over
Mean
tcresult
Male
Female
210.7937
215.2188
Linearized
Std. Err.
Obs
Size
1.312967
1.193853
4915
5436
56159480
60998033
Mean
Std. Dev.
tcresult
Male
Female
210.7937
215.2188
45.79065
50.72563
Over
Mean
tcresult
Male
Female
210.7937
215.2188
Linearized
Std. Err.
CV (%)
1.312967
1.193853
.622868
.554716
38
Over
Mean
Male
Female
104.7969
97.16247
Linearized
Std. Err.
DEFF
DEFT
1.36097
2.01403
1.16661
1.41916
iron
.557267
.6743344
Thus the design-based variance estimate is about 36% larger than the estimate from the hypothetical
SRS design including the full population. We can get DEFF and DEFT for the alternate SRS design by
using the srssubpop option.
. estat effects, srssubpop
Male: sex = Male
Female: sex = Female
Over
Mean
Male
Female
104.7969
97.16247
Linearized
Std. Err.
DEFF
DEFT
1.348
2.03132
1.16104
1.42524
iron
.557267
.6743344
Because the NHANES II did not stratify on sex, we think it problematic to consider design effects
with respect to SRS of the female (or male) subpopulation. Consequently, we would prefer to use the
default here, although the values of DEFF differ little between the two in this case.
For other examples (generally involving heavy oversampling or undersampling of specified subpopulations), the differences in DEFF for the two schemes can be much more dramatic.
Consider the NMIHS data (Gonzalez, Krauss, and Scott 1992), and compute the mean of birthwgt
over race:
. use http://www.stata-press.com/data/r13/nmihs
. svy: mean birthwgt, over(race)
(output omitted )
. estat effects
nonblack: race = nonblack
black: race = black
Over
Mean
birthwgt
nonblack
black
3402.32
3127.834
Linearized
Std. Err.
7.609532
6.529814
DEFF
DEFT
1.44376
.172041
1.20157
.414778
39
Over
Mean
birthwgt
nonblack
black
3402.32
3127.834
Linearized
Std. Err.
7.609532
6.529814
DEFF
DEFT
.826842
.528963
.909308
.727298
Because the NMIHS survey was stratified on race, marital status, age, and birthweight, we believe it
reasonable to consider design effects computed with respect to SRS within an individual race group.
Consequently, we would recommend here the alternative hypothetical design for computing design
effects; that is, we would use the srssubpop option.
= Vb /Vbmsp
MEFT = MEFF
MEFF
where Vb is the appropriate design-based estimate of variance and Vbmsp is the variance estimate
computed with a misspecified designignoring the sampling weights, stratification, and clustering.
Here we request that the misspecification effects be displayed for the estimation of mean zinc
levels from our NHANES II data.
40
Over
Mean
Male
Female
90.74543
83.8635
Linearized
Std. Err.
MEFF
MEFT
6.28254
6.32648
2.5065
2.51525
zinc
.5850741
.4689532
If we run ci without weights, we get the standard errors that are (Vbmsp )1/2 .
. sort sex
. ci zinc if sex == "Male":sex
Variable
Obs
Mean
zinc
4375
89.53143
. display [zinc]_se[Male]/r(se)
2.5064994
. display ([zinc]_se[Male]/r(se))^2
6.2825393
. ci zinc if sex == "Female":sex
Obs
Mean
Variable
zinc
4827
83.76652
. display [zinc]_se[Female]/r(se)
2.515249
. display ([zinc]_se[Female]/r(se))^2
6.3264774
Std. Err.
.2334228
Std. Err.
.186444
89.98906
84.13204
Over
Mean
tcresult
Male
Female
210.7937
215.2188
Linearized
Std. Err.
1.312967
1.193853
41
10351
117157513
31
208.1159
212.784
213.4715
217.6537
We can use estat lceffects to report the standard error, design effects, and misspecification effects
of the difference between the above means.
. estat lceffects [tcresult]Male - [tcresult]Female, deff deft meff meft
( 1) [tcresult]Male - [tcresult]Female = 0
Mean
Coef.
(1)
-4.425109
Std. Err.
1.086786
DEFF
DEFT
MEFF
MEFT
1.31241
1.1456
1.27473
1.12904
Nh h
nh = n PL
i=1 Ni i
(1)
We can use estat sd with our current survey data to produce a table of subpopulation standarddeviation estimates. Then we could plug these estimates into (1) to improve our survey design for
the next time we sample from our population.
Here is an example using birthweight from the NMIHS data. First, we need estimation results from
svy: mean over the strata.
. use http://www.stata-press.com/data/r13/nmihs
. svyset [pw=finwgt], strata(stratan)
pweight: finwgt
VCE: linearized
Single unit: missing
Strata 1: stratan
SU 1: <observations>
FPC 1: <zero>
. svy: mean birthwgt, over(stratan)
(output omitted )
42
Next we will use estat size to report the table of stratum sizes. We will also generate matrix
p obs to contain the observed percent allocations for each stratum. In the matrix expression, r( N)
is a row vector of stratum sample sizes and e(N) contains the total sample size. r( N subp) is a
row vector of the estimated population stratum sizes.
. estat size
1:
2:
3:
4:
5:
6:
Over
stratan
stratan
stratan
stratan
stratan
stratan
=
=
=
=
=
=
1
2
3
4
5
6
Mean
Linearized
Std. Err.
Obs
Size
19.00149
9.162736
7.38429
12.32294
9.864682
8.057648
841
803
3578
710
714
3300
18402.98161
67650.95932
579104.6188
29814.93215
153379.07445
3047209.10519
birthwgt
1
2
3
4
5
6
1049.434
2189.561
3303.492
1036.626
2211.217
3485.42
Now we call estat sd to report the stratum standard-deviation estimates and generate matrix
p neyman to contain the percent allocations according to (1). In the matrix expression, r(sd) is a
vector of the stratum standard deviations.
. estat sd
1:
2:
3:
4:
5:
6:
Over
stratan
stratan
stratan
stratan
stratan
stratan
=
=
=
=
=
=
1
2
3
4
5
6
Mean
Std. Dev.
1049.434
2189.561
3303.492
1036.626
2211.217
3485.42
2305.931
555.7971
687.3575
999.0867
349.8068
300.6945
birthwgt
1
2
3
4
5
6
birthwgt:
5
3.6
43
birthwgt:
6
62.0
We can see that strata 3 and 6 each contain about one-third of the observed data, with the rest of
the observations spread out roughly equally to the remaining strata. However, plugging our sample
estimates into (1) indicates that stratum 6 should get 62% of the sampling units, stratum 3 should
get about 27%, and the remaining strata should get a roughly equal distribution of sampling units.
Stage
Singleton
strata
Certainty
strata
Total
strata
1
2
3
4
5
0
1
0
2
204
1
0
3
0
311
4
10
29
110
865
estat strata also reports the scale factor used when the singleunit(scaled) option is
svyset. Of the 865 strata in the last stage, 204 are singleton strata and 311 are certainty strata. Thus
the scaling factor for the last stage is
865 311
1.58
865 311 204
. svyset, singleunit(scaled) noclear
(output omitted )
. svy: total y
(output omitted )
44
Stage
Singleton
strata
Certainty
strata
Total
strata
Scale
factor
1
2
3
4
5
0
1
0
2
204
1
0
3
0
311
4
10
29
110
865
1
1.11
1
1.02
1.58
The singleunit(scaled) option of svyset is one of three methods in which Statas svy commands
can automatically handle singleton strata when performing variance estimation; see [SVY] variance
estimation for a brief discussion of these methods.
finalwgt
linearized
missing
strata
psu
<zero>
=
=
31
62
highbp
Odds Ratio
height
weight
age
female
_cons
.9657022
1.053023
1.050059
.6272129
.716868
Linearized
Std. Err.
.0051511
.0026902
.0019761
.0368195
.6106878
Number of obs
Population size
Design df
F(
4,
28)
Prob > F
t
-6.54
20.22
25.96
-7.95
-0.39
5.32
0.0006
10351
117157513
31
368.33
0.0000
P>|t|
0.000
0.000
0.000
0.000
0.699
.9552534
1.047551
1.046037
.5564402
.1261491
We can use estat gof to perform a goodness-of-fit test for this model.
. estat gof
=
=
=
=
=
.9762654
1.058524
1.054097
.706987
4.073749
45
The F statistic is significant at the 5% level, indicating that the model is not a good fit for these data.
Stored results
estat svyset stores the following in r():
Scalars
r(stages)
Macros
r(wtype)
r(wexp)
r(wvar)
r(su#)
r(strata#)
r(fpc#)
r(bsrweight)
r(bsn)
r(brrweight)
r(fay)
r(jkrweight)
r(sdrweight)
r(sdrfpc)
r(vce)
r(dof)
r(mse)
r(poststrata)
r(postweight)
r(settings)
r(singleunit)
vector
vector
vector
vector
vector
vector
of
of
of
of
of
of
DEFF estimates
DEFT estimates
DEFF estimates for srssubpop
DEFT estimates for srssubpop
MEFF estimates
MEFT estimates
point estimate
estimate of standard error
degrees of freedom
DEFF estimate
DEFT estimate
DEFF estimate for srssubpop
DEFT estimate for srssubpop
MEFF estimate
MEFT estimate
46
srssubpop, if specified
vector of subpopulation mean estimates
vector of subpopulation standard-deviation estimates
vector of subpopulation variance estimates
estimates
standard errors of the estimates
coefficients of variation of the estimates
Design effects
estat effects produces two estimators of design effect, DEFF and DEFT.
DEFF is estimated as described in Kish (1965) as
DEFF
b
Vb ()
Vbsrswor (esrs )
47
(1)
c. The factor (1 f ) is a finite population correction. If the user sets an FPC for
where Yb = Yb /M
c is used; otherwise, f = 0.
the first stage, f = m/M
DEFT is estimated as described in Kish (1987, 41) as
s
DEFT
b
Vb ()
Vbsrswr (esrs )
where Vbsrswr (esrs ) is an estimate of the variance for an estimator, esrs , obtained from a similar survey
conducted using SRS with replacement (wr). Vbsrswr (esrs ) is computed using (1) with f = 0.
When computing estimates for a subpopulation, S , and the srssubpop option is not specified
(that is, the default), (1) is used with wSj = IS (j) wj in place of wj , where
(
IS (j) =
1, if j S
0, otherwise
The sums in (1) are still calculated over all elements in the sample, regardless of whether they belong
to the subpopulation: by default, the SRS is assumed to be done across the full population.
When the srssubpop option is specified, the SRS is carried out within subpopulation S . Here
(1) is used with the sums restricted to those elements belonging to the subpopulation; m is replaced
c is replaced with M
cS , the sum
with mS , the number of sample elements from the subpopulation; M
b
b
b
c
of the weights from the subpopulation; and Y is replaced with Y = Y /M , the weighted mean
S
Linear combinations
estat lceffects estimates = C, where is a q 1 vector of parameters (for example,
population means or population regression coefficients) and C is any 1 q vector of constants. The
estimate of is b = C b, and its variance estimate is
b 0
Vb (b
) = C Vb ()C
Similarly, the SRS without replacement (srswor) variance estimator used in the computation of DEFF
is
Vbsrswor (e
srs ) = C Vbsrswor (bsrs )C 0
48
and the SRS with replacement (srswr) variance estimator used in the computation of DEFT is
Vbsrswr (e
srs ) = C Vbsrswr (bsrs )C 0
The variance estimator used in computing MEFF and MEFT is
Vbmsp (e
msp ) = C Vbmsp (bmsp )C 0
estat lceffects was originally developed under a different command name; see Eltinge and
Sribney (1996b).
Misspecification effects
estat effects produces two estimators of misspecification effect, MEFF and MEFT.
MEFF
MEFT
b
Vb ()
Vbmsp (bmsp )
MEFF
b is the design-based estimate of variance for a parameter, , and Vbmsp (bmsp ) is the variance
where Vb ()
estimate for bmsp . These estimators, bmsp and Vbmsp (bmsp ), are based on the incorrect assumption
that the observations were obtained through SRS with replacement: they are the estimators obtained
by simply ignoring weights, stratification, and clustering. When is a total Y , the estimator and its
variance estimate are computed using the standard formulas for an unweighted total:
m
cX
cy = M
yj
Ybmsp = M
m j=1
Vbmsp (Ybmsp ) =
m
X
c2
2
M
yj y
m(m 1) j=1
When computing MEFF and MEFT for a subpopulation, sums are restricted to those elements
cS are used in place of m and M
c.
belonging to the subpopulation, and mS and M
Vsrswr (y) = 2 /n
where n is the sample size and is the population standard deviation. estat sd uses this formula
and the results from mean and svy: mean to estimate the population standard deviation via
q
b = n Vbsrswr (y)
Subpopulation standard deviations are computed similarly, using the corresponding variance estimate
and sample size.
49
Coefficient of variation
The coefficient of variation (CV) for estimate b is
q
b
Vb ()
b =
100%
CV()
b
||
A missing value is reported when b is zero.
b 2 = r{Vb (r)}1 r0
X
b 2 is approximately distributed as a
where Vb (r) is the design-based variance estimate for r. Here X
2 with g 1 degrees of freedom. This Wald statistic is one of the three goodness-of-fit statistics
discussed in Graubard, Korn, and Midthune (1997). estat gof reports this statistic when the design
degrees of freedom is missing, such as with svy bootstrap results.
According to Archer and Lemeshow (2006), the F -adjusted mean residual test is given by
b 2 (d g + 2)/(dg)
Fb = X
where d is the design degrees of freedom. Here Fb is approximately distributed as an F with g 1
numerator and d g + 2 denominator degrees of freedom.
With the total option, estat gof uses the subpopulation total estimator instead of the subpopulation
mean estimator.
References
Archer, K. J., and S. A. Lemeshow. 2006. Goodness-of-fit test for a logistic regression model fitted using survey
sample data. Stata Journal 6: 97105.
Cochran, W. G. 1977. Sampling Techniques. 3rd ed. New York: Wiley.
Eltinge, J. L., and W. M. Sribney. 1996a. Accounting for point-estimation bias in assessment of misspecification
effects, confidence-set coverage rates and test sizes. Unpublished manuscript, Department of Statistics, Texas A&M
University.
. 1996b. svy5: Estimates of linear combinations and hypothesis tests for survey data. Stata Technical Bulletin
31: 3142. Reprinted in Stata Technical Bulletin Reprints, vol. 6, pp. 246259. College Station, TX: Stata Press.
Gonzalez, J. F., Jr., N. Krauss, and C. Scott. 1992. Estimation in the 1988 National Maternal and Infant Health
Survey. Proceedings of the Section on Statistics Education, American Statistical Association 343348.
Graubard, B. I., E. L. Korn, and D. Midthune. 1997. Testing goodness-of-fit for logistic regression with survey data.
In Proceedings of the Section on Survey Research Methods, Joint Statistical Meetings, 170174. Alexandria, VA:
American Statistical Association.
Kish, L. 1965. Survey Sampling. New York: Wiley.
50
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Scott, A. J., and D. Holt. 1982. The effect of two-stage sampling on ordinary least squares methods. Journal of the
American Statistical Association 77: 848854.
Skinner, C. J. 1989. Introduction to part A. In Analysis of Complex Surveys, ed. C. J. Skinner, D. Holt, and
T. M. F. Smith, 2358. New York: Wiley.
West, B. T., and S. E. McCabe. 2012. Incorporating complex sample design effects when only final survey weights
are available. Stata Journal 12: 718725.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svy estimation Estimation commands for survey data
[SVY] subpopulation estimation Subpopulation estimation for survey data
[SVY] variance estimation Variance estimation for survey data
Title
jackknife options More options for jackknife variance estimation
Syntax
Description
Options
Also see
Syntax
jackknife options
Description
SE
mse
nodots
saving( filename, . . .)
keep
verbose
noisily
trace
title(text)
nodrop
reject(exp)
saving(), keep, verbose, noisily, trace, title(), nodrop, and reject() are not shown in the dialog boxes
for estimation commands.
Description
svy accepts more options when performing jackknife variance estimation.
Options
SE
mse specifies that svy compute the variance by using deviations of the replicates from the observed
value of the statistic based on the entire dataset. By default, svy computes the variance by using
deviations of the pseudovalues from their mean.
nodots suppresses display of the replication dots. By default, one dot character is printed for each
successful replication. A red x is displayed if command returns with an error, e is displayed
if at least one of the values in the exp list is missing, n is displayed if the sample size is not
correct, and a yellow s is displayed if the dropped sampling unit is outside the subpopulation
sample.
saving(), keep, verbose, noisily, trace, title(), nodrop, reject(); see [SVY] svy jackknife.
Also see
[SVY] svy The survey prefix command
[SVY] svy jackknife Jackknife estimation for survey data
51
Title
ml for svy Maximum pseudolikelihood estimation for survey data
Reference
Also see
Here we fit a survey regression model using a multistage survey dataset with ml and the above
likelihood evaluator.
. use http://www.stata-press.com/data/r13/multistage
. svyset county [pw=sampwgt], strata(state) fpc(ncounties) || school, fpc(nschools)
pweight: sampwgt
VCE: linearized
Single unit: missing
Strata 1: state
SU 1: county
FPC 1: ncounties
Strata 2: <one>
SU 2: school
FPC 2: nschools
. ml model lf mynormal_lf (mu: weight = height) /lnsigma, svy
52
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
Number of strata
Number of PSUs
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
pseudolikelihood
=
=
=
-<inf>
= -7.301e+08
= -51944380
= -47565331
= -47565331
= -41221759
= -41218957
= -41170544
= -41145411
= -41123161
= -41103001
= -41083551
= -38467683
= -38329015
= -38328739
= -38328739
50
100
(not
(not
(not
(not
(not
(not
concave)
concave)
concave)
concave)
concave)
concave)
(backed up)
Number of obs
Population size
Design df
F(
1,
50)
Prob > F
Linearized
Std. Err.
=
=
=
=
=
4071
8000000
50
593.99
0.0000
weight
Coef.
height
_cons
.7163115
-149.6183
.0293908
12.57265
24.37
-11.90
0.000
0.000
.6572784
-174.8712
.7753447
-124.3654
lnsigma
_cons
3.372154
.0180777
186.54
0.000
3.335844
3.408464
53
P>|t|
mu
Reference
Gould, W. W., J. S. Pitblado, and B. P. Poi. 2010. Maximum Likelihood Estimation with Stata. 4th ed. College
Station, TX: Stata Press.
Also see
[P] program properties Properties of user-defined programs
[R] maximize Details of iterative maximization
[R] ml Maximum likelihood estimation
[SVY] survey Introduction to survey commands
Title
poststratification Poststratification for survey data
Description
References
Description
Poststratification is a method for adjusting the sampling weights, usually to account for underrepresented groups in the population.
See [SVY] direct standardization for a similar method of adjustment that allows the comparison
of rates that come from different frequency distributions.
Overview
Poststratification involves adjusting the sampling weights so that they sum to the population
sizes within each poststratum. This usually results in decreasing bias because of nonresponse and
underrepresented groups in the population. Poststratification also tends to result in smaller variance
estimates.
The svyset command has options to set variables for applying poststratification adjustments to the
sampling weights. The poststrata() option takes a variable that contains poststratum identifiers,
and the postweight() option takes a variable that contains the poststratum population sizes.
In the following example, we use an example from Levy and Lemeshow (2008) to show how
poststratification affects the point estimates and their variance.
54
Mean
totexp
40.11513
Linearized
Std. Err.
1.163498
=
=
=
55
50
1300
49
42.45327
The mean total expenses is $40.12 with a standard error of $1.16. In the following, we omit the
poststratification information from svyset, resulting in mean total expenses of $39.73 with standard
error $2.22. The difference between the mean estimates is explained by the facts that expenses tend
to be larger for dogs than for cats and that the dogs were slightly underrepresented in the sample
(850/1,300 0.65 for the population; 32/50 = 0.64 for the sample). This reasoning also explains why
the variance estimate from the poststratified mean is smaller than the one that was not poststratified.
. svyset, fpc(fpc)
pweight: <none>
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: fpc
. svy: mean totexp
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
1
Number of obs
Number of PSUs
=
50
Population size
Design df
Mean
totexp
39.7254
Linearized
Std. Err.
2.221747
=
=
=
50
50
49
44.19017
Video example
Specifying the poststratification of survey data to Stata
56
If wj is the unadjusted sampling weight for the j th sampled individual, the poststratification
adjusted sampling weight is
LP
X
Mk
IPk (j)
wj =
w
ck j
M
k=1
ck is
where M
ck =
M
m
X
IPk (j)wj
j=1
The point estimates are computed using these adjusted weights. For example, the poststratified total
estimator is
m
X
Yb P =
wj yj
j=1
bP
zj (Y ) =
LP
X
k=1
Mk
IPk (j)
ck
M
Ybk
yj
ck
M
!
(1)
Ybk =
m
X
IPk (j)wj yj
j=1
bP
bP
bP
bP
bP ) = X zj (Y ) Y zj (X )
zj ( R
b P )2
(X
(2)
b P is the poststratified total estimator for item xj . For regression models, the equation-level
where X
scores are adjusted as in (1). These score variables were derived using the method described in
[SVY] variance estimation for the ratio estimator and are a direct result of the methods described in
Deville (1999), Demnati and Rao (2004), and Shah (2004).
References
Demnati, A., and J. N. K. Rao. 2004. Linearization variance estimators for survey data. Survey Methodology 30:
1726.
Deville, J.-C. 1999. Variance estimation for complex statistics and estimators: Linearization and residual techniques.
Survey Methodology 25: 193203.
Levy, P. S., and S. A. Lemeshow. 2008. Sampling of Populations: Methods and Applications. 4th ed. Hoboken, NJ:
Wiley.
Shah, B. V. 2004. Comment [on Demnati and Rao (2004)]. Survey Methodology 30: 29.
Also see
[SVY] svy The survey prefix command
[SVY] svyset Declare survey design for dataset
[SVY] survey Introduction to survey commands
57
Title
sdr options More options for SDR variance estimation
Syntax
Description
Options
Also see
Syntax
sdr options
Description
SE
mse
nodots
saving( filename, . . .)
verbose
noisily
trace
title(text)
nodrop
reject(exp)
saving(), verbose, noisily, trace, title(), nodrop, and reject() are not shown in the dialog boxes for
estimation commands.
Description
svy accepts more options when performing successive difference replication (SDR) variance
estimation. See [SVY] svy sdr for a complete discussion.
Options
SE
mse specifies that svy compute the variance by using deviations of the replicates from the observed
value of the statistics based on the entire dataset. By default, svy computes the variance by using
deviations of the replicates from their mean.
nodots suppresses display of the replication dots. By default, one dot character is printed for each
successful replication. A red x is displayed if command returns with an error, and e is displayed
if at least one of the values in the exp list is missing.
saving(), verbose, noisily, trace, title(), nodrop, reject(); see [SVY] svy sdr.
Also see
[SVY] svy The survey prefix command
[SVY] svy sdr Successive difference replication for survey data
58
Title
subpopulation estimation Subpopulation estimation for survey data
Description
References
Description
Subpopulation estimation focuses on part of the population. This entry discusses subpopulation
estimation and explains why you should use the subpop() option instead of if and in for your
survey data analysis.
Example 1
Suppose that we are interested in estimating the proportion of women in our population who have
had a heart attack. In our NHANES II dataset (McDowell et al. 1981), the female participants can
be identified using the female variable, and the heartatk variable indicates whether an individual
has ever had a heart attack. Below we use svy: mean with the heartatk variable to estimate the
proportion of individuals who have had a heart attack, and we use subpop(female) to identify our
subpopulation of interest.
. use http://www.stata-press.com/data/r13/nhanes2d
. svy, subpop(female): mean heartatk
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
Number of PSUs
=
31
62
Mean
heartatk
.0193276
Number of obs
Population size
Subpop. no. obs
Subpop. size
Design df
Linearized
Std. Err.
.0017021
=
=
=
=
=
10349
117131111
5434
60971631
31
59
.0227991
60
The subpop(varname) option takes a 0/1 variable, and the subpopulation of interest is defined by
varname = 1. All other members of the sample not in the subpopulation are indicated by varname = 0.
If a persons subpopulation status is unknown, varname should be set to missing (.), so those
observations will be omitted from the analysis. For instance, in the preceding analysis, if a persons
sex was not recorded, female should be coded as missing rather than as male (female = 0).
Technical note
Actually, the subpop(varname) option takes a zero/nonzero variable, and the subpopulation is
defined by varname 6= 0 and not missing. All other members of the sample not in the subpopulation
are indicated by varname = 0, but 0, 1, and missing are typically the only values used for the
subpop() variable.
Furthermore, you can specify an if qualifier within subpop() to identify a subpopulation. The
result is the same as generating a variable equal to the conditional expression and supplying it as the
subpop() variable. If a varname and an if qualifier are specified within the subpop() option, the
subpopulation is identified by their logical conjunction (logical and ), and observations with missing
values in either are dropped from the estimation sample.
Over
Mean
birthwgt
nonblack
black
3402.32
3127.834
Linearized
Std. Err.
7.609532
6.529814
=
=
=
9946
3895562
9940
3387.404
3115.035
3417.236
3140.634
61
Over
Mean
birthwgt
_subpop_1
_subpop_2
_subpop_3
_subpop_4
3291.045
3426.407
3073.122
3221.616
Linearized
Std. Err.
20.18795
8.379497
8.752553
12.42687
=
=
=
9946
3895562
9940
3251.472
3409.982
3055.965
3197.257
3330.617
3442.833
3090.279
3245.975
Here the race and marital variables have value labels. race has the value 0 labeled nonblack
(that is, white and other) and 1 labeled black; marital has the value 0 labeled single and 1
labeled married. Value labels on the over() variables make for a more informative legend above
the table of point estimates. See [U] 12.6.3 Value labels for information on creating value labels.
We can also combine the subpop() option with the over() option.
. generate nonblack = (race == 0) if !missing(race)
. svy, subpop(nonblack): mean birthwgt, over(marital age20)
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
3
Number of obs
=
4724
Number of PSUs
=
4724
Population size = 3230403
Subpop. no. obs =
4724
Subpop. size
= 3230403
Design df
=
4721
Over: marital age20
_subpop_1: single age20+
_subpop_2: single age<20
_subpop_3: married age20+
_subpop_4: married age<20
Over
Mean
birthwgt
_subpop_1
_subpop_2
_subpop_3
_subpop_4
3312.012
3244.709
3434.923
3287.301
Linearized
Std. Err.
24.2869
36.85934
8.674633
34.15988
3264.398
3172.448
3417.916
3220.332
3359.625
3316.971
3451.929
3354.271
This time, we estimated means for the marital status and age (<20 or 20) subpopulations for race
== 0 (nonblack) only. We carefully define nonblack so that it is missing when race is missing.
62
Subpopulation totals
Let Yj be a survey item for individual j in the population, where j = 1, . . . , N and N is the
population size. Let S be a subset of individuals in the population and IS (j) indicate if the j th
individual is in S , where
(
1, if j S
IS (j) =
0, otherwise
The subpopulation total is
YS =
N
X
IS (j)Yj
j=1
NS =
N
X
IS (j)
j=1
Let yj be the items for those individuals selected in the sample, where j = 1, . . . , n and n is the
sample size. The number of individuals sampled from the subpopulation is
n
X
nS =
IS (j)
j=1
YbS =
n
X
j=1
IS (j)wj yj
(1)
63
where wj = N/n is the unadjusted sampling weight for this design. The estimator for NS is
n
X
bS =
N
IS (j)wj
j=1
The replicate values for the BRR and jackknife variance estimators are computed using the same
method.
The linearized variance estimator for YbS is
2
n
1
n n X
IS (j)wj yj YbS
(2)
Vb (YbS ) = 1
N n1
n
j=1
Equation (2) is not the same formula that results from restricting the estimation sample to
the observations within S . The formula using this restricted sample (assuming a svyset with the
corresponding FPC) is
2
n
nS X
nS
1 b
e
b
V (YS ) = 1
IS (j) wj yj
YS
(4)
bS nS 1
nS
N
j=1
These variance estimators, (2) and (4), assume two different survey designs. In (2), n individuals are
sampled without replacement from the population comprising the NS values from the subpopulation
with N NS additional zeros. In (4), nS individuals are sampled without replacement from the
subpopulation of NS values. We discourage using (4) by warning against using the if and in
qualifiers for subpopulation estimation because this variance estimator does not accurately measure
the sample-to-sample variability of the subpopulation estimates for the survey design that was used
to collect the data.
For survey data, there are only a few circumstances that require using the if qualifier. For example,
if you suspected laboratory error for a certain set of measurements, then using the if qualifier to
omit these observations from the analysis might be proper.
b S ) as
You can write G(
b S ) =
G(
n
X
IS (j)wj dj
j=1
which is an estimator for the subpopulation total G(S ), so its variance estimator can be computed
using the design-based variance estimator for a subpopulation total.
64
References
Cochran, W. G. 1977. Sampling Techniques. 3rd ed. New York: Wiley.
Gonzalez, J. F., Jr., N. Krauss, and C. Scott. 1992. Estimation in the 1988 National Maternal and Infant Health
Survey. Proceedings of the Section on Statistics Education, American Statistical Association 343348.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
West, B. T., P. A. Berglund, and S. G. Heeringa. 2008. A closer examination of subpopulation analysis of complex-sample
survey data. Stata Journal 8: 520531.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svy The survey prefix command
[SVY] svyset Declare survey design for dataset
[SVY] survey Introduction to survey commands
Title
svy The survey prefix command
Syntax
Stored results
Description
Methods and formulas
Options
References
Syntax
svy vcetype
, svy options eform option : command
vcetype
Description
SE
linearized
bootstrap
brr
jackknife
sdr
svy options
Description
if/in
if )
subpop( varname
identify a subpopulation
SE
dof(#)
bootstrap options
brr options
jackknife options
sdr options
Reporting
level(#)
nocnsreport
display options
noheader
nolegend
noadjust
noisily
trace
coeflegend
66
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
mi estimate may be used with svy linearized if the estimation command allows mi estimate; it may not be
used with svy bootstrap, svy brr, svy jackknife, or svy sdr.
noheader, nolegend, noadjust, noisily, trace, and coeflegend are not shown in the dialog boxes for estimation
commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Description
svy fits statistical models for complex survey data. Typing
. svy: command
executes command while accounting for the survey settings identified by svyset.
command defines the estimation command to be executed. Not all estimation commands are
supported by svy. See [SVY] svy estimation for a list of Statas estimation commands that are
supported by svy. See [P] program properties for a discussion of what is required for svy to support
an estimation command. The by prefix may not be part of command.
Options
if/in
subpop(subpop) specifies that estimates be computed for the single subpopulation identified by
subpop, which is
varname
if
Thus the subpopulation is defined by the observations for which varname 6= 0 that also meet
the if conditions. Typically, varname = 1 defines the subpopulation, and varname = 0 indicates
observations not belonging to the subpopulation. For observations whose subpopulation status is
uncertain, varname should be set to a missing value; such observations are dropped from the
estimation sample.
See [SVY] subpopulation estimation and [SVY] estat.
SE
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
bootstrap options are other options that are allowed with bootstrap variance estimation specified by svy
bootstrap or specified as svyset using the vce(bootstrap) option; see [SVY] bootstrap options.
brr options are other options that are allowed with BRR variance estimation specified by svy brr or
specified as svyset using the vce(brr) option; see [SVY] brr options.
jackknife options are other options that are allowed with jackknife variance estimation specified by svy
jackknife or specified as svyset using the vce(jackknife) option; see [SVY] jackknife options.
sdr options are other options that are allowed with SDR variance estimation specified by svy sdr or
specified as svyset using the vce(sdr) option; see [SVY] sdr options.
67
Reporting
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
level(95) or as set by set level; see [U] 20.7 Specifying the width of confidence intervals.
nocnsreport; see [R] estimation options.
display options: noomitted, vsquish, noemptycells, baselevels, allbaselevels, nofvlabel, fvwrap(#), fvwrapon(style), cformat(% fmt), pformat(% fmt), sformat(% fmt), and
nolstretch; see [R] estimation options.
The following options are available with svy but are not shown in the dialog boxes:
noheader prevents the table header from being displayed. This option implies nolegend.
nolegend prevents the table legend identifying the subpopulations from being displayed.
noadjust specifies that the model Wald test be carried out as W/k F (k, d), where W is the Wald
test statistic, k is the number of terms in the model excluding the constant term, d is the total
number of sampled PSUs minus the total number of strata, and F (k, d) is an F distribution with
k numerator degrees of freedom and d denominator degrees of freedom. By default, an adjusted
Wald test is conducted: (d k + 1)W/(kd) F (k, d k + 1).
See Korn and Graubard (1990) for a discussion of the Wald test and the adjustments thereof. Using
the noadjust option is not recommended.
noisily requests that any output from command be displayed.
trace causes a trace of the execution of command to be displayed.
coeflegend; see [R] estimation options.
The following option is usually available with svy at the time of estimation or on replay but is not
shown in all dialog boxes:
eform option; see [R] eform option.
68
Mean
zinc
87.18207
Number of obs
Population size
Design df
Linearized
Std. Err.
.4944827
=
=
=
9189
104176071
31
88.19057
If we ignore the survey design and use mean to estimate the mean, we get
. mean zinc
Mean estimation
Number of obs
Mean
zinc
86.51518
9189
Std. Err.
.1510744
86.21904
86.81132
The point estimate from the unweighted analysis is smaller by more than one standard error than
the proper design-based estimate. Also, design-based analysis produced a standard error that is 3.27
times larger than the standard error produced by our incorrect analysis.
69
To illustrate this effect, suppose that we used the svy: mean procedure with pweights only.
. svyset [pweight=finalwgt]
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
. svy: mean zinc
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
Number of PSUs
=
1
9189
Mean
zinc
87.18207
Number of obs
Population size
Design df
Linearized
Std. Err.
.1828747
=
=
=
9189
104176071
9188
87.54054
This approach gives us the same point estimate as our design-based analysis, but the reported
standard error is less than one-half the design-based standard error. If we accounted only for clustering
and weights and ignored stratification in NHANES II, we would obtain the following analysis:
. svyset psuid [pweight=finalwgt]
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: psuid
FPC 1: <zero>
. svy: mean zinc
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
1
Number of obs
Number of PSUs
=
2
Population size
Design df
Mean
zinc
87.18207
Linearized
Std. Err.
.7426221
=
=
=
9189
104176071
1
96.61798
Here our standard error is about 50% larger than what we obtained in our proper design-based analysis.
Example 3
Lets look at a regression. We model zinc on the basis of age, weight, sex, race, and rural or urban
residence. We compare a proper design-based analysis with an ordinary regression (which assumes
independent and identically distributed error).
70
=
=
31
62
Linearized
Std. Err.
Number of obs
Population size
Design df
F(
7,
25)
Prob > F
R-squared
P>|t|
=
=
=
=
=
=
9189
104176071
31
62.50
0.0000
0.0698
zinc
Coef.
age
-.1701161
.0844192
-2.02
0.053
-.3422901
.002058
c.age#c.age
.0008744
.0008655
1.01
0.320
-.0008907
.0026396
weight
female
black
orace
rural
_cons
.0535225
-6.134161
-2.881813
-4.118051
-.5386327
92.47495
.0139115
.4403625
1.075958
1.621121
.6171836
2.228263
3.85
-13.93
-2.68
-2.54
-0.87
41.50
0.001
0.000
0.012
0.016
0.390
0.000
.0251499
-7.032286
-5.076244
-7.424349
-1.797387
87.93038
.0818951
-5.236035
-.687381
-.8117528
.7201216
97.01952
If we had improperly ignored our survey weights, stratification, and clustering (that is, if we had
used the usual Stata regress command), we would have obtained the following results:
. regress zinc age c.age#c.age weight female black orace rural
SS
df
MS
Number of obs
Source
F( 7, 9181)
Model
110417.827
7 15773.9753
Prob > F
Residual
1816535.3 9181
197.85811
R-squared
Adj R-squared
Total
1926953.13 9188 209.724982
Root MSE
Std. Err.
P>|t|
=
=
=
=
=
=
9189
79.72
0.0000
0.0573
0.0566
14.066
zinc
Coef.
age
-.090298
.0638452
-1.41
0.157
-.2154488
.0348528
c.age#c.age
-.0000324
.0006788
-0.05
0.962
-.0013631
.0012983
weight
female
black
orace
rural
_cons
.0606481
-5.021949
-2.311753
-3.390879
-.0966462
89.49465
.0105986
.3194705
.5073536
1.060981
.3098948
1.477528
5.72
-15.72
-4.56
-3.20
-0.31
60.57
0.000
0.000
0.000
0.001
0.755
0.000
.0398725
-5.648182
-3.306279
-5.470637
-.7041089
86.59836
.0814237
-4.395716
-1.317227
-1.311121
.5108166
92.39093
71
The point estimates differ by 3% 100%, and the standard errors for the proper designed-based analysis
are 30% 110% larger. The differences are not as dramatic as we saw with the estimation of the
mean, but they are still substantial.
Stored results
svy stores the following in e():
Scalars
e(N)
e(N sub)
e(N strata)
e(N strata omit)
e(singleton)
e(census)
e(F)
e(df m)
e(df r)
e(N pop)
e(N subpop)
e(N psu)
e(stages)
e(k eq)
e(k aux)
e(p)
e(rank)
Macros
e(prefix)
e(cmdname)
e(cmd)
e(command)
e(cmdline)
e(wtype)
e(wexp)
e(wvar)
e(singleunit)
e(strata)
e(strata#)
e(psu)
e(su#)
e(fpc)
e(fpc#)
e(title)
e(poststrata)
e(postweight)
e(vce)
e(vcetype)
e(mse)
e(subpop)
e(adjust)
e(properties)
e(estat cmd)
e(predict)
e(marginsnotok)
Matrices
e(b)
e(V)
e(V srs)
e(V srssub)
number of observations
subpopulation observations
number of strata
number of strata omitted
1 if singleton strata, 0 otherwise
1 if census data, 0 otherwise
model F statistic
model degrees of freedom
variance degrees of freedom
estimate of population size
estimate of subpopulation size
number of sampled PSUs
number of sampling stages
number of equations in e(b)
number of ancillary parameters
p-value
rank of e(V)
svy
command name from command
same as e(cmdname) or e(vce)
command
command as typed
weight type
weight expression
weight variable name
singleunit() setting
strata() variable
variable identifying strata for stage #
psu() variable
variable identifying sampling units for stage #
fpc() variable
FPC for stage #
title in estimation output
poststrata() variable
postweight() variable
vcetype specified in vce()
title used to label Std. Err.
mse, if specified
subpop from subpop()
noadjust, if specified
b V
program used to implement estat
program used to implement predict
predictions disallowed by margins
estimates
design-based variance
bsrswor
simple-random-sampling-without-replacement variance, V
bsrswor
subpopulation simple-random-sampling-without-replacement variance, V
(created only when subpop() is specified)
72
bsrswr
simple-random-sampling-with-replacement variance, V
(created only when fpc() option is svyset)
bsrswr
subpopulation simple-random-sampling-with-replacement variance, V
(created only when subpop() is specified)
model-based variance
bmsp
variance from misspecified model fit, V
number of strata with one sampling unit
number of certainty strata
number of strata
marks estimation sample
svy also carries forward most of the results already in e() from command.
References
Korn, E. L., and B. I. Graubard. 1990. Simultaneous testing of regression coefficients with complex survey data: Use
of Bonferroni t statistics. American Statistician 44: 270276.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Also see
[SVY] svy estimation Estimation commands for survey data
[SVY] svy postestimation Postestimation tools for svy
[SVY] svy bootstrap Bootstrap for survey data
[SVY] svy brr Balanced repeated replication for survey data
[SVY] svy jackknife Jackknife estimation for survey data
[SVY] svy sdr Successive difference replication for survey data
[SVY] svyset Declare survey design for dataset
[P] robust Robust variance estimates
[U] 20 Estimation and postestimation commands
Title
svy bootstrap Bootstrap for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
References
Description
Stored results
Also see
Syntax
svy bootstrap exp list
svy options
: command
Description
if/in
subpop( varname
if )
identify a subpopulation
Reporting
level(#)
noheader
nolegend
noadjust
nocnsreport
display options
coeflegend
73
74
Description
bootstrap options
Main
bsn(#)
Options
saving( filename , . . . )
mse
Reporting
verbose
nodots
noisily
trace
title(text)
Advanced
nodrop
reject(exp)
dof(#)
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
svy bootstrap requires that the bootstrap replicate weights be identified using svyset.
elist contains
eexp is
specname is
eqno is
(name: elist)
elist
eexp
newvarname = (exp)
(exp)
specname
[eqno]specname
b
b[]
se
se[]
##
name
Menu
Statistics
>
>
Resampling
>
Bootstrap estimation
75
Description
svy bootstrap performs bootstrap replication for complex survey data. Typing
. svy bootstrap exp list: command
executes command once for each replicate, using sampling weights that are adjusted according to the
bootstrap methodology.
command defines the statistical command to be executed. Most Stata commands and user-written
programs can be used with svy bootstrap as long as they follow standard Stata syntax, allow the
if qualifier, and allow pweights and iweights; see [U] 11 Language syntax. The by prefix may
not be part of command.
exp list specifies the statistics to be collected from the execution of command. exp list is required
unless command has the svyb program property, in which case exp list defaults to b; see [P] program
properties.
Options
svy options; see [SVY] svy.
Main
bsn(#) specifies that # bootstrap replicate-weight variables were used to generate each bootstrap
mean-weight variable specified in the bsrweight() option of svyset. The default is bsn(1).
The bsn() option of svy bootstrap overrides the bsn() option of svyset; see [SVY] svyset.
Options
saving( filename , suboptions ) creates a Stata data file (.dta file) consisting of (for each statistic
in exp list) a variable containing the replicates.
double specifies that the results for each replication be saved as doubles, meaning 8-byte reals.
By default, they are saved as floats, meaning 4-byte reals. This option may be used without
the saving() option to compute the variance estimates by using double precision.
every(#) specifies that results be written to disk every #th replication. every() should be specified
in conjunction with saving() only when command takes a long time for each replication.
This will allow recovery of partial results should some other software crash your computer.
See [P] postfile.
replace indicates that filename be overwritten if it exists. This option is not shown on the dialog
box.
mse specifies that svy bootstrap compute the variance by using deviations of the replicates from the
observed value of the statistics based on the entire dataset. By default, svy bootstrap computes
the variance by using deviations of the replicates from their mean.
Reporting
76
noisily requests that any output from command be displayed. This option implies the nodots
option.
trace causes a trace of the execution of command to be displayed. This option implies the noisily
option.
title(text) specifies a title to be displayed above the table of bootstrap results; the default title is
Bootstrap results.
eform option; see [R] eform option. This option is ignored if exp list is not b.
Advanced
nodrop prevents observations outside e(sample) and the if and in qualifiers from being dropped
before the data are resampled.
reject(exp) identifies an expression that indicates when results should be rejected. When exp is
true, the resulting values are reset to missing values.
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
Example 1
Suppose that we need to estimate the average birthweight for the population represented by the
National Maternal and Infant Health Survey (NMIHS) (Gonzalez, Krauss, and Scott 1992).
In [SVY] svy estimation, the dataset nmihs.dta contained the following design information:
Primary sampling units are mothers; that is, PSUs are individual observations there is no
separate PSU variable.
The finalwgt variable contains the sampling weights.
The stratan variable identifies strata.
There is no variable for the finite population correction.
nmihs bs.dta is equivalent to nmihs.dta except that the stratum identifier variable stratan is
replaced by bootstrap replicate-weight variables. The replicate-weight variables are already svyset,
and the default method for variance estimation is vce(bootstrap).
77
. use http://www.stata-press.com/data/r13/nmihs_bs
. svyset
pweight: finwgt
VCE: bootstrap
MSE: off
bsrweight: bsrw1 bsrw2 bsrw3 bsrw4 bsrw5 bsrw6 bsrw7 bsrw8 bsrw9 bsrw10
bsrw11 bsrw12 bsrw13 bsrw14 bsrw15 bsrw16 bsrw17 bsrw18 bsrw19
(output omitted )
bsrw989 bsrw990 bsrw991 bsrw992 bsrw993 bsrw994 bsrw995
bsrw996 bsrw997 bsrw998 bsrw999 bsrw1000
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
Now we can use svy: mean to estimate the average birthweight for our population, and the standard
errors will be estimated using the survey bootstrap.
. svy, nodots: mean birthwgt
Survey: Mean estimation
birthwgt
Number of obs
Population size
Replications
=
=
=
9946
3895562
1000
Observed
Mean
Bootstrap
Std. Err.
Normal-based
[95% Conf. Interval]
3355.452
6.520637
3342.672
3368.233
From these results, we are 95% confident that the mean birthweight for our population is between
3,343 and 3,368 grams.
Example 2
nmihs mbs.dta is equivalent to nmihs.dta except that the strata identifier variable stratan is
replaced by mean bootstrap replicate-weight variables. The replicate-weight variables and variance
adjustment are already svyset, and the default method for variance estimation is vce(bootstrap).
78
Notice that the 200 mean bootstrap replicate-weight variables were generated from 5 bootstrap samples;
in fact, the mean bootstrap weight variables in nmihs mbs.dta were generated from the bootstrap
weight variables in nmihs bs.dta.
Here we use svy: mean to estimate the average birthweight for our population.
. svy, nodots: mean birthwgt
Survey: Mean estimation
birthwgt
Number of obs
Population size
Replications
=
=
=
9946
3895562
200
Observed
Mean
Bootstrap
Std. Err.
Normal-based
[95% Conf. Interval]
3355.452
5.712574
3344.256
3366.649
The standard error and confidence limits differ from the previous example. This merely illustrates
that the mean bootstrap is not numerically equivalent to the standard bootstrap, even when the
replicate-weight variables are generated from the same resampled datasets.
79
Stored results
In addition to the results documented in [SVY] svy, svy bootstrap stores the following in e():
Scalars
e(N reps)
e(N misreps)
e(k exp)
e(k eexp)
e(k extra)
e(bsn)
Macros
e(cmdname)
e(cmd)
e(vce)
e(exp#)
e(bsrweight)
Matrices
e(b bs)
e(V)
number of replications
number of replications with missing values
number of standard expressions
number of b/ se expressions
number of extra estimates added to b
bootstrap mean-weight adjustment
command name from command
same as e(cmdname) or bootstrap
bootstrap
#th expression
bsrweight() variable list
bootstrap means
bootstrap variance estimates
When exp list is b, svy bootstrap will also carry forward most of the results already in e() from
command.
References
Gonzalez, J. F., Jr., N. Krauss, and C. Scott. 1992. Estimation in the 1988 National Maternal and Infant Health
Survey. Proceedings of the Section on Statistics Education, American Statistical Association 343348.
Kolenikov, S. 2010. Resampling variance estimation for complex survey data. Stata Journal 10: 165199.
McCarthy, P. J., and C. B. Snowden. 1985. The bootstrap and finite population sampling. In Vital and Health Statistics,
123. Washington, DC: U.S. Government Printing Office.
Rao, J. N. K., and C. F. J. Wu. 1988. Resampling inference with complex survey data. Journal of the American
Statistical Association 83: 231241.
Rao, J. N. K., C. F. J. Wu, and K. Yue. 1992. Some recent work on resampling methods for complex surveys. Survey
Methodology 18: 209217.
Yeo, D., H. Mantel, and T.-P. Liu. 1999. Bootstrap variance estimation for the National Population Health Survey.
In Proceedings of the Survey Research Methods Section, 778785. American Statistical Association.
Yung, W. 1997. Variance estimation for public use files under confidentiality constraints. In Proceedings of the Survey
Research Methods Section, 434439. American Statistical Association.
80
Also see
[SVY] svy postestimation Postestimation tools for svy
[R] bootstrap Bootstrap sampling and estimation
[SVY] svy brr Balanced repeated replication for survey data
[SVY] svy jackknife Jackknife estimation for survey data
[SVY] svy sdr Successive difference replication for survey data
[U] 20 Estimation and postestimation commands
Title
svy brr Balanced repeated replication for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
References
Description
Stored results
Also see
Syntax
svy
svy options
: command
Description
if/in
subpop( varname
if )
identify a subpopulation
Reporting
level(#)
noheader
nolegend
noadjust
nocnsreport
display options
coeflegend
81
82
Description
brr options
Main
Hadamard matrix
Fays adjustment
hadamard(matrix)
fay(#)
Options
saving( filename , . . . )
mse
Reporting
verbose
nodots
noisily
trace
title(text)
Advanced
nodrop
reject(exp)
dof(#)
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
elist contains
eexp is
specname is
eqno is
(name: elist)
elist
eexp
newvarname = (exp)
(exp)
specname
[eqno]specname
b
b[]
se
se[]
##
name
Menu
Statistics
>
>
Resampling
>
83
Description
svy brr performs balanced repeated replication (BRR) for complex survey data. Typing
. svy brr exp list: command
executes command once for each replicate, using sampling weights that are adjusted according to the
BRR methodology.
command defines the statistical command to be executed. Most Stata commands and user-written
programs can be used with svy brr as long as they follow standard Stata syntax, allow the if
qualifier, and allow pweights and iweights; see [U] 11 Language syntax. The by prefix may not
be part of command.
exp list specifies the statistics to be collected from the execution of command. exp list is required
unless command has the svyb program property, in which case exp list defaults to b; see [P] program
properties.
Options
svy options; see [SVY] svy.
Main
hadamard(matrix) specifies the Hadamard matrix to be used to determine which PSUs are chosen
for each replicate.
fay(#) specifies Fays adjustment (Judkins 1990), where 0 # 2, but excluding 1. This option
overrides the fay(#) option of svyset; see [SVY] svyset.
Options
saving( filename , suboptions ) creates a Stata data file (.dta file) consisting of (for each statistic
in exp list) a variable containing the replicates.
double specifies that the results for each replication be saved as doubles, meaning 8-byte reals.
By default, they are saved as floats, meaning 4-byte reals. This option may be used without
the saving() option to compute the variance estimates by using double precision.
every(#) specifies that results be written to disk every #th replication. every() should be specified
in conjunction with saving() only when command takes a long time for each replication.
This will allow recovery of partial results should some other software crash your computer.
See [P] postfile.
replace indicates that filename be overwritten if it exists. This option is not shown on the dialog
box.
mse specifies that svy brr compute the variance by using deviations of the replicates from the
observed value of the statistics based on the entire dataset. By default, svy brr computes the
variance by using deviations of the replicates from their mean.
Reporting
84
noisily requests that any output from command be displayed. This option implies the nodots
option.
trace causes a trace of the execution of command to be displayed. This option implies the noisily
option.
title(text) specifies a title to be displayed above the table of BRR results; the default title is BRR
results.
eform option; see [R] eform option. This option is ignored if exp list is not b.
Advanced
nodrop prevents observations outside e(sample) and the if and in qualifiers from being dropped
before the data are resampled.
reject(exp) identifies an expression that indicates when results should be rejected. When exp is
true, the resulting values are reset to missing values.
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
In BRR, the model is fit multiple times, once for each of a balanced set of combinations where
one PSU is dropped from each stratum. The variance is estimated using the resulting replicated point
estimates. Although the BRR method has since been generalized to include other designs, Statas
implementation of BRR requires two PSUs per stratum.
To protect the privacy of survey participants, public survey datasets may contain replicate-weight
variables instead of variables that identify the PSUs and strata. These replicate-weight variables are
adjusted copies of the sampling weights. For BRR, the sampling weights are adjusted for dropping
one PSU from each stratum; see [SVY] variance estimation for more details.
85
. use http://www.stata-press.com/data/r13/nhanes2
. svydescribe
Survey: Describing stage 1 sampling units
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: strata
SU 1: psu
FPC 1: <zero>
#Obs per Unit
Stratum
#Units
1
2
3
4
5
(output omitted )
29
30
31
32
31
#Obs
min
mean
max
2
2
2
2
2
380
185
348
460
252
165
67
149
229
105
190.0
92.5
174.0
230.0
126.0
215
118
199
231
147
2
2
2
2
503
365
308
450
215
166
143
211
251.5
182.5
154.0
225.0
288
199
165
239
62
10351
67
167.0
288
Here is a privacy-conscious dataset equivalent to the one above; all the variables and values remain,
except strata and psu are replaced with BRR replicate-weight variables. The BRR replicate-weight
variables are already svyset, and the default method for variance estimation is vce(brr).
. use http://www.stata-press.com/data/r13/nhanes2brr
. svyset
pweight: finalwgt
VCE: brr
MSE: off
brrweight: brr_1 brr_2 brr_3 brr_4 brr_5 brr_6 brr_7 brr_8 brr_9 brr_10
brr_11 brr_12 brr_13 brr_14 brr_15 brr_16 brr_17 brr_18 brr_19
brr_20 brr_21 brr_22 brr_23 brr_24 brr_25 brr_26 brr_27 brr_28
brr_29 brr_30 brr_31 brr_32
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
Suppose that we were interested in the population ratio of weight to height. Here we use total
to estimate the population totals of weight and height and the svy brr prefix to estimate their
ratio and variance; we use total instead of ratio (which is otherwise preferable here) to illustrate
how to specify an exp list.
86
Coef.
WtoH
.4268116
BRR
Std. Err.
.0008904
t
479.36
=
=
=
=
10351
117157513
32
31
P>|t|
0.000
.4249957
.4286276
The mse option causes svy brr to use the MSE form of the BRR variance estimator. This variance
estimator will tend to be larger than the previous because of the addition of the familiar squared
bias term in the MSE; see [SVY] variance estimation for more details. The header for the column of
standard errors in the table of results is BRR * for the BRR variance estimator using the MSE formula.
. svy brr WtoH = (_b[weight]/_b[height]), mse: total weight height
(running total on estimation sample)
BRR replications (32)
1
2
3
4
5
................................
BRR results
Number of obs
=
Population size
=
Replications
=
Design df
=
command: total weight height
WtoH: _b[weight]/_b[height]
Coef.
WtoH
.4268116
BRR *
Std. Err.
.0008904
t
479.36
10351
117157513
32
31
P>|t|
0.000
.4249957
.4286276
The bias term here is too small to see any difference in the standard errors.
87
. use http://www.stata-press.com/data/r13/nhanes2
. svy brr, hadamard(h32): ratio (WtoH: weight/height)
(running ratio on estimation sample)
BRR replications (32)
1
2
3
4
5
................................
Survey: Ratio estimation
Number of strata =
31
Number of obs
=
10351
Number of PSUs
=
62
Population size = 117157513
Replications
=
32
Design df
=
31
WtoH: weight/height
Ratio
WtoH
.4268116
BRR
Std. Err.
.0008904
.4249957
.4286276
Technical note
A Hadamard matrix is a square matrix with r rows and columns that has the property
Hr0 Hr = rIr
where Ir is the identity matrix of order r. Generating a Hadamard matrix with order r = 2p is
easily accomplished. Start with a Hadamard matrix of order 2 (H2 ), and build your Hr by repeatedly
applying Kronecker products with H2 . Here is the Stata code to generate the Hadamard matrix for
the previous example.
matrix h2 = (-1, 1 \ 1, 1)
matrix h32 = h2
forvalues i = 1/4 {
matrix h32 = h2 # h32
}
svy brr consumes Hadamard matrices from left to right, so it is best to make sure that r is greater
than the number of strata and that the last column is the one consisting of all 1s. This will ensure
full orthogonal balance according to Wolter (2007).
88
Stored results
In addition to the results documented in [SVY] svy, svy brr stores the following in e():
Scalars
e(N reps)
e(N misreps)
e(k exp)
e(k eexp)
e(k extra)
e(fay)
Macros
e(cmdname)
e(cmd)
e(vce)
e(brrweight)
Matrices
e(b brr)
e(V)
number of replications
number of replications with missing values
number of standard expressions
number of b/ se expressions
number of extra estimates added to b
Fays adjustment
command name from command
same as e(cmdname) or brr
brr
brrweight() variable list
BRR means
BRR variance estimates
b, svy brr will also carry forward most of the results already in e() from
References
Judkins, D. R. 1990. Fays method for variance estimation. Journal of Official Statistics 6: 223239.
McCarthy, P. J. 1966. Replication: An approach to the analysis of data from complex surveys. In Vital and Health
Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969a. Pseudoreplication: Further evaluation and application of the balanced half-sample technique. In Vital
and Health Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969b. Pseudo-replication: Half-samples. Revue de lInstitut International de Statistique 37: 239264.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Wolter, K. M. 2007. Introduction to Variance Estimation. 2nd ed. New York: Springer.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svy bootstrap Bootstrap for survey data
[SVY] svy jackknife Jackknife estimation for survey data
[SVY] svy sdr Successive difference replication for survey data
[U] 20 Estimation and postestimation commands
Title
svy estimation Estimation commands for survey data
Description
Menu
References
Also see
Description
Survey data analysis in Stata is essentially the same as standard data analysis. The standard syntax
applies; you just need to also remember the following:
Descriptive statistics
mean
[R]
proportion [R]
ratio
[R]
total
[R]
89
90
regression models
[R] clogit Conditional (fixed-effects) logistic regression
[R] mlogit Multinomial (polytomous) logistic regression
[R] mprobit Multinomial probit regression
[R] ologit Ordered logistic regression
[R] oprobit Ordered probit regression
[R] slogit Stereotype logistic regression
Poisson regression
gnbreg
nbreg
poisson
tnbreg
tpoisson
zinb
zip
models
Generalized negative binomial regression in [R] nbreg
[R] nbreg Negative binomial regression
[R] poisson Poisson regression
[R] tnbreg Truncated negative binomial regression
[R] tpoisson Truncated Poisson regression
[R] zinb Zero-inflated negative binomial regression
[R] zip Zero-inflated Poisson regression
Menu
Statistics
>
> ...
Dialog boxes for all statistical estimators that support svy can be found on the above menu path.
In addition, you can access survey data estimation from standard dialog boxes on the SE/Robust or
SE/Cluster tab.
91
svy commands handle stratified sampling, but none of the standard commands do. Because
stratification usually makes standard errors smaller, ignoring stratification is usually conservative.
So not using svy with stratified sample data is not a terrible thing to do. However, to get the
smallest possible honest standard-error estimates for stratified sampling, use svy.
svy commands use t statistics with n L degrees of freedom to test the significance of
coefficients, where n is the total number of sampled PSUs (clusters) and L is the number of
strata in the first stage. Some of the standard commands use t statistics, but most use z statistics.
If the standard command uses z statistics for its standard variance estimator, then it also uses
z statistics with the robust (linearization) variance estimator. Strictly speaking, t statistics are
appropriate with the robust (linearization) variance estimator; see [P] robust for the theoretical
rationale. But, using z rather than t statistics yields a nontrivial difference only when there is
a small number of clusters (< 50). If a regression model command uses t statistics and the
vce(cluster clustvar) option is specified, then the degrees of freedom used is the same as
that of the svy command (in the absence of stratification).
92
svy commands produce an adjusted Wald test for the model test, and test can be used to
produce adjusted Wald tests for other hypotheses after svy commands. Only unadjusted Wald
tests are available if the svy prefix is not used. The adjustment can be important when the
degrees of freedom, n L, is small relative to the dimension of the test. (If the dimension is
one, then the adjusted and unadjusted Wald tests are identical.) This fact along with the point
made in the second bullet make using the svy command important if the number of sampled
PSUs (clusters) is small (< 50).
svy: regress differs slightly from regress and svy: ivregress differs slightly from
ivregress in that they use different multipliers for the variance estimator. regress and
ivregress (when the small option is specified) use a multiplier of {(N 1)/(N k)}{n/(n
1)}, where N is the number of observations, n is the number of clusters (PSUs), and k is
the number of regressors including the constant. svy: regress and svy: ivregress use
n/(n 1) instead. Thus they produce slightly different standard errors. The (N 1)/(N k)
is ad hoc and has no rigorous theoretical justification; hence, the purist svy commands do not
use it. The svy commands tacitly assume that N k . If (N 1)/(N k) is not close to 1,
you may be well advised to use regress or ivregress so that some punishment is inflicted on
your variance estimates. Maximum likelihood estimators in Stata (for example, logit) do no
such adjustment but rely on the sensibilities of the analyst to ensure that N is reasonably larger
than k . Thus the maximum pseudolikelihood estimators (for example, svy: logit) produce
the same standard errors as the corresponding maximum likelihood commands (for example,
logit), but p-values are slightly different because of the point made in the second bullet.
svy commands can produce proper estimates for subpopulations by using the subpop() option.
Using an if restriction with svy or standard commands can yield incorrect standard-error estimates for subpopulations. Often an if restriction will yield the same standard error as subpop();
most other times, the two standard errors will be slightly different; but sometimes usually for
thinly sampled subpopulations the standard errors can be appreciably different. Hence, the
svy command with the subpop() option should be used to obtain estimates for thinly sampled
subpopulations. See [SVY] subpopulation estimation for more information.
svy commands handle zero sampling weights properly. Standard commands ignore any observation with a weight of zero. Usually, this will yield the same standard errors, but sometimes
they will differ. Sampling weights of zero can arise from various postsampling adjustment
procedures. If the sum of weights for one or more PSUs is zero, svy and standard commands
will produce different standard errors, but usually this difference is very small.
You can svyset iweights and let these weights be negative. Negative sampling weights can
arise from various postsampling adjustment procedures. If you want to use negative sampling
weights, then you must svyset iweights instead of pweights; no standard command will
allow negative sampling weights.
The svy commands compute finite population corrections (FPCs).
After a svy command, estat effects will compute the design effects DEFF and DEFT and
the misspecification effects MEFF and MEFT.
svy commands can perform variance estimation that accounts for multiple stages of clustered
sampling.
svy commands can perform variance estimation that accounts for poststratification adjustments
to the sampling weights.
Some standard options are not allowed with the svy prefix. For example, vce() and weights
cannot be specified when using the svy prefix because svy is already using the variance
estimation and sampling weights identified by svyset. Some options are not allowed with
93
survey data because they would be statistically invalid, such as noskip for producing optional
likelihood-ratio tests. Other options are not allowed because they change how estimation results
are reported (for example, nodisplay, first, plus) or are not compatible with svys variance
estimation methods (for example, irls, mse1, hc2, hc3).
Estimation results are presented in the standard way, except that svy has its own table header:
In addition to the sample size, model test, and R2 (if present in the output from the standard
command), svy will also report the following information in the header:
a. number of strata and PSUs
b. number of poststrata, if specified to svyset
c. population size estimate
d. subpopulation sizes, if the subpop() option was specified
e. design degrees of freedom
Descriptive statistics
Use svy: mean, svy: ratio, svy: proportion, and svy: total to estimate finite population and
subpopulation means, ratios, proportions, and totals, respectively. You can also estimate standardized
means, ratios, and proportions for survey data; see [SVY] direct standardization. Estimates for multiple
subpopulations can be obtained using the over() option; see [SVY] subpopulation estimation.
Example 1
Suppose that we need to estimate the average birthweight for the population represented by the
National Maternal and Infant Health Survey (NMIHS) (Gonzalez, Krauss, and Scott 1992).
First, we gather the survey design information.
Primary sampling units are mothers; that is, PSUs are individual observations there is no
separate PSU variable.
The finalwgt variable contains the sampling weights.
The stratan variable identifies strata.
There is no variable for the finite population correction.
Then we use svyset to identify the variables for sampling weights and stratification.
. use http://www.stata-press.com/data/r13/nmihs
. svyset [pweight=finwgt], strata(stratan)
pweight: finwgt
VCE: linearized
Single unit: missing
Strata 1: stratan
SU 1: <observations>
FPC 1: <zero>
Now we can use svy: mean to estimate the average birthweight for our population.
94
Mean
birthwgt
3355.452
Linearized
Std. Err.
6.402741
=
=
=
9946
3895562
9940
3368.003
From these results, we are 95% confident that the mean birthweight for our population is between
3,343 and 3,368 grams.
Regression models
As exhibited in the table at the beginning of this manual entry, many of Statas regression model
commands support the svy prefix. If you know how to use one of these commands with standard
data, then you can also use the corresponding svy command with your survey data.
Example 2
Lets model the incidence of high blood pressure with a dataset from the Second National Health and
Nutrition Examination Survey (NHANES II) (McDowell et al. 1981). The survey design characteristics
are already svyset, so we will just replay them.
. use http://www.stata-press.com/data/r13/nhanes2d
. svyset
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: strata
SU 1: psu
FPC 1: <zero>
Now we can use svy: logistic to model the incidence of high blood pressure as a function of
height, weight, age, and sex (using the female indicator variable).
highbp
Odds Ratio
height
weight
age
female
_cons
.9657022
1.053023
1.050059
.6272129
.716868
Linearized
Std. Err.
.0051511
.0026902
.0019761
.0368195
.6106878
t
-6.54
20.22
25.96
-7.95
-0.39
=
=
=
=
=
95
10351
117157513
31
368.33
0.0000
P>|t|
0.000
0.000
0.000
0.000
0.699
.9552534
1.047551
1.046037
.5564402
.1261491
.9762654
1.058524
1.054097
.706987
4.073749
The odds ratio for the female predictor is 0.63 (rounded to two decimal places) and is significantly
less than 1. This finding implies that females have a lower incidence of high blood pressure than do
males.
Here we use the subpop() option to model the incidence of high blood pressure in the subpopulation
identified by the female variable.
. svy, subpop(female): logistic highbp height weight age
(running logistic on estimation sample)
Survey: Logistic regression
Number of strata
=
31
Number of obs
Number of PSUs
=
62
Population size
Subpop. no. of obs
Subpop. size
Design df
F(
3,
29)
Prob > F
highbp
Odds Ratio
height
weight
age
_cons
.9630557
1.053197
1.066112
.3372393
Linearized
Std. Err.
.0074892
.003579
.0034457
.4045108
t
-4.84
15.25
19.81
-0.91
=
=
=
=
=
=
=
10351
117157513
5436
60998033
31
227.53
0.0000
P>|t|
0.000
0.000
0.000
0.372
.9479018
1.045923
1.059107
.029208
.9784518
1.060522
1.073163
3.893807
Because the odds ratio for the age predictor is significantly greater than 1, we can conclude that
older females are more likely to have high blood pressure than are younger females.
Health surveys
There are many sources of bias when modeling the association between a disease and its risk
factors (Korn, Graubard, and Midthune 1997; Korn and Graubard 1999, sec. 3.7). In cross-sectional
health surveys, inference is typically restricted to the target population as it stood when the data were
collected. This type of survey cannot capture the fact that participants may change their habits over
time. Some health surveys collect data retrospectively, relying on the participants to recall the status
of risk factors as they stood in the past. This type of survey is vulnerable to recall bias.
96
Longitudinal surveys collect data over time, monitoring the survey participants over several years.
Although the above biases are minimized, analysts are still faced with some tough choices/situations
when modeling time-to-event data. For example:
Time scale. When studying cancer, should we measure the time scale by using the participants
age or the initial date from which data were collected?
Time-varying covariates. Were all relevant risk factors sampled over time, or do we have only
the baseline measurement?
Competing risks. When studying mortality, do we have the data specific to cause of death?
Binder (1983) provides the foundation for fitting most of the common parametric models by using
survey data. Similarly, Lin and Wei (1989) provide the foundational theory for robust inference by
using the proportional hazards model. Binder (1992) describes how to estimate standard errors for
the proportional hazards model from survey data, and Lin (2000) provides a rigorous justification for
Binders method. Korn and Graubard (1999) discuss many aspects of model fitting by using data from
health surveys. ODonnell et al. (2008, chap. 10) use Stata survey commands to perform multivariate
analysis using health survey data.
The lung cancer information was taken from the 1992 NHEFS interview data. We use the participants
ages for the time scale. Participants who never had lung cancer and were alive for the 1992 interview
were considered censored. Participants who never had lung cancer and died before the 1992 interview
were also considered censored at their age of death.
97
total observations
event time missing (age_lung_cancer>=.)
PROBABLE ERROR
0
0
97
Although stset warns us that it is a probable error to have 5,126 observations with missing event
times, we can verify from the 1992 NHEFS documentation that there were indeed 9,281 participants
with complete information.
For our proportional hazards model, we pulled the risk factor information from the NHANES I and
1992 NHEFS datasets. Smoking status was taken from the 1992 NHEFS interview data, but we filled
in all but 132 missing values by using the general medical history supplement data in NHANES I.
Smoking status is represented by separate indicator variables for former smokers and current smokers;
the base comparison group is nonsmokers. Sex was determined using the 1992 NHEFS vitality data
and is represented by an indicator variable for males. Place-of-residence information was taken from
the medical history questionnaire in NHANES I and is represented by separate indicator variables for
rural and heavily populated (more than 1 million people) urban residences; the base comparison group
is urban residences with populations of fewer than 1 million people.
. svy: stcox former_smoker smoker male urban1 rural
(running stcox on estimation sample)
Survey: Cox regression
Number of strata
=
Number of PSUs
=
_t
Haz. Ratio
former_smoker
smoker
male
urban1
rural
2.788113
7.849483
1.187611
.8035074
1.581674
35
105
Linearized
Std. Err.
.6205102
2.593249
.3445315
.3285144
.5281859
Number of obs
Population size
Design df
F(
5,
66)
Prob > F
t
4.61
6.24
0.59
-0.54
1.37
=
=
=
=
=
9149
151327827
70
14.07
0.0000
P>|t|
0.000
0.000
0.555
0.594
0.174
1.788705
4.061457
.6658757
.3555123
.8125799
4.345923
15.17051
2.118142
1.816039
3.078702
From the above results, we can see that both former and current smokers have a significantly
higher risk for developing lung cancer than do nonsmokers.
98
Technical note
In the previous example, we specified a sampling weight variable in the calls to both svyset
and stset. When the svy prefix is used with stcox and streg, it identifies the sampling weight
variable by using the data characteristics from both svyset and stset. svy will report an error if
the svyset pweight variable is different from the stset pweight variable. The svy prefix will use
the specified pweight variable, even if it is svyset but not stset. If a pweight variable is stset
but not svyset, svy will note that it will be using the stset pweight variable and then svyset it.
The standard st commands will not use the svyset pweight variable if it is not also stset.
ln[ln(Survival Probability)]
4
6
8
10
failure _d:
analysis time _t:
weight:
3.6
3.8
4
4.2
ln(analysis time)
4.4
4.6
As we can see from the graph produced above, the lines for the black and white race categories
intersect. This indicates a violation of the proportional-hazards assumption, so we should consider
using separate baseline hazard functions for each race category in our model fit. We do this next, by
specifying strata(revised race) in our call to svy: stcox.
99
_t
Haz. Ratio
former_smoker
smoker
male
urban1
rural
2.801797
7.954921
1.165724
.784031
1.490269
Linearized
Std. Err.
.6280352
2.640022
.3390339
.3120525
.5048569
t
4.60
6.25
0.53
-0.61
1.18
P>|t|
0.000
0.000
0.600
0.543
0.243
1.791761
4.103709
.6526527
.3544764
.7582848
4.381201
15.42038
2.082139
1.73412
2.928851
Stratified by revised_race
References
Binder, D. A. 1983. On the variances of asymptotically normal estimators from complex surveys. International
Statistical Review 51: 279292.
. 1992. Fitting Coxs proportional hazards models for survey data. Biometrika 79: 139147.
Cox, C. S., M. E. Mussolino, S. T. Rothwell, M. A. Lane, C. D. Golden, J. H. Madans, and J. J. Feldman. 1997.
Plan and operation of the NHANES I Epidemiologic Followup Study, 1992. In Vital and Health Statistics, series 1,
no. 35. Hyattsville, MD: National Center for Health Statistics.
Engel, A., R. S. Murphy, K. Maurer, and E. Collins. 1978. Plan and operation of the HANES I augmentation survey
of adults 2574 years: United States 197475. In Vital and Health Statistics, series 1, no. 14. Hyattsville, MD:
National Center for Health Statistics.
Gonzalez, J. F., Jr., N. Krauss, and C. Scott. 1992. Estimation in the 1988 National Maternal and Infant Health
Survey. Proceedings of the Section on Statistics Education, American Statistical Association 343348.
Korn, E. L., and B. I. Graubard. 1999. Analysis of Health Surveys. New York: Wiley.
Korn, E. L., B. I. Graubard, and D. Midthune. 1997. Time-to-event analysis of longitudinal follow-up of a survey:
Choice of time-scale. American Journal of Epidemiology 145: 7280.
Lin, D. Y. 2000. On fitting Coxs proportional hazards models to survey data. Biometrika 87: 3747.
Lin, D. Y., and L. J. Wei. 1989. The robust inference for the Cox proportional hazards model. Journal of the American
Statistical Association 84: 10741078.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Miller, H. W. 1973. Plan and operation of the Health and Nutrition Examination Survey: United States 19711973.
Hyattsville, MD: National Center for Health Statistics.
ODonnell, O., E. van Doorslaer, A. Wagstaff, and M. Lindelow. 2008. Analyzing Health Equity Using Household
Survey Data: A Guide to Techniques and Their Implementation. Washington, DC: The World Bank.
Skinner, C. J. 1989. Introduction to part A. In Analysis of Complex Surveys, ed. C. J. Skinner, D. Holt, and
T. M. F. Smith, 2358. New York: Wiley.
100
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] estat Postestimation statistics for survey data
[SVY] direct standardization Direct standardization of means, proportions, and ratios
[SVY] poststratification Poststratification for survey data
[SVY] subpopulation estimation Subpopulation estimation for survey data
[SVY] variance estimation Variance estimation for survey data
[U] 20 Estimation and postestimation commands
Title
svy jackknife Jackknife estimation for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
References
Description
Stored results
Also see
Syntax
svy jackknife exp list
svy options
: command
Description
if/in
subpop( varname
if )
identify a subpopulation
Reporting
level(#)
noheader
nolegend
noadjust
nocnsreport
display options
coeflegend
101
102
Description
jackknife options
Main
eclass
rclass
n(exp)
Options
saving( filename , . . . )
keep
mse
Reporting
verbose
nodots
noisily
trace
title(text)
Advanced
nodrop
reject(exp)
dof(#)
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
elist contains
eexp is
specname is
eqno is
(name: elist)
elist
eexp
newvarname = (exp)
(exp)
specname
[eqno]specname
b
b[]
se
se[]
##
name
103
Menu
Statistics
>
>
Resampling
>
Jackknife estimation
Description
svy jackknife performs jackknife estimation for complex survey data. Typing
. svy jackknife exp list: command
executes command once for each primary sampling unit (PSU) in the dataset, leaving the associated
PSU out of the calculations that make up exp list.
command defines the statistical command to be executed. Most Stata commands and user-written
programs can be used with svy jackknife as long as they follow standard Stata syntax, allow the
if qualifier, and allow pweights and iweights; see [U] 11 Language syntax. The by prefix may
not be part of command.
exp list specifies the statistics to be collected from the execution of command. exp list is required
unless command has the svyj program property, in which case exp list defaults to b; see [P] program
properties.
Options
svy options; see [SVY] svy.
Main
eclass, rclass, and n(exp) specify where command stores the number of observations on which
it based the calculated results. We strongly advise you to specify one of these options.
eclass specifies that command store the number of observations in e(N).
rclass specifies that command store the number of observations in r(N).
n(exp) allows you to specify an expression that evaluates to the number of observations used.
Specifying n(r(N)) is equivalent to specifying the rclass option. Specifying n(e(N)) is equivalent to specifying the eclass option. If command stores the number of observations in r(N1),
specify n(r(N1)).
If you specify none of these options, svy jackknife will assume eclass or rclass depending
upon which of e(N) and r(N) is not missing (in that order). If both e(N) and r(N) are missing,
svy jackknife assumes that all observations in the dataset contribute to the calculated result. If
that assumption is incorrect, then the reported standard errors will be incorrect. For instance, say
that you specify
. svy jackknife coef=_b[x2]: myreg y x1 x2 x3
where myreg uses e(n) instead of e(N) to identify the number of observations used in calculations.
Further assume that observation 42 in the dataset has x3 equal to missing. The 42nd observation
plays no role in obtaining the estimates, but svy jackknife has no way of knowing that and will
use the wrong N . If, on the other hand, you specify
. svy jackknife coef=_b[x2], n(e(n)): myreg y x1 x2 x3
104
Then svy jackknife will notice that observation 42 plays no role. The n(e(n)) option is
specified because myreg is an estimation command, but it stores the number of observations
used in e(n) (instead of the standard e(N)). When svy jackknife runs the regression omitting
the 42nd observation, svy jackknife will observe that e(n) has the same value as when svy
jackknife previously ran the regression by using all the observations. Thus svy jackknife will
know that myreg did not use the observation.
Options
saving( filename , suboptions ) creates a Stata data file (.dta file) consisting of (for each statistic
in exp list) a variable containing the replicates.
double specifies that the results for each replication be saved as doubles, meaning 8-byte reals.
By default, they are saved as floats, meaning 4-byte reals. This option may be used without
the saving() option to compute the variance estimates by using double precision.
every(#) specifies that results be written to disk every #th replication. every() should be specified
in conjunction with saving() only when command takes a long time for each replication.
This will allow recovery of partial results should some other software crash your computer.
See [P] postfile.
replace indicates that filename be overwritten if it exists. This option is not shown on the dialog
box.
keep specifies that new variables be added to the dataset containing the pseudovalues of the requested
statistics. For instance, if you typed
. svy jackknife coef=_b[x2], eclass keep: regress y x1 x2 x3
Then the new variable coef would be added to the dataset containing the pseudovalues for b[x2].
Let b be defined as the value of b[x2] when all observations are used to fit the model, and let
b(j) be the value when the j th observation is omitted. The pseudovalues are defined as
pseudovaluej = N {b b(j)} + b(j)
where N is the number of observations used to produce b.
keep implies the nodrop option.
mse specifies that svy jackknife compute the variance by using deviations of the replicates from the
observed value of the statistics based on the entire dataset. By default, svy jackknife computes
the variance by using deviations of the pseudovalues from their mean.
Reporting
105
eform option; see [R] eform option. This option is ignored if exp list is not b.
Advanced
nodrop prevents observations outside e(sample) and the if and in qualifiers from being dropped
before the data are resampled.
reject(exp) identifies an expression that indicates when results should be rejected. When exp is
true, the resulting values are reset to missing values.
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
y=
(N 1) y (j) + yj
N
yj = N y (N 1) y (j)
These are the pseudovalues that svy: jackknife calculates. To move this discussion beyond the
sample mean, let b be the value of our statistic (not necessarily the sample mean) using the entire
dataset, and let b(j) be the computed value of our statistic with the j th observation omitted. The
pseudovalue for the j th observation is
bj = N b (N 1) b(j)
The mean of the pseudovalues is the alternative, first-order unbiased estimator mentioned above,
and the standard error of the mean of the pseudovalues is an estimator for the standard error of b
(Tukey 1958, Shao and Tu 1995).
When the jackknife is applied to survey data, PSUs are omitted instead of observations, N is the
number of PSUs instead of the sample size, and the sampling weights are adjusted owing to omitting
PSUs; see [SVY] variance estimation for more details.
Because of privacy concerns, many public survey datasets contain jackknife replication-weight
variables instead of variables containing information on the PSUs and strata. These replication-weight
variables are the adjusted sampling weights, and there is one replication-weight variable for each
omitted PSU.
106
Coef.
slope
.8014753
Jackknife
Std. Err.
.0160281
t
50.00
=
=
=
=
10351
117157513
62
31
P>|t|
0.000
.7687858
.8341648
107
Here we perform the same analysis as in the previous example, using jackknife replication weights.
. svy jackknife slope = _b[height], nodots: regress weight height
Linear regression
Number of strata
=
31
Number of obs
Population size
Replications
Design df
command:
slope:
10351
117157513
62
31
Coef.
slope
=
=
=
=
.8014753
Jackknife
Std. Err.
.0160281
t
50.00
P>|t|
0.000
.7687858
.8341648
The mse option causes svy jackknife to use the MSE form of the jackknife variance estimator.
This variance estimator will tend to be larger than the previous because of the addition of the familiar
squared bias term in the MSE; see [SVY] variance estimation for more details. The header for the
column of standard errors in the table of results is Jknife * for the jackknife variance estimator,
which uses the MSE formula.
. svy jackknife slope = _b[height], mse nodots: regress weight height
Linear regression
Number of strata
=
31
Number of obs
=
10351
Population size
= 117157513
Replications
=
62
Design df
=
31
command: regress weight height
slope: _b[height]
Coef.
slope
.8014753
Jknife *
Std. Err.
.0160284
t
50.00
P>|t|
0.000
.7687852
.8341654
108
Stored results
In addition to the results documented in [SVY] svy, svy jackknife stores the following in e():
Scalars
e(N reps)
e(N misreps)
e(k exp)
e(k eexp)
e(k extra)
Macros
e(cmdname)
e(cmd)
e(vce)
e(exp#)
e(jkrweight)
Matrices
e(b jk)
e(V)
number
number
number
number
number
of
of
of
of
of
replications
replications with missing values
standard expressions
b/ se expressions
extra estimates added to b
When exp list is b, svy jackknife will also carry forward most of the results already in e() from
command.
References
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Shao, J., and D. Tu. 1995. The Jackknife and Bootstrap. New York: Springer.
Tukey, J. W. 1958. Bias and confidence in not-quite large samples. Abstract in Annals of Mathematical Statistics 29:
614.
Also see
[SVY] svy postestimation Postestimation tools for svy
[R] jackknife Jackknife estimation
[SVY] svy bootstrap Bootstrap for survey data
[SVY] svy brr Balanced repeated replication for survey data
[SVY] svy sdr Successive difference replication for survey data
[U] 20 Estimation and postestimation commands
Title
svy postestimation Postestimation tools for svy
Description
References
Also see
Description
The following postestimation commands are available after svy:
command
Description
contrast
estat (svy)
estimates
lincom
109
110
Over
Mean
White
Black
Other
91.15725
88.269
85.54716
Linearized
Std. Err.
=
=
=
=
=
9811
111127314
4375
50129281
31
zinc
.541625
1.208336
2.608974
90.0526
85.80458
80.22612
92.2619
90.73342
90.8682
Then we run lincom to estimate the difference of zinc levels between the two subpopulations.
. lincom [zinc]White - [zinc]Black
( 1) [zinc]White - [zinc]Black = 0
Mean
Coef.
(1)
2.888249
Std. Err.
P>|t|
1.103999
2.62
0.014
.6366288
5.139868
The t statistic and its p-value give a survey analysis equivalent of a two-sample t test.
lincom and nlcom can be used after any of the estimation commands described in [SVY] svy
estimation. lincom can, for example, display results as odds ratios after svy: logit and can be
used to compute odds ratios for one covariate group relative to another. nlcom can display odds
ratios, as well, and allows more general nonlinear combinations of the parameters. See [R] lincom
and [R] nlcom for full details. Also see Eltinge and Sribney (1996) for an earlier implementation of
lincom for survey data.
Finally, lincom and nlcom operate on the estimated parameters only. To obtain estimates and
inference for functions of the parameters and of the data, such as for an exponentiated linear predictor
or a predicted probability of success from a logit model, use predictnl; see [R] predictnl.
111
=
=
31
62
Number of obs
Population size
Design df
F(
5,
27)
Prob > F
Linearized
Std. Err.
highbp
Odds Ratio
height
weight
age
.9656421
1.052911
1.055829
.005163
.0026433
.0133575
c.age#c.age
.9999399
female
_cons
.6260988
.653647
=
=
=
=
=
10351
117157513
31
284.33
0.0000
P>|t|
-6.54
20.54
4.29
0.000
0.000
0.000
.9551693
1.047534
1.028935
.9762298
1.058316
1.083426
.0001379
-0.44
0.666
.9996588
1.000221
.0364945
.5744564
-8.03
-0.48
0.000
0.632
.5559217
.108869
.7051347
3.924483
Because our model includes a quadratic in the age variable, the peak incidence of high blood
pressure with respect to age will occur at - b[age]/(2* b[c.age#c.age]), which we can estimate,
along with its standard error, using nlcom.
. nlcom peak: -_b[age]/(2*_b[c.age#c.age])
peak: -_b[age]/(2*_b[c.age#c.age])
highbp
Coef.
peak
452.0979
Std. Err.
P>|z|
933.512
0.48
0.628
2281.748
Or we can use testnl to test that the peak incidence of high blood pressure in the population is
70 years.
. testnl -_b[age]/(2*_b[c.age#c.age]) = 70
(1)
-_b[age]/(2*_b[c.age#c.age]) = 70
F(1, 31) =
0.17
Prob > F =
0.6851
These data do not reject our theory. testnl allows multiple hypotheses to be tested jointly and
applies the degrees-of-freedom adjustment for survey results; see [R] testnl.
112
highbp
Odds Ratio
height
weight
age
.9675961
1.052683
1.056628
.0052361
.0026091
.0134451
c.age#c.age
.9999402
female
0
1
P>|t|
-6.09
20.72
4.33
0.000
0.000
0.000
.9569758
1.047376
1.029559
.9783343
1.058018
1.084408
.0001382
-0.43
0.668
.9996585
1.000222
1
.6382331
(base)
.0377648
-7.59
0.000
.5656774
.720095
race
White
Black
Other
1
1.422003
1.63456
(base)
.1556023
.2929919
3.22
2.74
0.003
0.010
1.137569
1.13405
1.777557
2.355971
_cons
.4312846
.378572
-0.96
0.345
.0719901
2.583777
Our point estimates indicate that the odds of females having high blood pressure is about 64% of
the odds for men and that the odds of blacks having high blood pressure is about 1.4 times that of
whites. The odds ratios give us the relative effects of their covariates, but they do not give us any
sense of the absolute size of the effects. The odds ratio comparing blacks with whites is clearly large
and statistically significant, but does it represent a sizable change? One way to answer that question
is to explore the probabilities of high blood pressure from our fitted model. Lets first look at the
predictive margins of the probability of high blood pressure for the three levels of race.
. margins race, vce(unconditional)
Predictive margins
Expression
: Pr(highbp), predict()
Margin
race
White
Black
Other
.3600722
.4256413
.4523404
Linearized
Std. Err.
.0150121
.0211311
.0311137
Number of obs
23.99
20.14
14.54
10351
P>|t|
0.000
0.000
0.000
.3294548
.3825441
.3888836
.3906895
.4687385
.5157972
Because our response is a probability, these margins are sometimes called predicted marginal
proportions or model-adjusted risks. They let us compare the effect of our three racial groups while
113
controlling for the distribution of other covariates in the groups. Computationally, these predictive
margins are the weighted average of the predicted probabilities for each observation in the estimation
sample. The marginal probability for whites is the average probability, assuming that everyone in the
sample is white; the margin for blacks assumes that everyone is black; and the margin for others
assumes that everyone is something other than black or white.
There is a sizable difference in blood pressure between whites and blacks, with the marginal
probability of high blood pressure for whites being about 36% and that for blacks being just over
43%. These are the adjusted probability levels. A more direct answer to our question about whether
the odds ratios represent a substantial effect requires looking at the differences of these marginal
probabilities. Researchers in the health-related sciences call such differences risk differences, whereas
researchers in the social sciences usually call them average marginal effects or average partial effects.
Regardless of terminology, we are interested in the difference in the probability of blacks having
high blood pressure as compared with whites, while adjusting for all other covariates in the model.
We request risk differences by specifying the variables of interest in a dydx() option.
. margins, vce(unconditional) dydx(race)
Average marginal effects
Number of obs
10351
Expression
: Pr(highbp), predict()
dy/dx w.r.t. : 2.race 3.race
dy/dx
race
Black
Other
.0655691
.0922682
Linearized
Std. Err.
P>|t|
.0204063
.0343809
3.21
2.68
0.003
0.012
.0239501
.0221478
.1071881
.1623886
Note: dy/dx for factor levels is the discrete change from the base level.
Looking in the column labeled dy/dx, we see that the risk difference between blacks and whites
is about 2.7% (0.0267). That is a sizable as well as significant difference.
Because they are population-weighted averages over the whole sample, these margins are estimates
of the population average risk differences. And because we specified the vce(unconditional)
option, their standard errors and confidence intervals can be used to make inferences about the
population average risk differences. See Methods and formulas in [R] margins for details.
We can also compute margins or risk differences for subpopulations. To compute risk differences
for the four subpopulations that are the regions of the United StatesNortheast, Midwest, South,
and Westwe add the over(region) option.
114
dy/dx
10351
Linearized
Std. Err.
P>|t|
2.race
region
NE
MW
S
W
.0662951
.065088
.0663448
.0647221
.0207354
.0204357
.0202173
.0203523
3.20
3.19
3.28
3.18
0.003
0.003
0.003
0.003
.0240051
.0234091
.0251112
.0232134
.1085852
.106767
.1075783
.1062308
3.race
region
NE
MW
S
W
.093168
.091685
.0932303
.0912062
.0343919
.034247
.0345933
.034322
2.71
2.68
2.70
2.66
0.011
0.012
0.011
0.012
.0230253
.0218379
.0226769
.021206
.1633106
.1615322
.1637837
.1612063
Note: dy/dx for factor levels is the discrete change from the base level.
The differences in the covariate distributions across the regions have little effect on the risk
differences between blacks and whites, or between other races and whites.
Rather than explore the probabilities after logistic regression, we might have explored the hazards
or mean survival times after fitting a survival model. See [R] margins for many more applications of
margins.
115
Coef.
race
White
Black
Other
.3600722
.4256413
.4523404
Jackknife
Std. Err.
.0150128
.0211504
.0322488
23.98
20.12
14.03
P>|t|
0.000
0.000
0.000
.3294534
.3825048
.3865684
.390691
.4687778
.5181124
You can see that now the jackknife standard errors are being reported.
116
=
=
31
62
Number of obs
Population size
Design df
F(
8,
24)
Prob > F
R-squared
=
=
=
=
=
=
4948
56405414
31
156.24
0.0000
0.2379
Linearized
Std. Err.
P>|t|
.0158388
.0027352
5.79
0.000
.0102603
.0214173
c.age#c.age
-.0001464
.0000295
-4.96
0.000
-.0002066
-.0000862
1.female
-.3655338
.0116157
-31.47
0.000
-.3892242
-.3418434
race
Black
Other
.178402
-.0516952
.0314173
.0402381
5.68
-1.28
0.000
0.208
.114326
-.1337614
.242478
.030371
region
MW
S
W
-.02283
-.1685453
-.0362295
.0389823
.056004
.0387508
-0.59
-3.01
-0.93
0.562
0.005
0.357
-.1023349
-.2827662
-.1152623
.0566749
-.0543244
.0428032
_cons
2.440671
.0627987
38.86
0.000
2.312592
2.568749
loglead
Coef.
age
Given that we modeled the natural log of the lead measurement, we can use predictnl to compute
the exponentiated linear prediction (in the original units of the lead variable), along with its standard
error.
. predictnl leadhat = exp(xb()) if e(sample), se(leadhat_se)
(5403 missing values generated)
. sort lead leadhat
. gen showobs = inrange(_n,1,5) + inrange(_n,2501,2505) + inrange(_n,4945,4948)
117
lead
leadhat
leadhat_se
age
c.age#
c.age
1.
2.
3.
4.
5.
2
3
3
3
3
9.419804
8.966098
9.046788
9.046788
9.27693
.5433255
.5301117
.5298448
.5298448
.5347956
29
23
24
24
27
841
529
576
576
729
2501.
2502.
2503.
2504.
2505.
13
13
13
13
13
16.88317
16.90057
16.90057
16.90237
16.90852
.7728783
2.296082
2.296082
1.501056
2.018708
37
71
71
48
60
1369
5041
5041
2304
3600
4945.
4946.
4947.
4948.
61
64
66
80
17.18581
15.08437
17.78698
16.85864
2.052034
.647629
1.641349
1.333927
58
24
56
42
3364
576
3136
1764
2.region = 0
3.region = 0
4.region = 0
F( 3,
29) =
Prob > F =
2.96
0.0486
For one-dimensional tests, the adjusted and unadjusted F statistics are identical, but they differ for
higher-dimensional tests. Using the nosvyadjust option is not recommended because the unadjusted
F statistic can produce extremely anticonservative p-values (that is, p-values that are too small) when
the variance degrees of freedom (equal to the number of sampled PSUs minus the number of strata)
is not large relative to the dimension of the test.
118
2.region = 0
3.region = 0
4.region = 0
F(df,29)
df
(1)
(2)
(3)
0.34
9.06
0.87
1
1
1
1.0000 #
0.0155 #
1.0000 #
all
2.96
0.0486
# Bonferroni-adjusted p-values
See Korn and Graubard (1990) for a discussion of these three different procedures for conducting
joint-hypothesis tests. See Eltinge and Sribney (1996) for an earlier implementation of test for
survey data.
Example 7: Contrasts
After svy commands, we can estimate contrasts and make pairwise comparisons with the contrast
and pwcompare commands. First, we will fit a regression of serum zinc levels on health status:
. use http://www.stata-press.com/data/r13/nhanes2f, clear
. label list
hlthgrp:
1
2
3
4
5
hlthgrp
poor
fair
average
good
excellent
=
=
31
62
Number of obs
Population size
Design df
F(
4,
28)
Prob > F
R-squared
=
=
=
=
=
=
9188
104162204
31
15.61
0.0000
0.0098
Linearized
Std. Err.
P>|t|
.9272308
2.444004
4.038285
4.770911
.7690396
.6407097
.6830349
.7151641
1.21
3.81
5.91
6.67
0.237
0.001
0.000
0.000
-.6412357
1.137268
2.645226
3.312324
2.495697
3.75074
5.431344
6.229498
83.94729
.8523379
98.49
0.000
82.20893
85.68564
zinc
Coef.
health
fair
average
good
excellent
_cons
119
Higher levels of zinc are associated with better health. We can use reverse adjacent contrasts to
compare each health status with the preceding status.
. contrast ar.health
Contrasts of marginal linear predictions
Design df
Margins
(fair
(average
(good vs
(excellent
31
: asbalanced
health
vs poor)
vs fair)
average)
vs good)
Joint
Design
df
P>F
1
1
1
1
4
31
1.45
5.49
10.92
1.93
15.61
0.2371
0.0257
0.0024
0.1744
0.0000
(fair
(average
(good vs
(excellent
health
vs poor)
vs fair)
average)
vs good)
Contrast
Std. Err.
.9272308
1.516773
1.594281
.7326264
.7690396
.6474771
.4824634
.5270869
-.6412357
.1962347
.6102904
-.3423744
2.495697
2.837311
2.578271
1.807627
The first table reports significance tests for each contrast, along with a joint test of all the contrasts.
The row labeled (fair vs poor), for example, tests the null hypothesis that the first two health
statuses have the same mean zinc level. The test statistics are automatically adjusted for the survey
design.
The second table reports estimates, standard errors, and confidence limits for each contrast. The
row labeled (good vs average), for example, shows that those in good health have a mean zinc
level about 1.6 units higher than those of average health. The standard errors and confidence intervals
also account for the survey design.
If we would like to go further and make all possible pairwise comparisons of the health groups,
we can use the pwcompare command. We will specify the mcompare(sidak) option to account for
multiple comparisons and the cformat(%3.1f) option to reduce the number of decimal places in
the output:
120
31
Number of
Comparisons
health
10
Contrast
fair
average
good
excellent
average
good
excellent
good vs
excellent vs
excellent
health
vs poor
vs poor
vs poor
vs poor
vs fair
vs fair
vs fair
average
average
vs good
0.9
2.4
4.0
4.8
1.5
3.1
3.8
1.6
2.3
0.7
Std. Err.
Sidak
[95% Conf. Interval]
0.8
0.6
0.7
0.7
0.6
0.5
0.7
0.5
0.7
0.5
-1.4
0.5
2.0
2.6
-0.4
1.5
1.7
0.1
0.3
-0.9
3.2
4.4
6.1
6.9
3.5
4.8
6.0
3.0
4.4
2.3
ak intervals exclude the null value of zero. See [R] pwcompare for more
Seven of the ten Sid
information on pairwise comparisons and multiple-comparison adjustments.
P>|t|
=
=
=
=
=
121
10335
116997257
31
223.27
0.0000
health
Coef.
female
black
age
-.1615219
-.986568
-.0119491
.0523678
.0790277
.0082974
-3.08
-12.48
-1.44
0.004
0.000
0.160
-.2683267
-1.147746
-.0288717
-.054717
-.8253899
.0049736
c.age#c.age
-.0003234
.000091
-3.55
0.001
-.000509
-.0001377
/cut1
/cut2
/cut3
/cut4
-4.566229
-3.057415
-1.520596
-.242785
.1632561
.1699944
.1714342
.1703965
-27.97
-17.99
-8.87
-1.42
0.000
0.000
0.000
0.164
-4.899192
-3.404121
-1.870239
-.590311
-4.233266
-2.710709
-1.170954
.104741
The self-reported health variable takes five categories. Categories 1 and 2 denote negative
categories, whereas categories 4 and 5 denote positive categories. We wonder whether the distinctions
between the two positive categories and between the two negative categories are produced in accordance
with one latent dimension, which is an assumption of the ordered logistic model. To test onedimensionality, we will collapse the five-point health measure into a three-point measure, refit the
ordered logistic model, and compare the regression coefficients and cutpoints between the two analyses.
If the single latent variable assumption is valid, the coefficients and cutpoints should match. This can
be seen as a Hausman-style specification test. Estimation of the ordered logistic model parameters
for survey data is by maximum pseudolikelihood. Neither estimator is fully efficient, and thus the
assumptions for the classic Hausman test and for the hausman command are not satisfied. With
suest, we can obtain an appropriate Hausman test for survey data.
To perform the Hausman test, we are already almost halfway there by following steps 1 and 2 for
one of the models. We just need to store the current estimation results before moving on to the next
model. Here we store the results with estimates store under the name H5, indicating that in this
analysis, the dependent variable health has five categories.
. estimates store H5
We proceed by generating a new dependent variable health3, which maps values 1 and 2 into
2, 3 into 3, and 4 and 5 into 4. This transformation is conveniently accomplished with the clip()
function. We then fit an ologit model with this new dependent variable and store the estimation
results under the name H3.
. gen health3 = clip(health, 2, 4)
(2 missing values generated)
122
=
=
=
=
=
10335
116997257
31
197.08
0.0000
health3
Coef.
female
black
age
-.1551238
-1.046316
-.0365408
.0563809
.0728274
.0073653
-2.75
-14.37
-4.96
0.010
0.000
0.000
-.2701133
-1.194849
-.0515624
-.0401342
-.8977836
-.0215192
c.age#c.age
-.00009
.0000791
-1.14
0.264
-.0002512
.0000713
/cut1
/cut2
-3.655498
-2.109584
.1610211
.1597057
-22.70
-13.21
0.000
0.000
-3.983903
-2.435306
-3.327093
-1.783862
P>|t|
. estimates store H3
We can now obtain the combined estimation results of the two models stored under H5 and H3
with design-based standard errors.
Coef.
Linearized
Std. Err.
Number of obs
Population size
Design df
P>|t|
=
=
=
123
10335
116997257
31
H5_health
female
black
age
-.1615219
-.986568
-.0119491
.0523678
.0790277
.0082974
-3.08
-12.48
-1.44
0.004
0.000
0.160
-.2683267
-1.147746
-.0288717
-.054717
-.8253899
.0049736
c.age#c.age
-.0003234
.000091
-3.55
0.001
-.000509
-.0001377
H5_cut1
_cons
-4.566229
.1632561
-27.97
0.000
-4.899192
-4.233266
H5_cut2
_cons
-3.057415
.1699944
-17.99
0.000
-3.404121
-2.710709
H5_cut3
_cons
-1.520596
.1714342
-8.87
0.000
-1.870239
-1.170954
H5_cut4
_cons
-.242785
.1703965
-1.42
0.164
-.590311
.104741
H3_health3
female
black
age
-.1551238
-1.046316
-.0365408
.0563809
.0728274
.0073653
-2.75
-14.37
-4.96
0.010
0.000
0.000
-.2701133
-1.194849
-.0515624
-.0401342
-.8977836
-.0215192
c.age#c.age
-.00009
.0000791
-1.14
0.264
-.0002512
.0000713
H3_cut1
_cons
-3.655498
.1610211
-22.70
0.000
-3.983903
-3.327093
H3_cut2
_cons
-2.109584
.1597057
-13.21
0.000
-2.435306
-1.783862
The coefficients of H3 and H5 look rather similar. We now use test to perform a formal Hausmantype test for the hypothesis that the regression coefficients are indeed the same, as we would expect
if there is indeed a one-dimensional latent dimension for health. Thus we test that the coefficients in
the equation H5 health are equal to those in H3 health3.
. test [H5_health=H3_health3]
Adjusted Wald test
( 1) [H5_health]female - [H3_health3]female = 0
( 2) [H5_health]black - [H3_health3]black = 0
( 3) [H5_health]age - [H3_health3]age = 0
( 4) [H5_health]c.age#c.age - [H3_health3]c.age#c.age = 0
F( 4,
28) =
17.13
Prob > F =
0.0000
We can reject the null hypothesis, which indicates that the ordered logistic regression model is
indeed misspecified. Another specification test can be conducted with respect to the cutpoints. Variable
health3 was constructed from health by collapsing the two worst categories into value 2 and the
two best categories into value 4. This action effectively has removed two cutpoints, but if the model
124
fits the data, it should not affect the other two cutpoints. The comparison is hampered by a difference
in the names of the cutpoints between the models, as illustrated in the figure below:
H5
cut1
cut2
cut3
cut4
latent
xxxx
observed
1
2
3
4
5
H3
cut1
cut2
latent
xxobserved
2
3
4
Cutpoint /cut2 of model H5 should be compared with cutpoint /cut1 of H3, and similarly, /cut3
of H5 with /cut2 of H3.
. test ([H5_cut2]_cons=[H3_cut1]_cons) ([H5_cut3]_cons=[H3_cut2]_cons)
Adjusted Wald test
( 1) [H5_cut2]_cons - [H3_cut1]_cons = 0
( 2) [H5_cut3]_cons - [H3_cut2]_cons = 0
F( 2,
30) =
33.49
Prob > F =
0.0000
We conclude that the invariance of the cutpoints under the collapse of categories is not supported
by the data, again providing evidence against the reduced specification of the ordered logistic model
in this case.
The calls to ologit now use iweights instead of the svy prefix, and the svy option was added
to suest. No other changes are required.
125
References
Eltinge, J. L., and W. M. Sribney. 1996. svy5: Estimates of linear combinations and hypothesis tests for survey data.
Stata Technical Bulletin 31: 3142. Reprinted in Stata Technical Bulletin Reprints, vol. 6, pp. 246259. College
Station, TX: Stata Press.
Graubard, B. I., and E. L. Korn. 2004. Predictive margins with survey data. Biometrics 55: 652659.
Korn, E. L., and B. I. Graubard. 1990. Simultaneous testing of regression coefficients with complex survey data: Use
of Bonferroni t statistics. American Statistician 44: 270276.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Also see
[SVY] svy estimation Estimation commands for survey data
[SVY] svy brr Balanced repeated replication for survey data
[SVY] svy bootstrap Bootstrap for survey data
[SVY] svy jackknife Jackknife estimation for survey data
[SVY] svy sdr Successive difference replication for survey data
[SVY] estat Postestimation statistics for survey data
[U] 13.5 Accessing coefficients and standard errors
[U] 20 Estimation and postestimation commands
Title
svy sdr Successive difference replication for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
Reference
Description
Stored results
Also see
Syntax
svy
svy options
: command
Description
if/in
subpop( varname
if )
identify a subpopulation
Reporting
level(#)
noheader
nolegend
noadjust
nocnsreport
display options
coeflegend
126
127
Description
sdr options
Options
saving( filename , . . . )
mse
Reporting
verbose
nodots
noisily
trace
title(text)
Advanced
nodrop
reject(exp)
dof(#)
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
svy sdr requires that the successive difference replicate weights be identified using svyset.
elist contains
eexp is
specname is
eqno is
(name: elist)
elist
eexp
newvarname = (exp)
(exp)
specname
[eqno]specname
b
b[]
se
se[]
##
name
Menu
Statistics
>
>
Resampling
>
128
Description
svy sdr performs successive difference replication (SDR) for complex survey data. Typing
. svy sdr exp list: command
executes command once for each replicate, using sampling weights that are adjusted according to the
SDR methodology.
command defines the statistical command to be executed. Most Stata commands and user-written
programs can be used with svy sdr as long as they follow standard Stata syntax, allow the if
qualifier, and allow pweights and iweights; see [U] 11 Language syntax. The by prefix may not
be part of command.
exp list specifies the statistics to be collected from the execution of command. exp list is required
unless command has the svyb program property, in which case exp list defaults to b; see [P] program
properties.
Options
svy options; see [SVY] svy.
Options
saving( filename , suboptions ) creates a Stata data file (.dta file) consisting of (for each statistic
in exp list) a variable containing the replicates.
double specifies that the results for each replication be stored as doubles, meaning 8-byte reals.
By default, they are stored as floats, meaning 4-byte reals. This option may be used without
the saving() option to compute the variance estimates by using double precision.
every(#) specifies that results be written to disk every #th replication. every() should be specified
in conjunction with saving() only when command takes a long time for each replication.
This will allow recovery of partial results should some other software crash your computer.
See [P] postfile.
replace indicates that filename be overwritten if it exists. This option is not shown on the dialog
box.
mse specifies that svy sdr compute the variance by using deviations of the replicates from the
observed value of the statistics based on the entire dataset. By default, svy sdr computes the
variance by using deviations of the replicates from their mean.
Reporting
129
eform option; see [R] eform option. This option is ignored if exp list is not b.
Advanced
nodrop prevents observations outside e(sample) and the if and in qualifiers from being dropped
before the data are resampled.
reject(exp) identifies an expression that indicates when results should be rejected. When exp is
true, the resulting values are reset to missing values.
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
Example 1
The U.S. Census Bureau publishes public-use data from several of its surveys. This data can
be downloaded from http://factfinder.census.gov. We downloaded the American Community Survey
(ACS) Public Use Microdata Sample (PUMS) data collected in 2007. We extracted data for the state of
Texas and kept the variables containing age, sex, and sampling weight for each person in the dataset.
This sample dataset also contains 80 SDR weight variables.
. use http://www.stata-press.com/data/r13/ss07ptx
. svyset
pweight: pwgtp
VCE: sdr
MSE: off
sdrweight: pwgtp1 pwgtp2 pwgtp3 pwgtp4 pwgtp5 pwgtp6 pwgtp7 pwgtp8 pwgtp9
pwgtp10 pwgtp11 pwgtp12 pwgtp13 pwgtp14 pwgtp15 pwgtp16
(output omitted )
pwgtp73 pwgtp74 pwgtp75 pwgtp76 pwgtp77 pwgtp78 pwgtp79
pwgtp80
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
Here we estimate the average age of the males and of the females for our Texas subpopulation.
The standard errors are estimated using SDR.
130
Number of obs
Population size
Replications
50
=
=
=
230817
23904380
80
Over
Mean
Male
Female
33.24486
35.23908
SDR
Std. Err.
.0470986
.0386393
33.15255
35.16335
agep
33.33717
35.31481
Stored results
In addition to the results documented in [SVY] svy, svy sdr stores the following in e():
Scalars
e(N reps)
e(N misreps)
e(k exp)
e(k eexp)
e(k extra)
Macros
e(cmdname)
e(cmd)
e(vce)
e(exp#)
e(sdrweight)
Matrices
e(b sdr)
e(V)
number
number
number
number
number
of
of
of
of
of
replications
replications with missing values
standard expressions
b/ se expressions
extra estimates added to b
b, svy sdr will also carry forward most of the results already in e() from
Reference
Fay, R. E., and G. F. Train. 1995. Aspects of survey and model-based postcensal estimation of income and poverty
characteristics for states and counties. In Proceedings of the Government Statistics Section, 154159. American
Statistical Association.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svy bootstrap Bootstrap for survey data
[SVY] svy brr Balanced repeated replication for survey data
[SVY] svy jackknife Jackknife estimation for survey data
[U] 20 Estimation and postestimation commands
131
Title
svy: tabulate oneway One-way tables for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
Reference
Description
Stored results
Also see
Syntax
Basic syntax
svy: tabulate varname
Full syntax
in
svy vcetype
, svy options : tabulate varname if
, tabulate options display items display options
Syntax to report results
svy , display items display options
vcetype
Description
SE
linearized
bootstrap
brr
jackknife
sdr
132
svy options
133
Description
if/in
subpop( varname
if )
identify a subpopulation
SE
bootstrap options
brr options
jackknife options
sdr options
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
tabulate options
Description
Model
stdize(varname)
stdweight(varname)
tab(varname)
missing
display items
Description
Table items
cell
count
se
ci
deff
deft
cv
srssubpop
obs
cell proportions
weighted cell counts
standard errors
confidence intervals
display the DEFF design effects
display the DEFT design effects
display the coefficient of variation
report design effects assuming SRS within subpopulation
cell observations
When any of se, ci, deff, deft, cv, or srssubpop is specified, only one of cell or count can be specified. If
none of se, ci, deff, deft, cv, or srssubpop is specified, both cell and count can be specified.
134
display options
Description
Reporting
level(#)
proportion
percent
nomarginal
nolabel
cellwidth(#)
csepwidth(#)
stubwidth(#)
format(% fmt)
Menu
Statistics
>
>
Tables
>
One-way tables
Description
svy: tabulate produces one-way tabulations for complex survey data. See [SVY] svy: tabulate
twoway for two-way tabulations for complex survey data.
Options
svy options; see [SVY] svy.
Model
stdize(varname) specifies that the point estimates be adjusted by direct standardization across the
strata identified by varname. This option requires the stdweight() option.
stdweight(varname) specifies the weight variable associated with the standard strata identified in
the stdize() option. The standardization weights must be constant within the standard strata.
tab(varname) specifies that counts be cell totals of this variable and that proportions (or percentages)
be relative to (that is, weighted by) this variable. For example, if this variable denotes income, then
the cell counts are instead totals of income for each cell, and the cell proportions are proportions
of income for each cell.
missing specifies that missing values in varname be treated as another row category rather than be
omitted from the analysis (the default).
Table items
cell requests that cell proportions (or percentages) be displayed. This is the default if count is not
specified.
count requests that weighted cell counts be displayed.
se requests that the standard errors of cell proportions (the default) or weighted counts be displayed.
When se (or ci, deff, deft, or cv) is specified, only one of cell or count can be selected.
The standard error computed is the standard error of the one selected.
135
Reporting
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
level(95) or as set by set level; see [U] 20.7 Specifying the width of confidence intervals.
proportion, the default, requests that proportions be displayed.
percent requests that percentages be displayed instead of proportions.
nomarginal requests that the column marginal not be displayed.
nolabel requests that variable labels and value labels be ignored.
cellwidth(#), csepwidth(#), and stubwidth(#) specify widths of table elements in the output;
see [P] tabdisp. Acceptable values for the stubwidth() option range from 4 to 32.
format(% fmt) specifies a format for the items in the table. The default is format(%6.0g). See
[U] 12.5 Formats: Controlling how data are displayed.
svy: tabulate uses the tabdisp command (see [P] tabdisp) to produce the table. Only five items
can be displayed in the table at one time. The ci option implies two items. If too many items are
selected, a warning will appear immediately. To view more items, redisplay the table while specifying
different options.
Example 1
Here we use svy: tabulate to estimate the distribution of the race category variable from our
NHANES II dataset (McDowell et al. 1981). Before calling svy: tabulate, we use svyset to declare
136
1=white,
2=black,
3=other
=
=
31
62
=
=
=
10351
117157513
31
proportions
White
Black
Other
.8792
.0955
.0253
Total
Key:
Number of obs
Population size
Design df
proportions
cell proportions
Here we display weighted counts for each category of race along with the 95% confidence bounds,
as well as the design effects DEFF and DEFT. We also use the format() option to improve the look
of the table.
. svy: tabulate race, format(%11.3g) count ci deff deft
(running tabulate on estimation sample)
Number of strata
=
31
Number of obs
Number of PSUs
=
62
Population size
Design df
=
=
=
1=white,
2=black,
3=other
10351
117157513
31
count
lb
ub
deff
deft
White
Black
Other
102999549
11189236
2968728
97060400
8213964
414930
108938698
14164508
5522526
60.2
18.6
47.9
7.76
4.31
6.92
Total
117157513
Key:
count
lb
ub
deff
deft
=
=
=
=
=
weighted counts
lower 95% confidence bounds for weighted counts
upper 95% confidence bounds for weighted counts
deff for variances of weighted counts
deft for variances of weighted counts
From the above results, we can conclude with 95% confidence that the number of people in the
population that fall within the White category is between 97,060,400 and 108,938,698.
137
Stored results
In addition to the results documented in [SVY] svy, svy: tabulate stores the following in e():
Scalars
e(r)
Macros
e(cmd)
e(tab)
e(rowlab)
Matrices
e(Prop)
e(Obs)
e(Deff)
e(Deft)
e(Row)
number of rows
e(total)
tabulate
tab() variable
label or empty
e(rowvlab)
e(rowvar)
e(setype)
e(V row)
e(V srs row)
e(Deff row)
e(Deft row)
Reference
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svydescribe Describe survey data
[R] tabulate oneway One-way table of frequencies
[SVY] svy: tabulate twoway Two-way tables for survey data
[U] 20 Estimation and postestimation commands
Title
svy: tabulate twoway Two-way tables for survey data
Syntax
Options
Methods and formulas
Menu
Remarks and examples
References
Description
Stored results
Also see
Syntax
Basic syntax
svy: tabulate varname1 varname2
Full syntax
in
svy vcetype
, svy options : tabulate varname1 varname2 if
, tabulate options display items display options statistic options
Syntax to report results
svy , display items display options statistic options
vcetype
Description
SE
linearized
bootstrap
brr
jackknife
sdr
138
svy options
139
Description
if/in
subpop( varname
if )
identify a subpopulation
SE
bootstrap options
brr options
jackknife options
sdr options
svy requires that the survey design variables be identified using svyset; see [SVY] svyset.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.
Warning: Using if or in restrictions will often not produce correct variance estimates for subpopulations. To compute
estimates for subpopulations, use the subpop() option.
tabulate options
Description
Model
stdize(varname)
stdweight(varname)
tab(varname)
missing
display items
Description
Table items
cell
count
column
row
se
ci
deff
deft
cv
srssubpop
obs
cell proportions
weighted cell counts
within-column proportions
within-row proportions
standard errors
confidence intervals
display the DEFF design effects
display the DEFT design effects
display the coefficient of variation
report design effects assuming SRS within subpopulation
cell observations
When any of se, ci, deff, deft, cv, or srssubpop is specified, only one of cell, count, column, or row can
be specified. If none of se, ci, deff, deft, cv, or srssubpop is specified, any or all of cell, count, column,
and row can be specified.
140
display options
Description
Reporting
level(#)
proportion
percent
vertical
nomarginals
nolabel
notable
cellwidth(#)
csepwidth(#)
stubwidth(#)
format(% fmt)
statistic options
Description
Test statistics
Pearsons chi-squared
likelihood ratio
display null-based statistics
adjusted Wald
adjusted log-linear Wald
report unadjusted Wald statistics
pearson
lr
null
wald
llwald
noadjust
Menu
Statistics
>
>
Tables
>
Two-way tables
Description
svy: tabulate produces two-way tabulations with tests of independence for complex survey data.
See [SVY] svy: tabulate oneway for one-way tabulations for complex survey data.
Options
svy options; see [SVY] svy.
Model
stdize(varname) specifies that the point estimates be adjusted by direct standardization across the
strata identified by varname. This option requires the stdweight() option.
stdweight(varname) specifies the weight variable associated with the standard strata identified in
the stdize() option. The standardization weights must be constant within the standard strata.
tab(varname) specifies that counts be cell totals of this variable and that proportions (or percentages)
be relative to (that is, weighted by) this variable. For example, if this variable denotes income, the
cell counts are instead totals of income for each cell, and the cell proportions are proportions
of income for each cell.
141
missing specifies that missing values in varname1 and varname2 be treated as another row or column
category rather than be omitted from the analysis (the default).
Table items
cell requests that cell proportions (or percentages) be displayed. This is the default if none of count,
row, or column is specified.
count requests that weighted cell counts be displayed.
column or row requests that column or row proportions (or percentages) be displayed.
se requests that the standard errors of cell proportions (the default), weighted counts, or row or
column proportions be displayed. When se (or ci, deff, deft, or cv) is specified, only one of
cell, count, row, or column can be selected. The standard error computed is the standard error
of the one selected.
ci requests confidence intervals for cell proportions, weighted counts, or row or column proportions.
The confidence intervals are constructed using a logit transform so that their endpoints always lie
between 0 and 1.
deff and deft request that the design-effect measures DEFF and DEFT be displayed for each cell
proportion, count, or row or column proportion. See [SVY] estat for details. The mean generalized
DEFF is also displayed when deff, deft, or subpop is requested; see Methods and formulas for
an explanation.
The deff and deft options are not allowed with estimation results that used direct standardization
or poststratification.
cv requests that the coefficient of variation be displayed for each cell proportion, count, or row or
column proportion. See [SVY] estat for details.
srssubpop requests that DEFF and DEFT be computed using an estimate of SRS (simple random
sampling) variance for sampling within a subpopulation. By default, DEFF and DEFT are computed
using an estimate of the SRS variance for sampling from the entire population. Typically, srssubpop
would be given when computing subpopulation estimates by strata or by groups of strata.
obs requests that the number of observations for each cell be displayed.
Reporting
level(#) specifies the confidence level, as a percentage, for confidence intervals. The default is
level(95) or as set by set level; see [U] 20.7 Specifying the width of confidence intervals.
proportion, the default, requests that proportions be displayed.
percent requests that percentages be displayed instead of proportions.
vertical requests that the endpoints of confidence intervals be stacked vertically on display.
nomarginals requests that row and column marginals not be displayed.
nolabel requests that variable labels and value labels be ignored.
notable prevents the header and table from being displayed in the output. When specified, only the
results of the requested test statistics are displayed. This option may not be specified with any
other option in display options except the level() option.
cellwidth(#), csepwidth(#), and stubwidth(#) specify widths of table elements in the output;
see [P] tabdisp. Acceptable values for the stubwidth() option range from 4 to 32.
format(% fmt) specifies a format for the items in the table. The default is format(%6.0g). See
[U] 12.5 Formats: Controlling how data are displayed.
142
Test statistics
pearson requests that the Pearson 2 statistic be computed. By default, this is the test of independence
that is displayed. The Pearson 2 statistic is corrected for the survey design with the second-order
correction of Rao and Scott (1984) and is converted into an F statistic. One term in the correction
formula can be calculated using either observed cell proportions or proportions under the null
hypothesis (that is, the product of the marginals). By default, observed cell proportions are used.
If the null option is selected, then a statistic corrected using proportions under the null hypothesis
is displayed as well.
lr requests that the likelihood-ratio test statistic for proportions be computed. This statistic is not
defined when there are one or more zero cells in the table. The statistic is corrected for the survey
design by using the same correction procedure that is used with the pearson statistic. Again either
observed cell proportions or proportions under the null hypothesis can be used in the correction
formula. By default, the former is used; specifying the null option gives both the former and the
latter. Neither variant of this statistic is recommended for sparse tables. For nonsparse tables, the
lr statistics are similar to the corresponding pearson statistics.
null modifies the pearson and lr options only. If null is specified, two corrected statistics are
displayed. The statistic labeled D-B (null) (D-B stands for design-based) uses proportions under
the null hypothesis (that is, the product of the marginals) in the Rao and Scott (1984) correction.
The statistic labeled merely Design-based uses observed cell proportions. If null is not specified,
only the correction that uses observed proportions is displayed.
wald requests a Wald test of whether observed weighted counts equal the product of the marginals
(Koch, Freeman, and Freeman 1975). By default, an adjusted F statistic is produced; an unadjusted
statistic can be produced by specifying noadjust. The unadjusted F statistic can yield extremely
anticonservative p-values (that is, p-values that are too small) when the degrees of freedom of the
variance estimates (the number of sampled PSUs minus the number of strata) are small relative
to the (R 1)(C 1) degrees of freedom of the table (where R is the number of rows and C
is the number of columns). Hence, the statistic produced by wald and noadjust should not be
used for inference unless it is essentially identical to the adjusted statistic.
This option must be specified at run time in order to be used on subsequent calls to svy to report
results.
llwald requests a Wald test of the log-linear model of independence (Koch, Freeman, and Freeman 1975). The statistic is not defined when there are one or more zero cells in the table. The
adjusted statistic (the default) can produce anticonservative p-values, especially for sparse tables,
when the degrees of freedom of the variance estimates are small relative to the degrees of freedom of
the table. Specifying noadjust yields a statistic with more severe problems. Neither the adjusted
nor the unadjusted statistic is recommended for inference; the statistics are made available only
for pedagogical purposes.
noadjust modifies the wald and llwald options only. It requests that an unadjusted F statistic be
displayed in addition to the adjusted statistic.
svy: tabulate uses the tabdisp command (see [P] tabdisp) to produce the table. Only five items
can be displayed in the table at one time. The ci option implies two items. If too many items are
selected, a warning will appear immediately. To view more items, redisplay the table while specifying
different options.
143
Introduction
Despite the long list of options for svy: tabulate, it is a simple command to use. Using the
svy: tabulate command is just like using tabulate to produce two-way tables for ordinary data.
The main difference is that svy: tabulate computes a test of independence that is appropriate for
complex survey data.
The test of independence that is displayed by default is based on the usual Pearson 2 statistic
for two-way tables. To account for the survey design, the statistic is turned into an F statistic with
noninteger degrees of freedom by using a second-order Rao and Scott (1981, 1984) correction.
Although the theory behind the Rao and Scott correction is complicated, the p-value for the corrected
F statistic can be interpreted in the same way as a p-value for the Pearson 2 statistic for ordinary
data (that is, data that are assumed independent and identically distributed [i.i.d.]).
svy: tabulate, in fact, computes four statistics for the test of independence with two variants
of each, for a total of eight statistics. The option combination for each of the eight statistics are the
following:
1. pearson (the default)
2. pearson null
3. lr
4. lr null
5. wald
6. wald noadjust
7. llwald
8. llwald noadjust
The wald and llwald options with noadjust yield the statistics developed by Koch, Freeman, and
Freeman (1975), which have been implemented in the CROSSTAB procedure of the SUDAAN software
(Research Triangle Institute 1997, release 7.5).
These eight statistics, along with other variants, have been evaluated in simulations (Sribney 1998).
On the basis of these simulations, we advise researchers to use the default statistic (the pearson
option) in all situations. We recommend that the other statistics be used only for comparative or
pedagogical purposes. Sribney (1998) gives a detailed comparison of the statistics; a summary of his
conclusions is provided later in this entry.
Other than the test-statistic options (statistic options) and the survey design options (svy options),
most of the other options of svy: tabulate simply relate to different choices for what can be
displayed in the body of the table. By default, cell proportions are displayed, but viewing either row
or column proportions or weighted counts usually makes more sense.
Standard errors and confidence intervals can optionally be displayed for weighted counts or cell,
row, or column proportions. The confidence intervals for proportions are constructed using a logit
transform so that their endpoints always lie between 0 and 1. Associated design effects (DEFF and
144
DEFT) can be viewed for the variance estimates. The mean generalized DEFF (Rao and Scott 1984)
is also displayed when option deff, deft, or srssubpop is specified. The mean generalized DEFF
is essentially a design effect for the asymptotic distribution of the test statistic; see the Methods and
formulas section at the end of this entry.
Example 1
Using data from the Second National Health and Nutrition Examination Survey (NHANES II)
(McDowell et al. 1981), we identify the survey design characteristics with svyset and then produce
a two-way table of cell proportions with svy: tabulate.
. use http://www.stata-press.com/data/r13/nhanes2b
. svyset psuid [pweight=finalwgt], strata(stratid)
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: stratid
SU 1: psuid
FPC 1: <zero>
. svy: tabulate race diabetes
(running tabulate on estimation sample)
Number of strata
=
31
Number of obs
Number of PSUs
=
62
Population size
Design df
1=white,
2=black,
3=other
=
=
=
10349
117131111
31
White
Black
Other
.851
.0899
.0248
.0281
.0056
5.2e-04
.8791
.0955
.0253
Total
.9658
.0342
=
=
21.3483
15.0056
P = 0.0000
The default table displays only cell proportions, and this makes it difficult to compare the incidence
of diabetes in white, black, and other racial groups. It would be better to look at row proportions.
This can be done by redisplaying the results (that is, reissuing the command without specifying any
variables) with the row option.
1=white,
2=black,
3=other
31
62
Number of obs
Population size
Design df
=
=
=
145
10349
117131111
31
diabetes, 1=yes,
0=no
0
1 Total
White
Black
Other
.968
.941
.9797
.032
.059
.0203
1
1
1
Total
.9658
.0342
=
=
21.3483
15.0056
P = 0.0000
This table is much easier to interpret. A larger proportion of blacks have diabetes than do whites
or persons in the other racial category. The test of independence for a two-way contingency table
is equivalent to the test of homogeneity of row (or column) proportions. Hence, we can conclude
that there is a highly significant difference between the incidence of diabetes among the three racial
groups.
We may now wish to compute confidence intervals for the row proportions. If we try to redisplay,
specifying ci along with row, we get the following result:
. svy: tabulate, row ci
confidence intervals are only available for cells to compute row confidence
intervals, rerun command with row and ci options
r(111);
There are limits to what svy: tabulate can redisplay. Basically, any of the options relating to
variance estimation (that is, se, ci, deff, and deft) must be specified at run time along with the
single item (that is, count, cell, row, or column) for which you want standard errors, confidence
intervals, DEFF, or DEFT. So to get confidence intervals for row proportions, we must rerun the
command. We do so below, requesting not only ci but also se.
146
=
=
=
10349
117131111
31
Total
White
0.9680
(0.0020)
[0.9638,0.9718]
0.0320
(0.0020)
[0.0282,0.0362]
1.0000
Black
0.9410
(0.0061)
[0.9271,0.9523]
0.0590
(0.0061)
[0.0477,0.0729]
1.0000
Other
0.9797
(0.0076)
[0.9566,0.9906]
0.0203
(0.0076)
[0.0094,0.0434]
1.0000
Total
0.9658
(0.0018)
[0.9619,0.9693]
0.0342
(0.0018)
[0.0307,0.0381]
1.0000
Key:
row proportions
(linearized standard errors of row proportions)
[95% confidence intervals for row proportions]
Pearson:
Uncorrected
chi2(2)
=
21.3483
Design-based F(1.52, 47.26) =
15.0056
P = 0.0000
In the above table, we specified a %7.4f format rather than using the default %6.0g format.
The single format applies to every item in the table. We can omit the marginal totals by specifying
nomarginals. If the above style for displaying the confidence intervals is obtrusiveand it can be
in a wider tablewe can use the vertical option to stack the endpoints of the confidence interval,
one over the other, and omit the brackets (the parentheses around the standard errors are also omitted
when vertical is specified). To express results as percentages, as with the tabulate command (see
[R] tabulate twoway), we can use the percent option. Or we can play around with these display
options until we get a table that we are satisfied with, first making changes to the options on redisplay
(that is, omitting the cross-tabulated variables when we issue the command).
Technical note
The standard errors computed by svy: tabulate are the same as those produced by svy: mean,
svy: proportion, and svy: ratio. Indeed, svy: tabulate uses these commands as subroutines
to produce its table.
In the previous example, the estimate of the proportion of African Americans with diabetes (the
second proportion in the second row of the preceding table) is simply a ratio estimate; hence, we can
also obtain the same estimates by using svy: ratio:
147
. drop black
. gen black = (race==2) if !missing(race)
. gen diablk = diabetes*black
(2 missing values generated)
. svy: ratio diablk/black
(running ratio on estimation sample)
Survey: Ratio estimation
Number of strata =
31
Number of obs
Number of PSUs
=
62
Population size
Design df
_ratio_1: diablk/black
Ratio
_ratio_1
.0590349
Linearized
Std. Err.
.0061443
=
=
=
10349
117131111
31
.0715662
Although the standard errors are the same, the confidence intervals are slightly different. The
svy: tabulate command produced the confidence interval [ 0.0477, 0.0729 ], and svy: ratio
gave [ 0.0465, 0.0716 ]. The difference is because svy: tabulate uses a logit transform to produce
confidence intervals whose endpoints are always between 0 and 1. This transformation also shifts the
confidence intervals slightly toward 0.5, which is beneficial because the untransformed confidence
intervals tend to be, on average, biased away from 0.5. See Methods and formulas for details.
Gender
White
Race
Black Other
Male
Female
.8857
.884
.0875
.094
.0268
.022
1
1
Total
.8848
.0909
.0243
Total
=
=
3.6241
0.8626
P = 0.4227
=
=
=
10351
117157513
31
148
XP2 = m
C
R X
X
(b
prc pb0rc ) /b
p0rc
r=1 c=1
R X
C
X
pbrc ln (b
prc /b
p0rc )
r=1 c=1
where m is the total number of sampled individuals, pbrc is the estimated proportion for the cell in the
rth row and cth column of the table, and pb0rc is the estimated proportion under the null hypothesis of
PC
independence; that is, pb0rc = pbr pbc , the product of the row and column marginals: pbr = c=1 pbrc
PR
and pbc = r=1 pbrc .
For i.i.d. data, both these statistics are distributed asymptotically as 2(R1)(C1) . The likelihoodratio statistic is not defined when one or more of the cells in the table are empty. The Pearson statistic,
however, can be calculated when one or more cells in the table are emptythe statistic may not have
good properties in this case, but the statistic still has a computable value.
2
can be computed using weighted estimates of pbrc and pb0rc . However,
For survey data, XP2 and XLR
for a complex sampling design, one can no longer claim that they are distributed as 2(R1)(C1) , but
you can estimate the variance of pbrc under the sampling design. For instance, in Stata, this variance
can be estimated via linearization methods by using svy: mean or svy: ratio.
2
Rao and Scott (1981, 1984) derived the asymptotic distribution of XP2 and XLR
in terms of the
variance of pbrc . Unfortunately, the result (see (1) in Methods and formulas) is not computationally
feasible, but it can be approximated using correction formulas. svy: tabulate uses the second-order
correction developed by Rao and Scott (1984). By default, or when the pearson option is specified,
svy: tabulate displays the second-order correction of the Pearson statistic. The lr option gives the
second-order correction of the likelihood-ratio statistic. Because it is the default of svy: tabulate,
the correction computed with pbrc is referred to as the default correction.
The Rao and Scott papers, however, left some details outstanding about the computation of the
correction. One term in the correction formula can be computed using either pbrc or pb0rc . Because
under the null hypothesis both are asymptotically equivalent, theory offers no guidance about which
is best. By default, svy: tabulate uses pbrc for the corrections of the Pearson and likelihood-ratio
statistics. If the null option is specified, the correction is computed using pb0rc . For nonsparse tables,
these two correction methods yield almost identical results. However, in simulations of sparse tables,
Sribney (1998) found that the null-corrected statistics were extremely anticonservative for 2 2 tables
(that is, under the null, significance was declared too often) and were too conservative for other
tables. The default correction, however, had better properties. Hence, we do not recommend using
null.
149
For the computational details of the Rao and Scottcorrected statistics, see Methods and formulas.
Wald statistics
Prior to the work by Rao and Scott (1981, 1984), Wald tests for the test of independence for
two-way tables were developed by Koch, Freeman, and Freeman (1975). Two Wald statistics have
been proposed. The first, similar to the Pearson statistic, is based on
brc N
br N
bc /N
b
Ybrc = N
brc is the estimated weighted count for the r, cth cell. The delta method can be used to
where N
approximate the variance of Ybrc , and a Wald statistic can be calculated as usual. A second Wald
statistic can be constructed based on a log-linear model for the table. Like the likelihood-ratio statistic,
this statistic is undefined when there is a zero proportion in the table.
These Wald statistics are initially 2 statistics, but they have better properties when converted
into F statistics with denominator degrees of freedom that account for the degrees of freedom of the
variance estimator. They can be converted to F statistics in two ways.
One method is the standard manner: divide by the 2 degrees of freedom d0 = (R 1)(C 1)
to get an F statistic with d0 numerator degrees of freedom and = n L denominator degrees of
freedom. This is the form of the F statistic suggested by Koch, Freeman, and Freeman (1975) and
implemented in the CROSSTAB procedure of the SUDAAN software (Research Triangle Institute 1997,
release 7.5), and it is the method used by svy: tabulate when the noadjust option is specified
with wald or llwald.
Another technique is to adjust the F statistic by using
Fadj = ( d0 + 1)W/(d0 )
with
Fadj F (d0 , d0 + 1)
This is the default adjustment for svy: tabulate. test and the other svy estimation commands produce adjusted F statistics by default, using the same adjustment procedure. See Korn
and Graubard (1990) for a justification of the procedure.
The adjusted F statistic is identical to the unadjusted F statistic when d0 = 1, that is, for 2 2
tables.
As Thomas and Rao (1987) point out (also see Korn and Graubard [1990]), the unadjusted
F statistics can become extremely anticonservative as d0 increases when is small or moderate;
that is, under the null, the statistics are significant far more often than they should be. Because
the unadjusted statistics behave so poorly for larger tables when is not large, their use can be
justified only for small tables or when is large. But when the table is small or when is large,
the unadjusted statistic is essentially identical to the adjusted statistic. Hence, for statistical inference,
looking at the unadjusted statistics has no point.
The adjusted Pearson Wald F statistic usually behaves reasonably under the null. However, even
the adjusted F statistic for the log-linear Wald test tends to be moderately anticonservative when
is not large (Thomas and Rao 1987; Sribney 1998).
Example 3
With the NHANES II data, we tabulate, for the male subpopulation, high blood pressure (highbp)
versus a variable (sizplace) that indicates the degree of urbanity/ruralness. We request that all eight
statistics for the test of independence be displayed.
150
1 if BP >
140/90, 0
otherwise
=
=
31
62
Number of obs
Population size
Subpop. no. of obs
Subpop. size
Design df
1=urban,..., 8=rural
4
5
6
.8489
431
.8929
527
.9213
558
.8509
371
.8413
186
.1511
95
.1071
80
.0787
64
.1491
74
Total
1
526
1
607
1
622
1
445
Key:
=
=
=
=
=
10351
117157513
4915
56159480
31
Total
.9242
210
.8707
314
.8674
1619
.8764
4216
.1587
36
.0758
20
.1293
57
.1326
273
.1236
699
1
222
1
230
1
371
1
1892
1
4915
column proportions
number of observations
Pearson:
Uncorrected
D-B (null)
Design-based
chi2(7)
=
F(5.30, 164.45) =
F(5.54, 171.87) =
64.4581
2.2078
2.6863
P = 0.0522
P = 0.0189
Likelihood ratio:
Uncorrected
chi2(7)
=
D-B (null)
F(5.30, 164.45) =
Design-based F(5.54, 171.87) =
68.2365
2.3372
2.8437
P = 0.0408
P = 0.0138
Wald (Pearson):
Unadjusted
chi2(7)
Unadjusted
F(7, 31)
Adjusted
F(7, 25)
=
=
=
21.2704
3.0386
2.4505
P = 0.0149
P = 0.0465
Wald (log-linear):
Unadjusted
chi2(7)
Unadjusted
F(7, 31)
Adjusted
F(7, 25)
=
=
=
25.7644
3.6806
2.9683
P = 0.0052
P = 0.0208
The p-values from the null-corrected Pearson and likelihood-ratio statistics (lines labeled D-B
(null); D-B stands for design-based) are bigger than the corresponding default-corrected statistics
(lines labeled Design-based). Simulations (Sribney 1998) show that the null-corrected statistics are
overly conservative for many sparse tables (except 2 2 tables); this appears to be the case here,
although this table is hardly sparse. The default-corrected Pearson statistic has good properties under
the null for both sparse and nonsparse tables; hence, the smaller p-value for it should be considered
reliable.
The default-corrected likelihood-ratio statistic is usually similar to the default-corrected Pearson
statistic except for sparse tables, when it tends to be anticonservative. This example follows this
pattern, with its p-value being slightly smaller than that of the default-corrected Pearson statistic.
For tables of these dimensions (2 8), the unadjusted Pearson Wald and log-linear Wald
F statistics are extremely anticonservative under the null when the variance degrees of freedom is
small. Here the variance degrees of freedom is only 31 (62 PSUs minus 31 strata), so we expect that
151
the unadjusted Wald F statistics yield smaller p-values than the adjusted F statistics. Because of
their poor behavior under the null for small variance degrees of freedom, they cannot be trusted here.
Simulations show that although the adjusted Pearson Wald F statistic has good properties under
the null, it is often less powerful than the default Rao and Scottcorrected statistics. That is probably
the explanation for the larger p-value for the adjusted Pearson Wald F statistic than that for the
default-corrected Pearson and likelihood-ratio statistics.
The p-value for the adjusted log-linear Wald F statistic is about the same as that for the trustworthy
default-corrected Pearson statistic. However, that is probably because of the anticonservatism of the
log-linear Wald under the null balancing out its lower power under alternative hypotheses.
The uncorrected 2 Pearson and likelihood-ratio statistics displayed in the table are misspecified
statistics; that is, they are based on an i.i.d. assumption, which is not valid for complex survey data.
Hence, they are not correct, even asymptotically. The unadjusted Wald 2 statistics, on the other
hand, are completely different. They are valid asymptotically as the variance degrees of freedom
becomes large.
152
llwald statistic is the adjusted log-linear Wald F statistic. It can be anticonservative for both sparse
and nonsparse tables. If there is a zero cell, it cannot be computed.
llwald noadjust statistic is the unadjusted log-linear Wald F statistic. Like wald noadjust, it
can be extremely anticonservative under the null when the table degrees of freedom approaches
the variance degrees of freedom. It also suffers from the same general anticonservatism of the
llwald statistic. If there is a zero cell, it cannot be computed.
Stored results
In addition to the results documented in [SVY] svy, svy: tabulate stores the following in e():
Scalars
e(r)
e(cvgdeff)
number of rows
c.v. of generalized DEFF eigenvalues
e(total)
weighted sum of tab() variable
e(F Pear)
default-corrected Pearson F
e(df1 Pear) numerator d.f. for e(F Pear)
e(df2 Pear) denominator d.f. for e(F Pear)
e(p Pear)
p-value for e(F Pear)
e(cun Pear) uncorrected Pearson 2
e(F LR)
default-corrected likelihood-ratio F
e(df1 LR)
numerator d.f. for e(F LR)
denominator d.f. for e(F LR)
e(df2 LR)
e(p LR)
p-value for e(F LR)
e(cun LR)
uncorrected likelihood-ratio 2
e(F Wald)
e(p Wald)
e(Fun Wald)
e(pun Wald)
e(cun Wald)
Macros
e(cmd)
e(tab)
e(rowlab)
e(collab)
e(rowvlab)
Matrices
e(Prop)
e(Obs)
e(Deff)
e(Deft)
e(Row)
e(Col)
e(V row)
e(c)
e(mgdeff)
number of columns
mean generalized DEFF
e(F Penl)
e(df1 Penl)
e(df2 Penl)
e(p Penl)
e(cun Penl)
e(F LRnl)
e(df1 LRnl)
e(df2 LRnl)
e(p LRnl)
e(cun LRln)
e(F LLW)
e(p LLW)
e(Fun LLW)
e(pun LLW)
e(cun LLW)
null-corrected Pearson F
numerator d.f. for e(F Penl)
denominator d.f. for e(F Penl)
p-value for e(F Penl)
null variant uncorrected Pearson 2
null-corrected likelihood-ratio F
numerator d.f. for e(F LRnl)
denominator d.f. for e(F LRnl)
p-value for e(F LRnl)
null variant uncorrected
likelihood-ratio 2
adjusted log-linear Wald F
p-value for e(F LLW)
unadjusted log-linear Wald F
p-value for e(Fun LLW)
unadjusted log-linear Wald 2
tabulate
tab() variable
label or empty
label or empty
row variable label
e(colvlab)
e(rowvar)
e(colvar)
e(setype)
e(V col)
e(V srs row)
e(V srs col)
e(Deff row)
e(Deff col)
e(Deft row)
e(Deft col)
See Coefficient of variation under Methods and formulas of [SVY] estat for information on the
coefficient of variation (the cv option).
153
brc becomes
where wj is a sampling weight. If a variable, xj , is specified with the tab() option, N
m
X
brc =
N
wj xj y(rc)j
j=1
Let
br =
N
C
X
c=1
brc ,
N
bc =
N
R
X
r=1
brc ,
N
and
b =
N
C
R X
X
brc
N
r=1 c=1
brc /N
b ; estimated row proportions (row option) are pbrow rc =
Estimated cell proportions are pbrc = N
b
b
brc /N
bc ; estimated row
Nrc /Nr ; estimated column proportions (column option) are pbcol rc = N
b
b
b
b
marginals are pbr = Nr /N ; and estimated column marginals are pbc = Nc /N .
brc is a total, the proportion estimators are ratios, and their variances can be estimated using
N
linearization methods as outlined in [SVY] variance estimation. svy: tabulate computes the variance
estimates by using svy: mean, svy: ratio, and svy: total.
Confidence intervals
Confidence intervals for proportions are calculated using a logit transform so that the endpoints
lie between 0 and 1. Let pb be an estimated proportion and sb be an estimate of its standard error. Let
pb
f (b
p) = ln
1 pb
be the logit transform of the proportion. In this metric, an estimate of the standard error is
sb
c {f (b
SE
p)} = f 0 (b
p)b
s =
pb(1 pb)
Thus a 100(1 )% confidence interval in this metric is
t1/2, sb
pb
ln
1 pb
pb(1 pb)
where t1/2, is the (1 /2)th quantile of Students t distribution with degrees of freedom.
The endpoints of this confidence interval are transformed back to the proportion metric by using the
inverse of the logit transform
ey
f 1 (y) =
1 + ey
Hence, the displayed confidence intervals for proportions are
t1/2, sb
pb
1
f
ln
1 pb
pb(1 pb)
Confidence intervals for weighted counts are untransformed and are identical to the intervals produced
by svy: total.
154
XP2 = m
R X
C
X
(b
prc pb0rc ) /b
p0rc
r=1 c=1
R X
C
X
pbrc ln (b
prc /b
p0rc )
r=1 c=1
where m is the total number of sampled individuals, pbrc is the estimated proportion for the cell in the
rth row and cth column of the table as defined earlier, and pb0rc is the estimated proportion under the
null hypothesis of independence; that is, pb0rc = pbr pbc , the product of the row and column marginals.
2
Rao and Scott (1981, 1984) show that, asymptotically, XP2 and XLR
are distributed as
(R1)(C1)
X2
k Wk
(1)
k=1
where the Wk are independent 21 variables and the k are the eigenvalues of
e 0 Vsrs X
e 2 )1 (X
e 0 VX
e 2)
= (X
2
2
(2)
where V is the variance of the pbrc under the survey design and Vsrs is the variance of the pbrc that
you would have if the design were simple random sampling; namely, Vsrs has diagonal elements
prc (1 prc )/m and off-diagonal elements prc pst /m.
e 2 is calculated as follows. Rao and Scott do their development in a log-linear modeling context,
X
so consider [ 1 | X1 | X2 ] as predictors for the cell counts of the R C table in a log-linear model.
The X1 matrix of dimension RC (R + C 2) contains the R 1 main effects for the rows
and the C 1 main effects for the columns. The X2 matrix of dimension RC (R 1)(C 1)
contains the row and column interactions. Hence, fitting [ 1 | X1 | X2 ] gives the fully saturated
model (that is, fits the observed values perfectly) and [ 1 | X1 ] gives the independence model. The
e 2 matrix is the projection of X2 onto the orthogonal complement of the space spanned by the
X
e 0 Vsrs X1 = 0.
columns of X1 , where the orthogonality is defined with respect to Vsrs ; that is, X
2
See Rao and Scott (1984) for the proof justifying (1) and (2). However, even without a full
understanding, you can get a feeling for . It is like a ratio (although remember that it is a matrix) of
two variances. The variance in the numerator involves the variance under the true survey design, and
the variance in the denominator involves the variance assuming that the design was simple random
sampling. The design effect DEFF for an estimated proportion (see [SVY] estat) is defined as
DEFF
Vb (b
prc )
e
Vsrsor (e
prc )
Hence, can be regarded as a design-effects matrix, and Rao and Scott call its eigenvalues, the k s,
the generalized design effects.
155
Computing an estimate for by using estimates for V and Vsrs is easy. Rao and Scott (1984)
b:
derive a simpler formula for
b = C0 D1 Vbsrs D1 C 1 C0 D1 Vb D1 C
b
p
b
p
b
p
b
p
Here C is a contrast matrix that is any RC (R 1)(C 1) full-rank matrix orthogonal to [ 1 | X1 ];
that is, C0 1 = 0 and C0 X1 = 0. Db
is a diagonal matrix with the estimated proportions pbrc on the
p
diagonal. When one of the pbrc is zero, the corresponding variance estimate is also zero; hence, the
b.
corresponding element for D1 is immaterial for computing
b
p
Unfortunately, (1) is not practical for computing a p-value. However, you can compute simple
first-order and second-order corrections based on it. A first-order correction is based on downweighting
b ; namely, you compute
the i.i.d. statistics by the average eigenvalue of
XP2 (b ) = XP2 /b
2
2
XLR
(b ) = XLR
/b
and
b =
1
(R 1)(C 1)
(R1)(C1)
k=1
These corrected statistics are asymptotically distributed as 2(R1)(C1) . Thus, to first-order, you can
2
as being too big by a factor of b for true survey design.
view the i.i.d. statistics XP2 and XLR
A better second-order correction can be obtained by using the Satterthwaite approximation to the
distribution of a weighted sum of 21 variables. Here the Pearson statistic becomes
XP2 (b , b
a) =
XP2
b (b
a2 + 1)
(3)
where b
a is the coefficient of variation of the eigenvalues:
b
a2 =
Because
P b2
k
(R 1)(C 1)b2
Pb
b 2 , (3) can be written in an easily computable form as
b and P b2 = tr
k = tr
k
b
tr
XP2 (b , b
a) =
XP2
2
b
tr
d=
b 2
(R 1)(C 1)
(tr )
=
2
b2
b
a +1
tr
2
that is, a 2 with, in general, noninteger degrees of freedom. The likelihood-ratio statistic XLR
can
also be given this second-order correction in an identical manner.
156
Two issues remain. First, there are two possible ways to compute the variance estimate Vbsrs ,
b . Vsrs has diagonal elements prc (1 prc )/m and off-diagonal elements
which is used to compute
prc pst /m, but here prc is the true, not estimated, proportion. Hence, the question is what to use
to estimate prc : the observed proportions, pbrc , or the proportions estimated under the null hypothesis
of independence, pb0rc = pbr pbc ? Rao and Scott (1984, 53) leave this as an open question.
Because of the question of using pbrc or pb0rc to compute Vbsrs , svy: tabulate can compute both
corrections. By default, when the null option is not specified, only the correction based on pbrc is
displayed. If null is specified, two corrected statistics and corresponding p-values are displayed, one
computed using pbrc and the other using pb0rc .
The second outstanding issue concerns the degrees of freedom resulting from the variance estimate,
Vb , of the cell proportions under the survey design. The customary degrees of freedom for t statistics
resulting from this variance estimate is = n L, where n is the number of PSUs in the sample
and L is the number of strata.
Rao and Thomas (1989) suggest turning the corrected 2 statistic into an F statistic by dividing
it by its degrees of freedom, d0 = (R 1)(C 1). The F statistic is then taken to have numerator
degrees of freedom equal to d0 and denominator degrees of freedom equal to d0 . Hence, the corrected
Pearson F statistic is
FP =
XP2
b
tr
with FP F (d, d)
where d =
b 2
(tr )
b2
tr
and = n L
(4)
This is the corrected statistic that svy: tabulate displays by default or when the pearson option
is specified. When the lr option is specified, an identical correction is produced for the likelihood-ratio
2
b is
statistic XLR
. When null is specified, (4) is also used. For the statistic labeled D-B (null),
b is computed using pbrc .
computed using pb0rc . For the statistic labeled Design-based,
The Wald statistics computed by svy: tabulate with the wald and llwald options were developed
by Koch, Freeman, and Freeman (1975). The statistic given by the wald option is similar to the
Pearson statistic because it is based on
brc N
br N
bc /N
b
Ybrc = N
where r = 1, . . . , R 1 and c = 1, . . . , C 1. The delta method can be used to estimate the
b (which is Ybrc stacked into a vector), and a Wald statistic can be constructed in the
variance of Y
usual manner:
b 0 JN Vb (N)J
b N 0 1 Y
b
b N
b0
W =Y
where
JN = Y/
The statistic given by the llwald option is based on the log-linear model with predictors [1|X1 |X2 ]
that was mentioned earlier. This Wald statistic is
0
1 0
b X02 Jp Vb (b
b
WLL = X02 lnp
p)Jp 0 X2
X2 lnp
b with respect to p
b , which is, of course, just a matrix
where Jp is the matrix of first derivatives of lnp
with pb1
on
the
diagonal
and
zero
elsewhere.
This
log-linear
Wald
statistic is undefined when there
rc
is a zero cell in the table.
Unadjusted F statistics (noadjust option) are produced using
Funadj = W/d0
with
Funadj F (d0 , )
157
Fadj = ( d0 + 1)W/(d0 )
with
Fadj F (d0 , d0 + 1)
The other svy estimators also use this adjustment procedure for F statistics. See Korn and
Graubard (1990) for a justification of the procedure.
References
Fuller, W. A., W. J. Kennedy, Jr., D. Schnell, G. Sullivan, and H. J. Park. 1986. PC CARP. Software package. Ames,
IA: Statistical Laboratory, Iowa State University.
Jann, B. 2008. Multinomial goodness-of-fit: Large-sample tests with survey design correction and exact tests for small
samples. Stata Journal 8: 147169.
Koch, G. G., D. H. Freeman, Jr., and J. L. Freeman. 1975. Strategies in the multivariate analysis of data from
complex surveys. International Statistical Review 43: 5978.
Korn, E. L., and B. I. Graubard. 1990. Simultaneous testing of regression coefficients with complex survey data: Use
of Bonferroni t statistics. American Statistician 44: 270276.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Rao, J. N. K., and A. J. Scott. 1981. The analysis of categorical data from complex sample surveys: Chi-squared
tests for goodness of fit and independence in two-way tables. Journal of the American Statistical Association 76:
221230.
. 1984. On chi-squared tests for multiway contingency tables with cell proportions estimated from survey data.
Annals of Statistics 12: 4660.
Rao, J. N. K., and D. R. Thomas. 1989. Chi-squared tests for contingency tables. In Analysis of Complex Surveys,
ed. C. J. Skinner, D. Holt, and T. M. F. Smith, 89114. New York: Wiley.
Research Triangle Institute. 1997. SUDAAN Users Manual, Release 7.5. Research Triangle Park, NC: Research
Triangle Institute.
Sribney, W. M. 1998. svy7: Two-way contingency tables for survey or clustered data. Stata Technical Bulletin 45:
3349. Reprinted in Stata Technical Bulletin Reprints, vol. 8, pp. 297322. College Station, TX: Stata Press.
Thomas, D. R., and J. N. K. Rao. 1987. Small-sample comparisons of level and power for simple goodness-of-fit
statistics under cluster sampling. Journal of the American Statistical Association 82: 630636.
Also see
[SVY] svy postestimation Postestimation tools for svy
[SVY] svydescribe Describe survey data
[R] tabulate twoway Two-way table of frequencies
[R] test Test linear hypotheses after estimation
[SVY] svy: tabulate oneway One-way tables for survey data
[U] 20 Estimation and postestimation commands
Title
svydescribe Describe survey data
Syntax
Methods and formulas
Menu
References
Description
Also see
Options
Syntax
svydescribe
varlist
if
in
, options
Description
options
Main
stage(#)
finalstage
single
generate(newvar)
svydescribe requires that the survey design variables be identified using svyset; see [SVY] svyset.
Menu
Statistics
>
>
>
Description
svydescribe displays a table that describes the strata and the sampling units for a given sampling
stage in a survey dataset.
Options
Main
158
159
svydescribe will display the strata and PSU arrangement of the dataset.
. svydescribe
Survey: Describing stage 1 sampling units
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: stratid
SU 1: psuid
FPC 1: <zero>
#Obs per Unit
Stratum
#Units
1
2
3
(output omitted )
17
18
20
21
(output omitted )
31
32
31
#Obs
min
mean
max
2
2
2
380
185
348
165
67
149
190.0
92.5
174.0
215
118
199
2
2
2
2
393
359
285
214
180
144
125
102
196.5
179.5
142.5
107.0
213
215
160
112
2
2
308
450
143
211
154.0
225.0
165
239
62
10351
67
167.0
288
160
Our NHANES II dataset has 31 strata (stratum 19 is missing) and two PSUs per stratum.
The hdresult variable contains serum levels of high-density lipoprotein (HDL). If we try to
estimate the mean of hdresult, we get a missing value for the standard-error estimate and a note
explaining why.
. svy: mean hdresult
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
Number of PSUs
=
31
60
Mean
hdresult
Number of obs
Population size
Design df
Linearized
Std. Err.
49.67141
=
=
=
8720
98725345
29
Running svydescribe with hdresult and the single option will show which strata have only one
PSU.
. svydescribe hdresult, single
Survey: Describing strata with a single sampling unit in stage 1
pweight: finalwgt
VCE: linearized
Single unit: missing
Strata 1: stratid
SU 1: psuid
FPC 1: <zero>
#Obs with #Obs with
#Obs per included Unit
#Units
#Units
complete missing
Stratum
included omitted
data
data
min
mean
max
1
2
1*
1*
1
1
114
98
266
87
114
98
114.0
98.0
114
98
Both stratid = 1 and stratid = 2 have only one PSU with nonmissing values of hdresult.
Because this dataset has only 62 PSUs, the finalstage option produces a manageable amount of
output:
161
1
2
1
2
0
114
98
0
215
51
20
67
203
62
8720
1631
10351
It is rather striking that there are two PSUs with no values for hdresult. All other PSUs have only
a moderate number of missing values. Obviously, here a data analyst should first try to ascertain why
these data are missing. The answer here (C. L. Johnson, 1995, pers. comm.) is that HDL measurements
could not be collected until the third survey location. Thus there are no hdresult data for the first
two locations: stratid = 1, psuid = 1 and stratid = 2, psuid = 2.
Assuming that we wish to go ahead and analyze the hdresult data, we must collapse stratathat
is, merge themso that every stratum has at least two PSUs with some nonmissing values. We can
accomplish this by collapsing stratid = 1 into stratid = 2. To perform the stratum collapse, we
create a new strata identifier, newstr, and a new PSU identifier, newpsu.
. gen newstr = stratid
. gen newpsu = psuid
. replace newpsu = psuid + 2 if stratid == 1
(380 real changes made)
. replace newstr = 2 if stratid == 1
(380 real changes made)
162
1
2
3
4
1
2
98
0
0
114
161
116
20
67
215
51
38
33
1
2
180
203
59
8
62
8720
1631
10351
The new stratum, newstr = 2, has four PSUs, two of which contain some nonmissing values of
hdresult. This is sufficient to allow us to estimate the mean of hdresult and get a nonmissing
standard-error estimate.
. svy: mean hdresult
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
30
Number of PSUs
=
60
Mean
hdresult
49.67141
Number of obs
Population size
Design df
Linearized
Std. Err.
.3830147
=
=
=
8720
98725345
30
50.45364
163
31
60
Linearized
Std. Err.
Mean
hdresult
Number of obs
Population size
Design df
49.67141
=
=
=
8720
98725345
29
finalwgt
linearized
missing
stratid
psuid
<zero>
#Obs per Unit
Stratum
1
2
#Units
1*
1*
#Obs
min
114
98
mean
114
98
114.0
98.0
max
114
98
References
Eltinge, J. L., and W. M. Sribney. 1996. svy3: Describing survey data: Sampling design and missing data. Stata
Technical Bulletin 31: 2326. Reprinted in Stata Technical Bulletin Reprints, vol. 6, pp. 235239. College Station,
TX: Stata Press.
McDowell, A., A. Engel, J. T. Massey, and K. Maurer. 1981. Plan and operation of the Second National Health and
Nutrition Examination Survey, 19761980. Vital and Health Statistics 1(15): 1144.
Also see
[SVY] svy The survey prefix command
[SVY] svyset Declare survey design for dataset
[SVY] survey Introduction to survey commands
[SVY] variance estimation Variance estimation for survey data
Title
svymarkout Mark observations for exclusion on the basis of survey characteristics
Syntax
Description
Stored results
Also see
Syntax
svymarkout markvar
Description
svymarkout is a programmers command that resets the values of markvar to contain 0 wherever
any of the survey-characteristic variables (previously set by svyset) contain missing values.
svymarkout assumes that markvar was created by marksample or mark; see [P] mark. This
command is most helpful for developing estimation commands that use ml to fit models using
maximum pseudolikelihood directly, instead of relying on the svy prefix; see [P] program properties
for a discussion of how to write programs to be used with the svy prefix.
Example 1
program mysvyprogram, ...
...
syntax ...
marksample touse
svymarkout touse
...
end
Stored results
svymarkout stores the following in s():
Macros
s(weight)
Also see
[P] mark Mark observations for inclusion
[P] program properties Properties of user-defined programs
164
Title
svyset Declare survey design for dataset
Syntax
Options
References
Menu
Remarks and examples
Also see
Description
Stored results
Syntax
Single-stage design
svyset psu
weight
, design options options
Multiple-stage design
|| ssu, design options . . . options
svyset psu weight
, design options
Clear the current settings
svyset, clear
Report the current settings
svyset
design options
Description
Main
strata(varname)
fpc(varname)
165
166
Description
options
Weights
brrweight(varlist)
fay(#)
bsrweight(varlist)
bsn(#)
jkrweight(varlist, . . . )
sdrweight(varlist, . . . )
SE
vce(linearized)
vce(bootstrap)
vce(brr)
vce(jackknife)
vce(sdr)
dof(#)
mse
singleunit(method)
Poststratification
poststrata(varname)
postweight(varname)
clear
noclear
clear(opnames)
, stratum(#
. . . ) fpc(# # . . . ) multiplier(# # . . . ) reset )
sdrweight(varlist , fpc(#) )
clear, noclear, and clear() are not shown in the dialog box.
Menu
Statistics
>
>
>
Description
svyset declares the data to be complex survey data, designates variables that contain information
about the survey design, and specifies the default method for variance estimation. You must svyset
your data before using any svy command; see [SVY] svy estimation.
167
psu is n or the name of a variable (numeric or string) that contains identifiers for the primary
sampling units (clusters). Use n to indicate that individuals (instead of clusters) were randomly
sampled if the design does not involve clustered sampling. In the single-stage syntax, psu is optional
and defaults to n.
ssu is n or the name of a variable (numeric or string) that contains identifiers for sampling
units (clusters) in subsequent stages of the survey design. Use n to indicate that individuals were
randomly sampled within the last sampling stage.
Settings made by svyset are saved with a dataset. So, if a dataset is saved after it has been
svyset, it does not have to be set again.
The current settings are reported when svyset is called without arguments:
. svyset
See [SVY] poststratification for a discussion with examples using the poststrata() and postweight() options.
Options
Main
strata(varname) specifies the name of a variable (numeric or string) that contains stratum identifiers.
fpc(varname) requests a finite population correction for the variance estimates. If varname has
values less than or equal to 1, it is interpreted as a stratum sampling rate fh = nh /Nh , where
nh = number of units sampled from stratum h and Nh = total number of units in the population
belonging to stratum h. If varname has values greater than or equal to nh , it is interpreted as
containing Nh . It is an error for varname to have values between 1 and nh or to have a mixture
of sampling rates and stratum sizes.
Weights
brrweight(varlist) specifies the replicate-weight variables to be used with vce(brr) or with svy
brr.
fay(#) specifies Fays adjustment (Judkins 1990). The value specified in fay(#) is used to adjust
the BRR weights and is present in the BRR variance formulas.
The sampling weight of the selected PSUs for a given replicate is multiplied by 2-#, where the
sampling weight for the unselected PSUs is multiplied by #. When brrweight(varlist) is specified,
the replicate-weight variables in varlist are assumed to be adjusted using #.
fay(0) is the default and is equivalent to the original BRR method. # must be between 0 and 2,
inclusive, and excluding 1. fay(1) is not allowed because this results in unadjusted weights.
bsrweight(varlist) specifies the replicate-weight variables to be used with vce(bootstrap) or
with svy bootstrap.
bsn(#) specifies that # bootstrap replicate-weight variables were used to generate each bootstrap
mean-weight variable specified in the bsrweight() option. The default is bsn(1). The value
specified in bsn(#) is used to adjust the variance estimate to account for mean bootstrap weights.
168
SE
vce(vcetype) specifies the default method for variance estimation; see [SVY] variance estimation.
vce(linearized) sets the default to Taylor linearization.
vce(bootstrap) sets the default to the bootstrap; also see [SVY] svy bootstrap.
vce(brr) sets the default to BRR; also see [SVY] svy brr.
vce(jackknife) sets the default to the jackknife; also see [SVY] svy jackknife.
vce(sdr) sets the default to the SDR; also see [SVY] svy sdr.
dof(#) specifies the design degrees of freedom, overriding the default calculation, df = Npsu Nstrata .
mse specifies that the MSE formula be used when vce(bootstrap), vce(brr), vce(jackknife),
or vce(sdr) is specified. This option requires vce(bootstrap), vce(brr), vce(jackknife),
or vce(sdr).
singleunit(method) specifies how to handle strata with one sampling unit.
singleunit(missing) results in missing values for the standard errors and is the default.
singleunit(certainty) causes strata with single sampling units to be treated as certainty units.
Certainty units contribute nothing to the standard error.
singleunit(scaled) results in a scaled version of singleunit(certainty). The scaling factor
comes from using the average of the variances from the strata with multiple sampling units for
each stratum with one sampling unit.
singleunit(centered) specifies that strata with one sampling unit are centered at the grand
mean instead of the stratum mean.
169
Poststratification
poststrata(varname) specifies the name of the variable (numeric or string) that contains poststratum
identifiers.
postweight(varname) specifies the name of the numeric variable that contains poststratum population
totals (or sizes), that is, the number of elementary sampling units in the population within each
poststratum.
The following options are available with svyset but are not shown in the dialog box:
clear clears all the settings from the data. Typing
. svyset, clear
clears the survey design characteristics from the data in memory. Although this option may be
specified with some of the other svyset options, it is redundant because svyset automatically
clears the previous settings before setting new survey design characteristics.
noclear allows some of the options in options to be changed without clearing all the other settings.
This option is not allowed with psu, ssu, design options, or clear.
clear(opnames) allows some of the options in options to be cleared without clearing all the other
settings. opnames refers to an option name and may be one or more of the following:
weight vce
poststrata
dof
mse
brrweight
bsrweight
jkrweight
sdrweight
170
<none>
linearized
missing
<one>
<observations>
<zero>
The output from svyset states that there are no sampling weights (each observation is given a
sampling weight of 1), there is only one stratum (which is the same as no stratification), and the
PSUs are the observed individuals.
pw
linearized
missing
strata
su1
<zero>
pw
linearized
missing
<one>
su1
fpc1
<one>
<observations>
fpc2
171
Suppose that su2 identifies the clusters of individuals sampled in the second stage.
. svyset su1 [pweight=pw], fpc(fpc1) || su2, fpc(fpc2)
pweight: pw
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: su1
FPC 1: fpc1
Strata 2: <one>
SU 2: su2
FPC 2: fpc2
Stratification can take place in one or both of the sampling stages. Suppose that strata identifies
the second-stage strata and the first stage was not stratified.
. svyset su1 [pweight=pw], fpc(fpc1) || su2, fpc(fpc2) strata(strata)
pweight: pw
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: su1
FPC 1: fpc1
Strata 2: strata
SU 2: su2
FPC 2: fpc2
Use n for ssu in the last stage if the individuals are sampled within the third stage of clustered
sampling.
172
pw
linearized
missing
strata
su1
fpc1
<one>
su2
fpc2
<one>
su3
fpc3
<one>
<observations>
<zero>
Example 5
Consider the following dataset:
. use http://www.stata-press.com/data/r13/fpc
. list
stratid
psuid
weight
nh
Nh
1.
2.
3.
4.
5.
1
1
1
1
1
1
2
3
4
5
3
3
3
3
3
5
5
5
5
5
15
15
15
15
15
2.8
4.1
6.8
6.8
9.2
6.
7.
8.
2
2
2
1
2
3
4
4
4
3
3
3
12
12
12
3.7
6.6
4.2
Here the variable nh is the number of PSUs per stratum that were sampled, Nh is the total number of
PSUs per stratum in the sampling frame (that is, the population), and x is our survey item of interest.
If we wish to use a finite population correction in our computations, we must svyset an FPC
variable when we specify the variables for sampling weights, PSUs, and strata. The FPC variable
typically contains the number of sampling units per stratum in the population; Nh is our FPC variable.
Here we estimate the population mean of x assuming sampling without replacement.
173
2
8
Mean
x
5.448148
Number of obs
Population size
Design df
Linearized
Std. Err.
.6160407
=
=
=
8
27
6
6.955545
We must respecify the survey design before estimating the population mean of x assuming sampling
with replacement.
. svyset psuid [pweight=weight], strata(stratid)
pweight:
VCE:
Single unit:
Strata 1:
SU 1:
FPC 1:
weight
linearized
missing
stratid
psuid
<zero>
. svy: mean x
(running mean on estimation sample)
Survey: Mean estimation
Number of strata =
2
Number of obs
Number of PSUs
=
8
Population size
Design df
Mean
x
5.448148
Linearized
Std. Err.
.7412683
=
=
=
8
27
6
7.261966
Including an FPC always reduces the variance estimate. However, the reduction in the variance estimates
will be small when the Nh are large relative to the nh .
Rather than having a variable that represents the total number of PSUs per stratum in the sampling
frame, we sometimes have a variable that represents a sampling rate fh = nh /Nh . The syntax for
svyset is the same whether the FPC variable contains Nh or fh . The survey variance-estimation
routines in Stata are smart enough to identify what type of FPC information has been specified. If
the FPC variable is less than or equal to 1, it is interpreted as a sampling rate; if it is greater than
or equal to nh , it is interpreted as containing Nh . It is an error for the FPC variable to have values
between 1 and nh or to have a mixture of sampling rates and stratum sizes.
174
Example 6
Consider the two-stage design where PSUs are sampled with replacement and individuals are
sampled without replacement within the selected PSUs. Sampling the individuals with replacement
would change some of the details in the following discussion, but the result would be the same.
Our population contains 100 PSUs, with five individuals in each, so our population size is 500.
We will sample 10 PSUs with replacement and then sample two individuals without replacement from
within each selected PSU. This results in a dataset with 10 PSUs, each with 2 observations, for a total
of 20 observations. If our dataset contained the PSU information in variable su1 and the second-stage
FPC information in variable fpc2, our svyset command would be as follows.
. use http://www.stata-press.com/data/r13/svyset_wr
. svyset su1 || _n, fpc(fpc2)
Note: stage 1 is sampled with replacement; all further stages will be ignored
pweight: <none>
VCE: linearized
Single unit: missing
Strata 1: <one>
SU 1: su1
FPC 1: <zero>
As expected, svyset tells us that it is ignoring the second-stage information because the first-stage
units were sampled with replacement. Because we do not have an FPC variable for the first stage, we
can regard the sampling of PSUs as a series of independently and identically distributed draws. The
second-sampled PSU is drawn independently from the first and has the same sampling distribution
because the first-sampled PSU is eligible to be sampled again.
Consider the following alternative scenario. Because there are 10 ways to pick two people of five,
lets expand the 100 PSUs to form 100 10 = 1,000 new PSUs (NPSUs), each of size 2, representing
all possible two-person groups that can be sampled from the original 100 groups of five people. We
now have a population of 1,000 2 = 2,000 new people; each original person was replicated four
times. We can select 10 NPSUs with replacement to end up with a dataset consisting of 10 groups of
two to form samples of 20 people. If our new dataset contained the PSU information in variable
nsu1, our svyset command would be as follows:
. svyset nsu1
pweight:
VCE:
Single unit:
Strata 1:
SU 1:
FPC 1:
<none>
linearized
missing
<one>
nsu1
<zero>
There is nothing from a sampling standpoint to distinguish between our two scenarios. The
information contained in the variables su1 and nsu1 is equivalent; thus svyset can behave as if our
dataset came from the second scenario.
175
The following questions may spring to mind after reading the above:
The population in the first scenario has 500 people; the second has 2,000. Does that not
invalidate the comparison between the two scenarios?
Although the populations are different, the sampling schemes described for each scenario result
in the same sampling space. By construction, each possible sample from the first scenario is
also a possible sample from the second scenario. For the first scenario, the number of possible
samples of 10 of 100 PSUs sampled with replacement, where two of five individuals are sampled
without replacement, is
10
5
10010
= 1030
2
For the second scenario, the number of possible samples of 10 of 1,000 NPSUs sampled with
replacement, where each NPSU is sampled as a whole, is
1,00010 = 1030
Does the probability of being in the sample not depend on what happens in the first sampling
stage?
Not when the first stage is sampled with replacement. Sampling with replacement means that
all PSUs have the same chance of being selected even after one of the PSUs has been selected.
Thus each of the two-person groups that can possibly be sampled has the same chance of being
sampled even after a specific two-person group has been selected.
Is it valid to have replicated people in the population like the one in the second scenario?
Yes, because each person in the population can be sampled more than once. Sampling with
replacement allows us to construct the replicated people.
Replication-weight variables
Many groups that collect survey data for public use have taken steps to protect the privacy of
the survey participants. This may result in datasets that have replicate-weight variables instead of
variables that identify the strata and sampling units from the sampling stages. These datasets require
replication methods for variance estimation.
The brrweight(), jkrweight(), bsrweight(), and sdrweight() options allow svyset to
identify the set of replication weights for use with BRR, jackknife, bootstrap, and SDR variance
estimation (svy brr, svy jackknife, svy bootstrap, and svy sdr), respectively. In addition to
the weight variables, svyset also allows you to change the default variance estimation method from
linearization to BRR, jackknife, bootstrap, or SDR.
Example 7
Here are two simple examples using jackknife replication weights.
1. Data containing only sampling weights and jackknife replication weights, and we set the default
variance estimator to the jackknife:
176
2. Data containing only sampling weights and jackknife replication weights, and we set the default
variance estimator to the jackknife by using the MSE formula:
. svyset [pweight=pw], jkrweight(jkw_*) vce(jackknife) mse
pweight: pw
VCE: jackknife
MSE: on
jkrweight: jkw_1 jkw_2 jkw_3 jkw_4 jkw_5 jkw_6 jkw_7 jkw_8 jkw_9
Single unit: missing
Strata 1: <one>
SU 1: <observations>
FPC 1: <zero>
An identifier for the stratum in which the sampling weights have been adjusted because one
of its PSUs was dropped. We use the stratum() suboption to set these values. The default is
one stratum for all the replicate-weight variables.
The FPC value. We use the fpc() suboption to set these values. The default value is zero.
This characteristic is ignored when the mse option is supplied to svy jackknife.
A jackknife multiplier used in the formula for variance estimation. The multiplier for the
standard leave-one-out jackknife method is
nh 1
nh
where nh is the number of PSUs sampled from stratum h. We use the multiplier() suboption
to set these values. The default is derived from the above formula, assuming that nh is equal
to the number of replicate-weight variables for stratum h.
Because of privacy concerns, public survey datasets may not contain stratum-specific information.
However, the population size and an overall jackknife multiplier will probably be provided. You must
then supply this information to svyset for the jackknife replicate-weight variables. We will use the
19992000 NHANES data to illustrate how to set these characteristics.
The NHANES datasets for years 19992000 are available for download from the Centers for Disease
Control and Prevention (CDC) website, http://www.cdc.gov. This particular release of the NHANES data
contains jackknife replication weights in addition to the usual PSU and stratum information. These
variables are contained in the demographic dataset. In our web browser, we saved the demographic data
from the CDC website ftp://ftp.cdc.gov/pub/Health Statistics/NCHS/nhanes/1999-2000/DEMO.xpt. We
suggest that you rename the data to demo.xpt.
177
The 19992000 NHANES datasets are distributed in SAS Transport format, so we use Statas
import sasxport command to read the data into memory. Because of the nature of the survey
design, the demographic dataset demo.xpt has two sampling-weight variables. wtint2yr contains
the sampling weights appropriate for the interview data, and wtmec2yr contains the sampling weights
appropriate for the Mobile Examination Center (MEC) exam data. Consequently, there are two sets of
jackknife replicate-weight variables. The jackknife replicate-weight variables for the interview data
are named wtirep01, wtirep02, . . . , wtirep52. The jackknife replicate-weight variables for the
MEC exam data are named wtmrep01, wtmrep02, . . . , wtmrep52. The documentation published with
the NHANES data gives guidance on which weight variables to use.
. import sasxport demo.xpt
. describe wtint2yr wtmec2yr wtirep01 wtmrep01
storage
display
value
variable name
type
format
label
variable label
wtint2yr
double
%10.0g
wtmec2yr
double
%10.0g
wtirep01
double
%10.0g
wtmrep01
double
%10.0g
The number of PSUs in the NHANES population is not apparent, so we will not set an FPC value, but
we can set the standard jackknife multiplier for the 52 replicate-weight variables and save the results
as a Stata dataset for future use. Also the NHANES datasets all contain a variable called seqn. This
variable has a respondent sequence number that allows the dataset users to merge the demographic
dataset with other 19992000 NHANES datasets, so we sort on seqn before saving demo99 00.dta.
. local mult = 51/52
. svyset, jkrweight(wtmrep*, multiplier(mult))
(output omitted )
. svyset, jkrweight(wtirep*, multiplier(mult))
(output omitted )
. svyset, clear
. sort seqn
. save demo99_00
file demo99_00.dta saved
To complete this example, we will perform a simple analysis using the blood pressure data;
however, before we can perform any analysis, we have to merge the blood pressure dataset, bpx.xpt,
with our demographic dataset, demo99 00.dta. In our web browser, we saved the blood pressure
data from the CDC website ftp://ftp.cdc.gov/pub/Health Statistics/NCHS/nhanes/1999-2000/BPX.xpt.
We suggest that you rename the data to bpx.xpt.
We can then use import sasxport to read in the blood pressure data, sort on seqn, and save
the resulting dataset to bpx99 00.dta. We read in our copy of the demographic data, drop the
irrelevant weight variables, and merge in the blood pressure data from bpx99 00.dta. A quick call
to tabulate on the merge variable generated by merge indicates that 683 observations in the
demographic data are not present in the blood pressure data. We do not drop these observations;
otherwise, the estimate of the population size will be incorrect. Finally, we set the appropriate sampling
and replicate-weight variables with svyset before replacing bpx99 00.dta with a more complete
copy of the blood pressure data.
178
# of obs.
not matched
from master
from using
matched
683
683
0
(_merge==1)
(_merge==2)
9,282
(_merge==3)
. drop _merge
. svyset [pw=wtmec2yr], jkrweight(wtmrep*) vce(jackknife)
(output omitted )
. save bpx99_00, replace
file bpx99_00.dta saved
Having saved our merged dataset (with svysettings), we estimate the mean systolic blood pressure
for the population, using the MEC exam replication weights for jackknife variance estimation.
. svy: mean bpxsar
(running mean on estimation sample)
Jackknife replications (52)
1
2
3
4
5
..................................................
..
50
Mean
bpxsar
119.7056
Number of obs
Population size
Replications
Design df
=
=
=
=
7898
231756417
52
51
Jackknife
Std. Err.
.5109122
118.6799
120.7313
179
In the previous example, we worked with the 19992000 NHANES data. The 20012002 NHANES
demographics data are contained in demo b.xpt, and the blood pressure data are contained in
bpx b.xpt. We follow the same steps as in the previous example to merge the blood pressure data
with the demographic data for 20012002.
Visit the following CDC websites and save the data:
ftp://ftp.cdc.gov/pub/Health Statistics/NCHS/nhanes/2001-2002/BPX B.xpt
ftp://ftp.cdc.gov/pub/Health Statistics/NCHS/nhanes/2001-2002/DEMO B.xpt
We suggest that you rename the data to bpx b.xpt and demo b.xpt. We can then continue with
our example:
. import sasxport bpx_b.xpt
. sort seqn
. save bpx01_02
file bpx01_02.dta saved
. import sasxport demo_b.xpt
. drop wtint?yr
. sort seqn
. merge 1:1 seqn using bpx01_02
Result
not matched
from master
from using
matched
# of obs.
562
562
0
10,477
(_merge==1)
(_merge==2)
(_merge==3)
. drop _merge
. svyset sdmvpsu [pw=wtmec2yr], strata(sdmvstra)
pweight: wtmec2yr
VCE: linearized
Single unit: missing
Strata 1: sdmvstra
SU 1: sdmvpsu
FPC 1: <zero>
. save bpx01_02, replace
file bpx01_02.dta saved
The demographic dataset for 20012002 does not contain replicate-weight variables, but there are
variables that provide information on PSUs and strata for variance estimation. The PSU information
is contained in sdmvpsu, and the stratum information is in sdmvstra. See the documentation that
comes with the NHANES datasets for the details regarding these variables.
This new blood pressure dataset (bpx01 02.dta) is all we need if we are interested in analyzing
blood pressure data only for 20012002. However, we want to use the 19992002 combined data,
so we will follow the advice in the guidelines and just combine the datasets from the two surveys.
For those concerned about overlapping stratum identifiers between the two survey datasets, it is a
simple exercise to check that sdmvstra ranges from 1 to 13 for 19992000 but ranges from 14 to
28 for 20012002. Thus the stratum identifiers do not overlap, so we can simply append the data.
The 20012002 NHANES demographic dataset has no jackknife replicate-weight variables, so
we drop the replicate-weight variables from the 19992000 dataset. The sampling-weight variable
wtmec2yr is no longer appropriate for use with the combined data because its values are based on
the survey designs individually, so we drop it from the combined dataset. Finally, we use svyset
to identify the design variables for the combined surveys. wtmec4yr is the sampling-weight variable
for the MEC exam data developed by the data producers for the combined 19992002 NHANES data.
180
use bpx99_00
drop wt?rep*
append using bpx01_02
drop wtmec2yr
svyset sdmvpsu [pw=wtmec4yr], strata(sdmvstra)
pweight:
VCE:
Single unit:
Strata 1:
SU 1:
FPC 1:
wtmec4yr
linearized
missing
sdmvstra
sdmvpsu
<zero>
. save bpx99_02
file bpx99_02.dta saved
Now we can estimate the mean systolic blood pressure for our population by using the combined
surveys and jackknife variance estimation.
. svy jackknife: mean bpxsar
(running mean on estimation sample)
Jackknife replications (57)
1
2
3
4
5
..................................................
.......
Survey: Mean estimation
Number of strata =
28
Number of obs
=
Number of PSUs
=
57
Population size =
Replications
=
Design df
=
Mean
bpxsar
119.8914
50
16297
237466080
57
29
Jackknife
Std. Err.
.3828434
119.1084
Video example
Specifying the design of your survey data to Stata
120.6744
181
Stored results
svyset stores the following in r():
Scalars
r(stages)
Macros
r(wtype)
r(wexp)
r(wvar)
r(su#)
r(strata#)
r(fpc#)
r(bsrweight)
r(bsn)
r(brrweight)
r(fay)
r(jkrweight)
r(sdrweight)
r(sdrfpc)
r(vce)
r(dof)
r(mse)
r(poststrata)
r(postweight)
r(settings)
r(singleunit)
References
Cochran, W. G. 1977. Sampling Techniques. 3rd ed. New York: Wiley.
Judkins, D. R. 1990. Fays method for variance estimation. Journal of Official Statistics 6: 223239.
ODonnell, O., E. van Doorslaer, A. Wagstaff, and M. Lindelow. 2008. Analyzing Health Equity Using Household
Survey Data: A Guide to Techniques and Their Implementation. Washington, DC: The World Bank.
Also see
[SVY] svy The survey prefix command
[SVY] svydescribe Describe survey data
[SVY] survey Introduction to survey commands
[SVY] poststratification Poststratification for survey data
[SVY] subpopulation estimation Subpopulation estimation for survey data
[SVY] variance estimation Variance estimation for survey data
Title
variance estimation Variance estimation for survey data
Description
References
Also see
Description
Statas suite of estimation commands for survey data use the most commonly used variance estimation techniques: bootstrap, balanced repeated replication, jackknife, successive difference replication,
and linearization. The bootstrap, balanced repeated replication, jackknife, and successive difference
replication techniques are known as replication methods in the survey literature. We stick with that
nomenclature here, but note that these techniques are also known as resampling methods. This entry
discusses the details of these variance estimation techniques.
Also see Cochran (1977), Wolter (2007), and Shao and Tu (1995) for some background on these
variance estimators.
183
M=
Nh
L X
X
Mhi
h=1 i=1
is the number of individuals in the population. Let Yhij be a survey item for individual (h, i, j); for
example, Yhij might be income for adult j living in block i of county h. The associated population
total is
Nh M
L X
hi
X
X
Y =
Yhij
h=1 i=1 j=1
Let yhij denote the items for individuals who are members of the sampled PSUs; here h = 1,
. . . , L; i = 1, . . . , nh ; and j = 1, . . . , mhi . The number of individuals in the sample (number of
observations) is
nh
L X
X
m=
mhi
h=1 i=1
Yb =
nh X
mhi
L X
X
whij yhij
where whij is a sampling weight, and its unadjusted value for this design is whij = Nh /nh . The
estimator for the number of individuals in the population (population size) is
c=
M
nh X
mhi
L X
X
h=1 i=1 j=1
whij
184
Vb (Yb ) =
L
X
(1 fh )
h=1
h
nh X
(yhi y h )2
nh 1 i=1
(1)
yhi =
mhi
X
whij yhij
j=1
yh =
The factor (1 fh ) is the FPC for stratum h, and fh is the sampling rate for stratum h. The sampling
rate fh is derived from the variable specified in the fpc() option of svyset. If an FPC variable is
not svyset, then fh = 0. If an FPC variable is set and its values are greater than or equal to nh ,
then the variable is assumed to contain the values of Nh , and fh is given by fh = nh /Nh . If its
values are less than or equal to 1, then the variable is assumed to contain the sampling rates fh .
If multiple variables are supplied to svy: total, covariances are also computed. The estimator
b (notation for X is defined similarly to that of Y ) is
for the covariance between Yb and X
d Yb , X)
b =
Cov(
L
X
(1 fh )
h=1
h
nh X
(yhi y h )(xhi xh )
nh 1 i=1
M=
Nh M
L X
hi
X
X
h=1 i=1 j=1
Mhij
185
be the population size. Let Yhijk be a survey item for individual (h, i, j, k); for example, Yhijk might
be income for adult k living in block j of county i of state h. The associated population total is
Y =
Nh M
hij
L X
hi M
X
X
X
Yhijk
Let yhijk denote the items for individuals who are members of the sampled SSUs; here h = 1,
. . . , L; i = 1, . . . , nh ; j = 1, . . . , mhi ; and k = 1, . . . , mhij . The number of observations is
m=
nh X
mhi
L X
X
mhij
Yb =
nh X
mhi m
hij
L X
X
X
whijk yhijk
where whijk is a sampling weight, and its unadjusted value for this design is
Mhi
Nh
whijk =
nh
mhi
The estimator for the population size is
c=
M
nh X
mhi m
hij
L X
X
X
whijk
Vb (Yb ) =
L
X
(1 fh )
h=1
h
nh X
(yhi y h )2
nh 1 i=1
(2)
+
L
X
h=1
nh
X
hi
mhi X
fh
(1 fhi )
(yhij y hi )2
m
1
hi
i=1
j=1
where yhi is the weighted total for PSU (h, i); y h is the mean of the PSU totals for stratum h; yhij
is the weighted total for SSU (h, i, j),
mhij
yhij =
whijk yhijk
k=1
and y hi is the mean of the SSU totals for PSU (h, i),
y hi =
mhi
1 X
yhij
mhi j=1
186
Equation (2) is equivalent to (1) with an added term representing the increase in variability because
of the second stage of sampling. The factor (1 fh ) is the FPC, and fh is the sampling rate for the
first stage of sampling. The factor (1 fhi ) is the FPC, and fhi is the sampling rate for PSU (h, i).
The sampling rate fhi is derived in the same manner as fh .
If multiple variables are supplied to svy: total, covariances are also computed. For estimated
b (notation for X is defined similarly to that of Y ), the covariance estimator is
totals Yb and X
d Yb , X)
b =
Cov(
L
X
(1 fh )
h=1
L
X
h=1
fh
h
nh X
(yhi y h )(xhi xh )
nh 1 i=1
nh
mhi
X
mhi X
(1 fhi )
(yhij y hi )(xhij xhi )
mhi 1 j=1
i=1
On the basis of the formulas (1) and (2), writing down the variance estimator for a survey design
with three or more stages is a matter of deriving the variance component for each sampling stage.
The sampling units from a given stage pose as strata for the next sampling stage.
All but the last stage must be sampled without replacement to get nonzero variance components
from each stage of clustered sampling. For example, if fh = 0 in (2), the second stage contributes
nothing to the variance estimator.
187
singleunit(centered) specifies that strata with one sampling unit are centered at the population
mean instead of the stratum mean. The quotient nh /(nh 1) in the variance formula is also taken
to be 1 if nh = 1.
zj =
b
wj
If b is implicitly defined through estimating equations, zj can be computed by taking the partial
derivative of the estimating equations with respect to wj .
2. Define the weighted total of the score variable by
Zb =
m
X
wj zj
j=1
b by using the design-based variance estimator for the total Zb. This
3. Estimate the variance V (Z)
b.
variance estimator is an approximation of V ()
Revisiting the total estimator
As a first example, we derive the variance of the total from a stratified single-stage design. Here
you have b = Yb , and deriving the score variable for Yb results in the original values of the variable
of interest.
b
b = zj (Yb ) = Y = yj
zj ()
wj
Thus you trivially recover the variance of the total given in (1) and (2).
The ratio estimator
The estimator for the population ratio is
b
b= Y
R
b
X
and its score variable is
b xj
b
yj R
R
=
b
wj
X
Plugging this into (1) or (2) results in a variance estimator that is algebraically equivalent to the
variance estimator derived from directly applying the delta method (a first-order Taylor expansion
with respect to y and x)
b = 1 Vb (Yb ) 2R
b Cov(
d Yb , X)
b +R
b2 Vb (X)
b
Vb (R)
2
b
X
b =
zj (R)
188
G() = X 0 Y X 0 X = 0
where Y is the vector of outcomes for the full population and X is the matrix of explanatory variables
for the full population. For a pseudolikelihood modelsuch as logistic regression G() is the first
b from
derivative of the log-pseudolikelihood function with respect to . Estimate by solving for
the weighted sample estimating equations
b ) =
G(
m
X
wj S(; yj , xj ) = 0
(3)
j=1
b equal to the
The associated estimation command with iweights will produce point estimates
solution of (3).
A first-order matrix Taylor-series expansion yields
(
b
b )
G(
)1
b )
G(
b
with the following variance estimator for :
(
b
b ) = G()
Vb (
)1
(
b )}
Vb {G(
b )
G(
)T
b )}
= DVb {G(
D0
b
b
=
=
189
where D is (Xs0 W Xs )1 for linear regression (where W is a diagonal matrix of the sampling weights
and Xs is the matrix of sampled explanatory variables) or the inverse of the negative Hessian matrix
b ) as
from the pseudolikelihood model. Write G(
b ) =
G(
m
X
wj dj
j=1
where dj = sj xj and sj is a residual for linear regression or an equation-level score from the
pseudolikelihood model. The term equation-level score means the derivative of the log pseudolikelihood
b
b ) is an estimator for the total G(), and the variance estimator
with respect to xj . In either case, G(
b
b
V {G()}| b is computed using the design-based variance estimator for a total.
=
The above result is easily extended to models with ancillary parameters, multiple regression
equations, or both.
The bootstrap
The bootstrap methods for survey data used in recent years are largely due to McCarthy and
Snowden (1985), Rao and Wu (1988), and Rao, Wu, and Yue (1992). For example, Yeo, Mantel,
and Liu (1999) cite Rao, Wu, and Yue (1992) with the method for variance estimation used in the
National Population Health Survey conducted by Statistics Canada.
In the survey bootstrap, the model is fit multiple times, once for each of a set of adjusted sampling
weights that mimic bootstrap resampling. The variance is estimated using the resulting replicated
point estimates.
Let b
be the vector of point estimates computed using the sampling weights for a given survey
dataset (for example, b
could be a vector of means, ratios, or regression coefficients). Each bootstrap
replicate is produced by fitting the model with adjusted sampling weights. The adjusted sampling
weights are derived from the method used to resample the original survey data.
According to Yeo, Mantel, and Liu (1999), if nh is the number of observed PSUs in stratum h,
then nh 1 PSUs are sampled with replacement from within stratum h. This sampling is performed
independently across the strata to produce one bootstrap sample of the survey data. Let r be the
number of bootstrap samples. Suppose that we are about to generate the adjusted-weight variable for
the ith bootstrap replication and whij is the sampling weight attached to the j th observation in the
ith PSU of stratum h. The adjusted weight is
whij
=
nh
m whij
nh 1 hi
where mhi is the number of times the ith cluster in stratum h was resampled.
To accommodate privacy concerns, many public-use datasets contain replicate-weight variables
derived from the mean bootstrap described by Yung (1997). In the mean bootstrap, each adjusted
weight is derived from b bootstrap samples instead of one. The adjusted weight is
whij
=
nh
m whij
nh 1 hi
where
b
mhi =
1X
mhik
b
k=1
190
is the average of the number of times the ith cluster in stratum h was resampled among the b bootstrap
samples.
Each replicate is produced using an adjusted-weight variable with the estimation command that
computed b
. The adjusted-weight variables must be supplied to svyset with the bsrweight() option.
For the mean bootstrap, b must also be supplied to svyset with the bsn() option; otherwise, bsn(1)
is assumed. We call the variables supplied to the bsrweight() option bootstrap replicate-weight
variables when b = 1 and mean bootstrap replicate-weight variables when b > 1.
Let b
(i) be the vector of point estimates from the ith replication. When the mse option is specified,
the variance estimator is
r
b X b
b
b
V () =
{(i) b
}{b
(i) b
}0
r
i=1
r
1 Xb
(i)
r i=1
BRR
BRR was first introduced by McCarthy (1966, 1969a, and 1969b) as a method of variance estimation
for designs with two PSUs in every stratum. The BRR variance estimator tends to give more reasonable
variance estimates for this design than the linearized variance estimator, which can result in large
values and undesirably wide confidence intervals.
The model is fit multiple times, once for each of a balanced set of combinations where one PSU is
dropped (or downweighted) from each stratum. The variance is estimated using the resulting replicated
point estimates (replicates). Although the BRR method has since been generalized to include other
designs, Statas implementation of BRR requires two PSUs per stratum.
Let b
be the vector of point estimates computed using the sampling weights for a given stratified
survey design (for example, b
could be a vector of means, ratios, or regression coefficients). Each BRR
replicate is produced by dropping (or downweighting) a PSU from every stratum. This could result
in as many as 2L replicates for a dataset with L strata; however, the BRR method uses Hadamard
matrices to identify a balanced subset of the combinations from which to produce the replicates.
A Hadamard matrix is a square matrix, Hr (with r rows and columns), such that Hr0 Hr = rI ,
where I is the identity matrix. The elements of Hr are +1 and 1; 1 causes the first PSU to be
downweighted and +1 causes the second PSU to be downweighted. Thus r must be greater than or
equal to the number of strata.
Suppose that we are about to generate the adjusted-weight variable for the ith replication and wj
is the sampling weight attached to the j th observation, which happens to be in the first PSU of stratum
h. The adjusted weight is
(
f wj , if Hr [i, h] = 1
wj =
(2 f )wj , if Hr [i, h] = +1
where f is Fays adjustment (Judkins 1990). By default, f = 0.
191
Each replicate is produced using an adjusted-weight variable with the estimation command that
computed b
. The adjusted-weight variables can be generated by Stata or supplied to svyset with the
brrweight() option. We call the variables supplied to the brrweight() option BRR replicate-weight
variables.
Let b
(i) be the vector of point estimates from the ith replication. When the mse option is specified,
the variance estimator is
Vb (b
) =
r
X
1
{b
(i) b
}{b
(i) b
}0
r(1 f )2 i=1
Vb (b
) =
r
X
1
(i) (.) }0
{b
(i) (.) }{b
r(1 f )2 i=1
r
1 Xb
(i)
r i=1
The jackknife
The jackknife method for variance estimation is appropriate for many models and survey designs.
The model is fit multiple times, and each time one or more PSUs are dropped from the estimation
sample. The variance is estimated using the resulting replicates (replicated point estimates).
Let b
be the vector of point estimates computed using the sampling weights for a given survey
design (for example, b
could be a vector of means, ratios, or regression coefficients). The dataset
is resampled by dropping one or more PSUs from one stratum and adjusting the sampling weights
before recomputing a replicate for b
.
Let whij be the sampling weight for the j th individual from PSU i in stratum h. Suppose that
you are about to generate the adjusted weights for the replicate resulting from dropping k PSUs from
stratum h. The adjusted weight is
wabj
0,
nh
wabj ,
=
nh k
wabj ,
if a = h and b is dropped
if a = h and b is not dropped
otherwise
Each replicate is produced by using the adjusted-weight variable with the estimation command
that produced b
. For the delete-one jackknife (where one PSU is dropped for each replicate), adjusted
weights can be generated by Stata or supplied to svyset with the jkrweight() option. For the deletek jackknife (where k > 1 PSUs are dropped for each replicate), the adjusted-weight variables must
be supplied to svyset using the jkrweight() option. The variables supplied to the jkrweight()
option are called jackknife replicate-weight variables.
192
b
h,i = b
(h,i) + nh {b
b
(h,i) }
Vb (b
) =
L
X
nh
X
(1 fh ) mh
{b
(h,i) b
}{b
(h,i) b
}0
i=1
h=1
L nh
1 XX
b
(h,i)
n
i=1
h=1
where fh is the sampling rate and mh is the jackknife multiplier associated with stratum h. Otherwise,
the variance estimator is
Vb (b
) =
L
X
(1 fh ) mh
nh
X
{b
(h,i) h }{b
(h,i) h }0 ,
h =
i=1
h=1
nh
1 X
b
(h,i)
nh i=1
L nh
1 XX
b
h,i
n
i=1
h=1
mh =
nh 1
nh
ch =
nh !
(nh k)!k!
e
h,d = e
(h,d) + ch {b
e
(h,d) }
Vb (b
) =
L
X
(1 fh ) mh
h=1
ch
X
{e
(h,d) b
}{e
(h,d) b
}0
d=1
L ch
1 XX
e
(h,d) ,
C
h=1 d=1
C=
L
X
h=1
ch
193
Vb (b
) =
L
X
ch
X
(h,d) h }0 ,
(1 fh ) mh
{e
(h,d) h }{e
h=1
d=1
ch
1 X
e
h =
(h,d)
ch
d=1
L ch
1 XX
e
h,d
C
h=1 d=1
mh =
nh k
ch k
Variables containing the values for the stratum identifier h, the sampling rate fh , and the jackknife
multiplier mh can be svyset using the respective suboptions of the jkrweight() option: stratum(),
fpc(), and multiplier().
194
4
Vb (b
) = (1 f )
r
r
X
{b
(i) b
}{b
(i) b
}0
i=1
4
Vb (b
) = (1 f )
r
r
X
{b
(i) (.) }{b
(i) (.) }0
i=1
r
1 Xb
(i)
r i=1
Confidence intervals
In survey data analysis, the customary number of degrees of freedom attributed to a test statistic is
d = n L, where n is the number of PSUs and L is the number of strata. Under regularity conditions,
an approximate 100(1 )% confidence interval for a parameter (for example, could be a total,
ratio, or regression coefficient) is
b 1/2
b t1/2,d {Vb ()}
Cochran (1977, sec. 2.8) and Korn and Graubard (1990) give some theoretical justification for
using d = n L to compute univariate confidence intervals and p-values. However, for some cases,
inferences based on the customary n L degrees-of-freedom calculation may be excessively liberal;
the resulting confidence intervals may have coverage rates substantially less than the nominal 1 .
This problem generally is of the greatest practical concern when the population of interest has a
skewed or heavy-tailed distribution or is concentrated in a few PSUs. In some of these cases, the user
may want to consider constructing confidence intervals based on alternative degrees-of-freedom terms,
based on the Satterthwaite (1941, 1946) approximation and modifications thereof; see, for example,
Cochran (1977, sec. 5.4) and Eltinge and Jang (1996).
Sometimes there is no information on n or L for datasets that contain replicate-weight variables
but no PSU or strata variables. Each of svys replication commands has its own default behavior
when the design degrees of freedom are not svyset or specified using the dof() option. svy brr:
and svy jackknife: use d = r 1, where r is the number of replications. svy bootstrap: and
svy sdr: use z1/2 for the critical value instead of t1/2,d .
References
Binder, D. A. 1983. On the variances of asymptotically normal estimators from complex surveys. International
Statistical Review 51: 279292.
Cochran, W. G. 1977. Sampling Techniques. 3rd ed. New York: Wiley.
Demnati, A., and J. N. K. Rao. 2004. Linearization variance estimators for survey data. Survey Methodology 30:
1726.
Deville, J.-C. 1999. Variance estimation for complex statistics and estimators: Linearization and residual techniques.
Survey Methodology 25: 193203.
Eltinge, J. L., and D. S. Jang. 1996. Stability measures for variance component estimators under a stratified multistage
design. Survey Methodology 22: 157165.
195
Fay, R. E., and G. F. Train. 1995. Aspects of survey and model-based postcensal estimation of income and poverty
characteristics for states and counties. In Proceedings of the Government Statistics Section, 154159. American
Statistical Association.
Fuller, W. A. 1975. Regression analysis for sample survey. Sankhya, Series C 37: 117132.
Godambe, V. P., ed. 1991. Estimating Functions. Oxford: Oxford University Press.
Judkins, D. R. 1990. Fays method for variance estimation. Journal of Official Statistics 6: 223239.
Kish, L., and M. R. Frankel. 1974. Inference from complex samples. Journal of the Royal Statistical Society, Series
B 36: 137.
Kolenikov, S. 2010. Resampling variance estimation for complex survey data. Stata Journal 10: 165199.
Korn, E. L., and B. I. Graubard. 1990. Simultaneous testing of regression coefficients with complex survey data: Use
of Bonferroni t statistics. American Statistician 44: 270276.
McCarthy, P. J. 1966. Replication: An approach to the analysis of data from complex surveys. In Vital and Health
Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969a. Pseudoreplication: Further evaluation and application of the balanced half-sample technique. In Vital
and Health Statistics, series 2. Hyattsville, MD: National Center for Health Statistics.
. 1969b. Pseudo-replication: Half-samples. Revue de lInstitut International de Statistique 37: 239264.
McCarthy, P. J., and C. B. Snowden. 1985. The bootstrap and finite population sampling. In Vital and Health Statistics,
123. Washington, DC: U.S. Government Printing Office.
Rao, J. N. K., and C. F. J. Wu. 1988. Resampling inference with complex survey data. Journal of the American
Statistical Association 83: 231241.
Rao, J. N. K., C. F. J. Wu, and K. Yue. 1992. Some recent work on resampling methods for complex surveys. Survey
Methodology 18: 209217.
Sarndal, C.-E., B. Swensson, and J. Wretman. 1992. Model Assisted Survey Sampling. New York: Springer.
Satterthwaite, F. E. 1941. Synthesis of variance. Psychometrika 6: 309316.
. 1946. An approximate distribution of estimates of variance components. Biometrics Bulletin 2: 110114.
Shah, B. V. 2004. Comment [on Demnati and Rao (2004)]. Survey Methodology 30: 29.
Shao, J., and D. Tu. 1995. The Jackknife and Bootstrap. New York: Springer.
Skinner, C. J. 1989. Introduction to part A. In Analysis of Complex Surveys, ed. C. J. Skinner, D. Holt, and
T. M. F. Smith, 2358. New York: Wiley.
Wolter, K. M. 2007. Introduction to Variance Estimation. 2nd ed. New York: Springer.
Yeo, D., H. Mantel, and T.-P. Liu. 1999. Bootstrap variance estimation for the National Population Health Survey.
In Proceedings of the Survey Research Methods Section, 778785. American Statistical Association.
Yung, W. 1997. Variance estimation for public use files under confidentiality constraints. In Proceedings of the Survey
Research Methods Section, 434439. American Statistical Association.
Also see
[SVY] svy The survey prefix command
[SVY] svyset Declare survey design for dataset
[SVY] survey Introduction to survey commands
[P] robust Robust variance estimates
Glossary
100% sample. See census.
balanced repeated replication. Balanced repeated replication (BRR) is a method of variance estimation
for designs with two PSUs in every stratum. The BRR variance estimator tends to give more reasonable
variance estimates for this design than does the linearized variance estimator, which can result in
large values and undesirably wide confidence intervals. The BRR variance estimator is described
in [SVY] variance estimation.
bootstrap. The bootstrap is a method of variance estimation. The bootstrap variance estimator for
survey data is described in [SVY] variance estimation.
BRR. See balanced repeated replication.
census. When a census of the population is conducted, every individual in the population participates
in the survey. Because of the time, cost, and other constraints, the data collected in a census are
typically limited to items that can be quickly and easily determined, usually through a questionnaire.
cluster. A cluster is a collection of individuals that are sampled as a group. Although the cost in time
and money can be greatly decreased, cluster sampling usually results in larger variance estimates
when compared with designs in which individuals are sampled independently.
DEFF and DEFT. DEFF and DEFT are design effects. Design effects compare the sample-to-sample
variability from a given survey dataset with a hypothetical SRS design with the same number of
individuals sampled from the population.
DEFF is the ratio of two variance estimates. The design-based variance is in the numerator; the
hypothetical SRS variance is in the denominator.
DEFT is the ratio of two standard-error estimates. The design-based standard error is in the
numerator; the hypothetical SRS with-replacement standard error is in the denominator. If the given
survey design is sampled with replacement, DEFT is the square root of DEFF.
Estimated rates (means, proportions, and ratios) are adjusted according to the frequency distribution
from a standard population. The standard population is partitioned into categories called standard
strata. The stratum frequencies for the standard population are called standard weights. The
standardizing frequency distribution typically comes from census data, and the standard strata are
most commonly identified by demographic information such as age, sex, and ethnicity.
finite population correction. Finite population correction (FPC) is an adjustment applied to the variance
of a point estimator because of sampling without replacement, resulting in variance estimates that
are smaller than the variance estimates from comparable with-replacement sampling designs.
FPC. See finite population correction.
Hadamard matrix. A Hadamard matrix is a square matrix with r rows and columns that has the
property
Hr0 Hr = rIr
197
198
Glossary
where Ir is the identity matrix of order r. Generating a Hadamard matrix with order r = 2p
is easily accomplished. Start with a Hadamard matrix of order 2 (H2 ), and build your Hr by
repeatedly applying Kronecker products with H2 .
jackknife. The jackknife is a data-dependent way to estimate the variance of a statistic, such as a
mean, ratio, or regression coefficient. Unlike BRR, the jackknife can be applied to practically any
survey design. The jackknife variance estimator is described in [SVY] variance estimation.
linearization. Linearization is short for Taylor linearization. Also known as the delta method or
the Huber/White/robust sandwich variance estimator, linearization is a method for deriving an
approximation to the variance of a point estimator, such as a ratio or regression coefficient. The
linearized variance estimator is described in [SVY] variance estimation.
MEFF and MEFT. MEFF and MEFT are misspecification effects. Misspecification effects compare
the variance estimate from a given survey dataset with the variance from a misspecified model. In
Stata, the misspecified model is fit without weighting, clustering, or stratification.
MEFF is the ratio of two variance estimates. The design-based variance is in the numerator; the
The population is partitioned into categories, called poststrata. The sampling weights are adjusted
so that the sum of the weights within each poststratum is equal to the respective poststratum size.
The poststratum size is the number of individuals in the population that are in the poststratum.
The frequency distribution of the poststrata typically comes from census data, and the poststrata
are most commonly identified by demographic information such as age, sex, and ethnicity.
predictive margins. Predictive margins provide a way of exploring the response surface of a fitted
model in any response metric of interestmeans, linear predictions, probabilities, marginal effects,
risk differences, and so on. Predictive margins are estimates of responses (or outcomes) for
the groups represented by the levels of a factor variable, controlling for the differing covariate
distributions across the groups. They are the survey-data and nonlinear response analogue to what
are often called estimated marginal means or least-squares means for linear models.
Because these margins are population-weighted averages over the estimation sample or subsamples,
and because they take account of the sampling distribution of the covariates, they can be used to
make inferences about treatment effects for the population.
primary sampling unit. Primary sampling unit (PSU) is a cluster that was sampled in the first sampling
stage; see cluster.
probability weight. Probability weight is another term for sampling weight.
pseudolikelihood. A pseudolikelihood is a weighted likelihood that is used for point estimation.
Pseudolikelihoods are not true likelihoods because they do not represent the distribution function
for the sample data from a survey. The sampling distribution is instead determined by the survey
design.
Glossary
199
Survey designs that use stratification typically result in smaller variance estimates than do similar
designs that do not use stratification. Stratification is most effective in decreasing variability when
sampling units are more similar within the strata than between them.
subpopulation estimation. Subpopulation estimation focuses on computing point and variance estimates for part of the population. The variance estimates measure the sample-to-sample variability,
assuming that the same survey design is used to select individuals for observation from the
200
Glossary
population. This approach results in a different variance than measuring the sample-to-sample variability by restricting the samples to individuals within the subpopulation; see [SVY] subpopulation
estimation.
successive difference replication. Successive difference replication (SDR) is a method of variance
typically applied to systematic samples, where the observed sampling units are somehow ordered.
The SDR variance estimator is described in [SVY] variance estimation.
survey data. Survey data consist of information about individuals that were sampled from a population
according to a survey design. Survey data distinguishes itself from other forms of data by the
complex nature under which individuals are selected from the population.
In survey data analysis, the sample is used to draw inferences about the population. Furthermore,
the variance estimates measure the sample-to-sample variability that results from the survey design
applied to the fixed population. This approach differs from standard statistical analysis, in which the
sample is used to draw inferences about a physical process and the variance measures the sampleto-sample variability that results from independently collecting the same number of observations
from the same process.
survey design. A survey design describes how to sample individuals from the population. Survey
designs typically include stratification and cluster sampling at one or more stages.
Taylor linearization. See linearization.
variance estimation. Variance estimation refers to the collection of methods used to measure the
amount of sample-to-sample variation of point estimates; see [SVY] variance estimation.
Symbols
100% sample, [SVY] Glossary
A
Archer, K. J., [SVY] estat
association test, [SVY] svy: tabulate twoway
B
balanced repeated replication, [SVY] brr options,
[SVY] svy brr, [SVY] variance estimation,
[SVY] Glossary
balanced repeated replication standard errors, [SVY] svy
brr, [SVY] variance estimation
Berglund, P. A., [SVY] subpopulation estimation,
[SVY] survey
Binder, D. A., [SVY] svy estimation, [SVY] variance
estimation
bivariate probit regression, [SVY] svy estimation
bootstrap estimation, [SVY] bootstrap options,
[SVY] svy bootstrap, [SVY] variance
estimation, [SVY] Glossary
bootstrap options, [SVY] bootstrap options
bootstrap standard errors, [SVY] svy bootstrap,
[SVY] variance estimation
BRR, see balanced repeated replication
brr options, [SVY] brr options
C
categorical data, [SVY] svy estimation,
[SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway
census, [SVY] Glossary
data, [SVY] direct standardization, [SVY] survey,
[SVY] variance estimation
certainty
strata, [SVY] estat
units, [SVY] variance estimation
chi-squared, test of independence, [SVY] svy: tabulate
twoway
cluster, [SVY] survey, [SVY] svy estimation,
[SVY] svyset, [SVY] variance estimation,
[SVY] Glossary
Cochran, W. G., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey, [SVY] svyset,
[SVY] variance estimation
coefficient of variation, [SVY] estat
Collins, E., [SVY] survey, [SVY] svy estimation
201
D
data, survey, see survey data
DEFF, see design effects
DEFT, see design effects
delta method, [SVY] variance estimation,
[SVY] Glossary
Demnati, A., [SVY] direct standardization,
[SVY] poststratification, [SVY] variance
estimation
design effects, [SVY] estat, [SVY] svy: tabulate
oneway, [SVY] svy: tabulate twoway,
[SVY] Glossary
Deville, J.-C., [SVY] direct standardization,
[SVY] poststratification, [SVY] variance
estimation
differences of two means test, [SVY] svy
postestimation
direct standardization, [SVY] direct standardization,
[SVY] Glossary
E
effects, estat subcommand, [SVY] estat
Eltinge, J. L., [SVY] estat, [SVY] survey, [SVY] svy
postestimation, [SVY] svydescribe,
[SVY] variance estimation
endogenous variable, [SVY] svy estimation
Engel, A., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey, [SVY] svy,
[SVY] svy brr, [SVY] svy estimation,
[SVY] svy jackknife, [SVY] svy
postestimation, [SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway, [SVY] svydescribe
equality test of coefficients, [SVY] svy postestimation
equality test of means, [SVY] svy postestimation
estat
cv command, [SVY] estat
effects command, [SVY] estat
gof command, [SVY] estat
lceffects command, [SVY] estat
G
generalized
linear models, [SVY] svy estimation
negative binomial regression, [SVY] svy estimation
Gerow, K. G., [SVY] survey
Godambe, V. P., [SVY] variance estimation
gof, estat subcommand, [SVY] estat
Golden, C. D., [SVY] survey, [SVY] svy estimation
Gonzalez, J. F., Jr., [SVY] estat, [SVY] subpopulation
estimation, [SVY] svy bootstrap, [SVY] svy
estimation
goodness of fit, [SVY] estat
Gould, W. W., [SVY] ml for svy, [SVY] survey
Graubard, B. I., [SVY] direct standardization,
[SVY] estat, [SVY] survey, [SVY] svy,
[SVY] svy estimation, [SVY] svy
postestimation, [SVY] svy: tabulate twoway,
[SVY] variance estimation
H
Hadamard matrix, [SVY] svy brr, [SVY] Glossary
Heckman selection model, [SVY] svy estimation
Heeringa, S. G., [SVY] subpopulation estimation,
[SVY] survey
heteroskedastic probit regression, [SVY] svy estimation
heteroskedasticity robust variances, see robust,
Huber/White/sandwich estimator of variance
Holt, D., [SVY] estat, [SVY] survey
I
independence test, [SVY] svy: tabulate twoway
instrumental-variables regression, [SVY] svy estimation
interval regression, [SVY] svy estimation
K
Kennedy, W. J., Jr., [SVY] svy: tabulate twoway
Kish design effects, [SVY] estat
Kish, L., [SVY] estat, [SVY] survey, [SVY] variance
estimation
Koch, G. G., [SVY] svy: tabulate twoway
Kolenikov, S., [SVY] svy bootstrap, [SVY] variance
estimation
Korn, E. L., [SVY] direct standardization,
[SVY] estat, [SVY] survey, [SVY] svy,
[SVY] svy estimation, [SVY] svy
postestimation, [SVY] svy: tabulate twoway,
[SVY] variance estimation
Krauss, N., [SVY] estat, [SVY] subpopulation
estimation, [SVY] svy bootstrap, [SVY] svy
estimation
Kreuter, F., [SVY] survey
L
Lane, M. A., [SVY] survey, [SVY] svy estimation
lceffects, estat subcommand, [SVY] estat
Lemeshow, S. A., [SVY] estat,
[SVY] poststratification, [SVY] survey
Levy, P. S., [SVY] poststratification, [SVY] survey
Lin, D. Y., [SVY] svy estimation
lincom command, [SVY] svy postestimation
Lindelow, M., [SVY] svy estimation, [SVY] svyset
linear combinations, [SVY] estat, [SVY] svy
postestimation
linear regression, [SVY] svy estimation
linearization, see linearized variance estimator
linearized variance estimator, [SVY] variance
estimation, [SVY] Glossary
M
Madans, J. H., [SVY] survey, [SVY] svy estimation
Mantel, H., [SVY] svy bootstrap, [SVY] variance
estimation
margins command, [SVY] svy postestimation
Massey, J. T., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey, [SVY] svy,
[SVY] svy brr, [SVY] svy estimation,
[SVY] svy jackknife, [SVY] svy
postestimation, [SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway, [SVY] svydescribe
Maurer, K., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey, [SVY] svy,
[SVY] svy brr, [SVY] svy estimation,
[SVY] svy jackknife, [SVY] svy
postestimation, [SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway, [SVY] svydescribe
maximum pseudolikelihood estimation, [SVY] ml for
svy, [SVY] variance estimation
McCabe, S. E., [SVY] estat
McCarthy, P. J., [SVY] survey, [SVY] svy bootstrap,
[SVY] svy brr, [SVY] variance estimation
McDowell, A., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey, [SVY] svy,
[SVY] svy brr, [SVY] svy estimation,
[SVY] svy jackknife, [SVY] svy
postestimation, [SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway, [SVY] svydescribe
means, survey data, [SVY] svy estimation
MEFF, see misspecification effects
MEFT, see misspecification effects
Mendenhall, W., III, [SVY] survey
Midthune, D., [SVY] estat, [SVY] svy estimation
Miller, H. W., [SVY] survey, [SVY] svy estimation
misspecification effects, [SVY] estat, [SVY] Glossary
ml command, [SVY] ml for svy
model coefficients test, [SVY] svy postestimation
multinomial
logistic regression, [SVY] svy estimation
probit regression, [SVY] svy estimation
multistage clustered sampling, [SVY] survey,
[SVY] svydescribe, [SVY] svyset
Murphy, R. S., [SVY] survey, [SVY] svy estimation
Mussolino, M. E., [SVY] survey, [SVY] svy estimation
O
odds ratio, [SVY] svy estimation
differences, [SVY] svy postestimation
ODonnell, O., [SVY] svy estimation, [SVY] svyset
ordered
logistic regression, [SVY] svy estimation
probit regression, [SVY] svy estimation
probit with sample selection, [SVY] svy estimation
Ott, R. L., [SVY] survey
P
parametric survival models, [SVY] svy estimation
Park, H. J., [SVY] svy: tabulate twoway
Pitblado, J. S., [SVY] ml for svy, [SVY] survey
Poi, B. P., [SVY] ml for svy, [SVY] survey
point estimate, [SVY] Glossary
Poisson regression, [SVY] svy estimation
polytomous logistic regression, [SVY] svy estimation
population standard deviation, see subpopulation,
standard deviations of
postestimation command, [SVY] estat, [SVY] svy
postestimation
poststratification, [SVY] poststratification,
[SVY] Glossary
predict command, [SVY] svy postestimation
predictions, [SVY] svy postestimation
predictive margins, [SVY] Glossary
predictnl command, [SVY] svy postestimation
primary sampling unit, [SVY] svydescribe,
[SVY] svyset, [SVY] Glossary
probability weight, see sampling weight
probit regression, [SVY] svy estimation
with endogenous regressors, [SVY] svy estimation
with sample selection, [SVY] svy estimation
proportional hazards model, [SVY] svy estimation
proportions, survey data, [SVY] svy estimation,
[SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway
pseudolikelihood, [SVY] Glossary
PSU, see primary sampling unit
pwcompare command, [SVY] svy postestimation
pweight, see sampling weight
N
negative binomial regression, [SVY] svy estimation
Neyman allocation, [SVY] estat
nlcom command, [SVY] svy postestimation
nonconstant variance, [SVY] variance estimation
Q
quadratic terms, [SVY] svy postestimation
qualitative dependent variables, [SVY] svy estimation
R
Rao, J. N. K., [SVY] direct standardization,
[SVY] poststratification, [SVY] svy bootstrap,
[SVY] svy: tabulate twoway, [SVY] variance
estimation
ratios, survey data, [SVY] svy estimation,
[SVY] svy: tabulate twoway
regression diagnostics, [SVY] estat, [SVY] svy
postestimation
replicate-weight variable, [SVY] survey, [SVY] svy
bootstrap, [SVY] svy brr, [SVY] svy jackknife,
[SVY] svy sdr, [SVY] svyset, [SVY] Glossary
replication method, [SVY] svy bootstrap, [SVY] svy
brr, [SVY] svy jackknife, [SVY] svy sdr,
[SVY] svyset, [SVY] variance estimation
resampling, [SVY] Glossary
Research Triangle Institute, [SVY] svy: tabulate
twoway
robust, Huber/White/sandwich estimator of variance,
[SVY] variance estimation
Rothwell, S. T., [SVY] survey, [SVY] svy estimation
S
sample, [SVY] Glossary
sampling, [SVY] survey, [SVY] svydescribe,
[SVY] svyset, [SVY] Glossary
stage, [SVY] estat, [SVY] Glossary
unit, [SVY] survey, [SVY] Glossary, also see
primary sampling unit
weight, [SVY] poststratification, [SVY] survey,
[SVY] Glossary
with and without replacement, [SVY] Glossary
sandwich/Huber/White estimator of variance, see robust,
Huber/White/sandwich estimator of variance
Sarndal, C.-E., [SVY] variance estimation
Satterthwaite, F. E., [SVY] variance estimation
Scheaffer, R. L., [SVY] survey
Schnell, D., [SVY] svy: tabulate twoway
Scott, A. J., [SVY] estat, [SVY] svy: tabulate twoway
Scott, C., [SVY] estat, [SVY] subpopulation
estimation, [SVY] svy bootstrap, [SVY] svy
estimation
sd, estat subcommand, [SVY] estat
SDR, see successive difference replication
sdr options, [SVY] sdr options
secondary sampling unit, [SVY] Glossary
selection models, [SVY] svy estimation
Shah, B. V., [SVY] direct standardization,
[SVY] poststratification, [SVY] variance
estimation
Shao, J., [SVY] survey, [SVY] svy jackknife,
[SVY] variance estimation
simple random sample, [SVY] Glossary
singleton strata, [SVY] estat, [SVY] variance
estimation
size, estat subcommand, [SVY] estat
skewed logistic regression, [SVY] svy estimation
T
tables
contingency, [SVY] svy: tabulate twoway
frequency, [SVY] svy: tabulate oneway,
[SVY] svy: tabulate twoway
tabulate
one-way, [SVY] svy: tabulate oneway
two-way, [SVY] svy: tabulate twoway
Taylor linearization, see linearized variance estimator
test,
association, see association test
differences of two means, see differences of two
means test
equality of
coefficients, see equality test of coefficients
means, see equality test of means
goodness-of-fit, see goodness of fit
independence, see independence test
model coefficients, see model coefficients test
nonlinear, see nonlinear test
Wald, see Wald test
test command, [SVY] survey, [SVY] svy
postestimation
testnl command, [SVY] svy postestimation
testparm command, [SVY] svy postestimation
Thomas, D. R., [SVY] svy: tabulate twoway
Thompson, S. K., [SVY] survey
tobit regression, [SVY] svy estimation
with endogenous regressors, [SVY] svy estimation
totals, survey data, [SVY] svy estimation
Train, G. F., [SVY] survey, [SVY] svy sdr,
[SVY] variance estimation
treatment-effects regression, [SVY] svy estimation
truncated
negative binomial regression, [SVY] svy estimation
Poisson regression, [SVY] svy estimation
regression, [SVY] svy estimation
Tu, D., [SVY] survey, [SVY] svy jackknife,
[SVY] variance estimation
Tukey, J. W., [SVY] svy jackknife
two-stage least squares, [SVY] svy estimation
V
Valliant, R., [SVY] survey
van Doorslaer, E., [SVY] svy estimation, [SVY] svyset
variance,
Huber/White/sandwich estimator, see robust,
Huber/White/sandwich estimator of variance
linearized, [SVY] variance estimation
nonconstant, [SVY] variance estimation
variance estimation, [SVY] variance estimation,
[SVY] Glossary
vce, estat subcommand, [SVY] estat
W
Wagstaff, A., [SVY] svy estimation, [SVY] svyset
Wald test, [SVY] svy postestimation
Wei, L. J., [SVY] svy estimation
weights,
probability, [SVY] survey, [SVY] svydescribe,
[SVY] svyset
sampling, [SVY] survey, [SVY] svydescribe,
[SVY] svyset
West, B. T., [SVY] estat, [SVY] subpopulation
estimation, [SVY] survey
White/Huber/sandwich estimator of variance, see robust,
Huber/White/sandwich estimator of variance
Williams, B., [SVY] survey
Winter, N. J. G., [SVY] survey
Wolter, K. M., [SVY] survey, [SVY] svy brr,
[SVY] variance estimation
Wretman, J., [SVY] variance estimation
Wu, C. F. J., [SVY] svy bootstrap, [SVY] variance
estimation
Y
Yeo, D., [SVY] svy bootstrap, [SVY] variance
estimation
Yue, K., [SVY] svy bootstrap, [SVY] variance
estimation
Yung, W., [SVY] svy bootstrap, [SVY] variance
estimation
Z
zero-inflated
negative binomial regression, [SVY] svy estimation
Poisson regression, [SVY] svy estimation