# Calibrating a household survey to household-level and person-level control totals

Imagine a (reasonably large) household survey where all persons in every household have been questioned. For the purpose of microsimulation, this survey needs to be expanded to a full population. In a first step, weights are attached to each observation so that external control totals are obeyed (calibration).

If we only have control totals that describe how many households of this-and-that type are in a zone, we can use IPF (also known as raking) which gives a maximum-likelihood estimate of the weights. Minimizing the relative entropy is equivalent to raking/IPF. EDIT: But what if we have control totals at person and household level? Like, telling us how many households of which type and how many persons of which sex/age/education level/... there are. I was unable to find a "standard" approach here.

Is raking/IPF the "correct" approach from a statistical point of view? Are there other options? What would be, from a statistical point of view, the most reasonable approach to calibrate the weights in the presence of control totals at household and person level?

See the original question for more context. (It was probably too big, I'm splitting it into parts.)

-

I'm not sure I understand (even though I've skimmed the original question), but I'm interested.  This is the bread and butter of official statistics - using surveys to report on population totals for unemployment, profitability, tourism average spend, whatever -  unless I've misunderstood things.  What is missing from all the standard approaches to 'weighting-to-population' through stratification, post-stratification weighting, etc.?  Basically, I don't understand your weighting problem - a few words of clarification might help. – Peter Ellis Mar 14 '12 at 11:22
@PeterEllis: Post-stratification weighting seems similar, but I'm interested specifically in the multilevel case here. An important part of my question was missing, I have updated it. – krlmlr Mar 14 '12 at 13:36

## 3 Answers

This is a straightforward problem for weighting to population from a two stage sampling process. Your population of interest is individuals, but your primary sampling unit is household. You happen to sample all the individuals within each PSU.

Any software that deals with complex surveys (eg Thomas Lumley's survey package in R - which also has an excellent book) can calculate for you the appropriate weights, given the population totals it sounds like you have. Rather than me try to explain it here, hopefully the tip that this is a two stage sampling process with household as PSU will mean you can find the definitive explanation of all the issues (and there are lots) in some such book.

It is not so much a question of raking - raking is a particular technique for giving you post-stratification weights, which sometimes is easier (less arbitrary decisions for the analyst) than other ways of calculating post-stratification weights that require exact matches of each combination of subject in your sample to the population (raking just matches the marginal totals of each variable, not each combination of each variable).

-
Thanks for the hints. Do you have a special book in mind that deals with two-stage sampling? -- In fact, the population totals may well be multidimensional, e.g., counts for each combination of age, sex and education level. Is this what you mean by your last paragraph? What are the alternatives to raking? – krlmlr Mar 15 '12 at 0:59

1
– Peter Ellis Mar 15 '12 at 1:16
So, raking does not apply for post-stratification weighting on attribute combinations? – krlmlr Mar 15 '12 at 1:34
It gives a set of weights that gives the exactly correct marginal totals (eg the two total weights for female, and for 20-29 year olds, will be exactly the population totals) but only approximately correct totals for combinations (eg the weights for female 20-29 year olds will only approximately match the population for that combination). Common reasons for using it are a) you don't know the population totals for every combination or b) you have small sample sizes for many of the combinations and want to avoid complex decision making about which combinations to collapse together. – Peter Ellis Mar 15 '12 at 3:14

Reweighting with some criteria defined at household level and others at individual level can be achieved with calibration estimators (proposed by Deville, Särndal and Sautory, JASA, 1993). These procedures are sometimes referred to as CALMAR. There is an implementation in the R Survey package (grake).

Suppose we have a vector of design weighs $\boldsymbol{d}$ for the $n$ households and we have an $n \times p$ design matrix $\boldsymbol{X}$ whose columns refer to attributes of the households. We now want to obtain new weights $\boldsymbol{w}$ such that when we project the design matrix according to these weights (e.g. $\boldsymbol{X}^T\boldsymbol{w}$) we reproduce a ($p \times 1$) vector $\boldsymbol{y}$ containing known universe totals. Generalized raking will find weights $\boldsymbol{w}$ which are in some sense close to the original design weights $\boldsymbol{d}$.

There is full freedom in how we set up the design matrix. Some criteria may refer household categories (calibrate to a known household count), some criteria may refer to numeric properties of the household (calibrate to a known total). A special case of the latter is that some criteria refer to the number of persons of some type in the household. An example may clarify.

Suppose we want to calibrate according to (1) the total number of households, (2-4) the total number of households for 3 regions (East, Center, West), (5-6) the total number of 1 and 2+ households; (7) the total number of privately owned cars, (8-9) the number of male-female persons, (10-13) the number of -18yr, 19-40yr, 40-60yr, 60+yr.

A household living in the center, having 2 cars, has 5 members, of which 3 are male and 2 are female, and has 3 children (-18yr) and 2 adults (19-40) will be encoded in the design matrix as (1 0 1 0 0 1 2 3 2 3 2 0 0). When setting up the calibration targets, the first 6 elements of $\boldsymbol{y}$ will contain universe household counts, the next element will contain a universe car count, the remaining 6 elements will contain universe person counts.

-

– krlmlr Mar 14 '12 at 23:22

I have a similar problem. If you use the statistical sotware R, you need the Survey package. It seems that to Statisticians, the term Rake is used for IPF. There is a rake function in the Survey package.

This will result in non-integer weights for each record. I presume this can feed your population synthesiser?

-

Thank you. I will edit the question so that it mentions raking, and also to clarify. You are right about the general idea. However, I asked specifically about multilevel raking/fitting/... algorithms and methods; the single level case has been chewed through already. -- I'll take a look at the `survey` package. – krlmlr Mar 14 '12 at 9:03
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 11, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9457212686538696, "perplexity_flag": "middle"}