cassionData Analysis

Course · Advanced · Statistics and Modelling

Regression for Programme Data

Linear, logistic and multilevel models fitted to survey and routine data, with the interpretation written the way a non-statistician programme manager needs to read it.

PythonR20 h8 lessons

What you will be able to do

  • Read a regression coefficient as the comparison of means it is, and say which comparison
  • Distinguish adjustment, which moves the estimate, from clustering, which moves the standard error
  • Fit a logistic model and report it as a risk difference rather than as an odds ratio a reader will misread
  • Decide which covariates belong in a model and which ones destroy the answer by being there
  • Fit a random intercept where the design assigned above the level of the row
  • Weight a model to its sampling design, and report a model that does not fit rather than dropping it

Standards and methodologies

SMART surveyDemographic and Health Survey (DHS)UNICEF indicator definitionsOECD DAC evaluation criteria

A regression is not a more sophisticated instrument than the comparisons in Applied Statistics for Programmes. It is the same comparison with more than one thing held fixed, and the first lesson proves it: fit a model with a single dummy variable and the coefficient is the difference between two group means, to every decimal place.

That is the spine of the course. A coefficient is always a comparison, and the work is saying which one.

Three results carry it, all fitted on files already committed.

Adjustment and clustering are different problems with different fixes. The school feeding effect is 4.9 points with a standard error of 0.9 fitted naively. Adding every child-level covariate in the register moves the estimate to 4.4 and leaves the standard error alone. Adding a term for the school leaves the estimate alone and moves the standard error to 1.5. Confusing the two is the commonest error in a programme regression, and it is why they are taught in the same course.

An odds ratio of 0.43 describes a risk ratio of 0.58. Cases reporting a disability complete a referral at 26.4% against 45.5%. The odds ratio is what a logistic model prints and the risk difference is what a reader thinks they are being told, and the gap between them widens exactly when the outcome is common — which, in programme data, it usually is.

Adjusting for the wrong covariate removes 42% of the effect. Referral completion runs through a gate — whether a referral was made at all — and cases reporting a disability clear that gate at 53.8% against 71.5%. Put the gate in the model and the disability gap falls from 19.4 points to 11.2, not because the estimate got better but because the model started answering a different question.

Both Python and R throughout. You need Applied Statistics for Programmes first; this course assumes you can already put an interval on a number and say what a p-value does not tell you.

Start the course — The coefficient is the difference

Practice

Reading the lessons is not the same as having done the work. Each of these applies the course to a dataset it did not teach on.

Progress

Enrolling is free and only records your progress — the whole course is readable without it.

Take it offline

The whole course as a typeset PDF — every lesson, every code example, the data dictionary and the indicator definitions. Generated from the same source as this page.

The LaTeX source ships alongside each PDF, so an organisation can rebrand the handout or fold a lesson into its own training pack.