Skip to content

Survey Validation and Regression

Cleaning a field survey, testing its scales and finding what predicts public service perception.


The problem

Field surveys that cover several administrative units often go wrong in quiet ways. Some scales are scored in opposite directions, so a high number means agreement on one item and disagreement on the next. Skip patterns go unchecked. Some answers are missing for a reason, so the gaps are not random, and any model that ignores them is biased. Policy built on such data can point the wrong way.

What I did

Why spend so long on cleaning? Because a regression run on mis-scored scales gives confident answers to the wrong question. I therefore worked in three steps, each resting on the one before.

First, I cleaned the data. Python scripts (Pandas) checked every answer against its allowed range, filled gaps where that was valid, and rescored reverse-coded Likert items so that every scale ran in the same direction. Because the checks are scripted, anyone can re-run them on the same data and get the same result.

Next, I tested whether the scales hold together. In Jamovi, I used Cronbach's alpha and split-half reliability to check that the items in each module measure one thing. A scale that fails this test should not be summed into a single score.

Finally, I modelled the results. Binomial logistic regression identified which factors predict public service perception and compliance. Odds ratios with confidence intervals show how strong each factor is, and the fit statistics show how far to trust the model.

What the client received

A cleaned dataset with the scripts that produced it, which can be reused as later survey rounds arrive, and regression tables with odds ratios, confidence intervals and fit measures.