RESET Test

ECON 3209 · Week 16, Lecture 2 · Kerala Agricultural University

Department of Development Economics, KAU

Autumn 2026

Learning Outcomes

By the end of this lecture, you should be able to:

  1. explain what the Ramsey RESET test checks in a regression model
  2. connect RESET to functional-form and omitted-nonlinearity problems
  3. estimate a baseline model and run RESET in Python
  4. interpret the null hypothesis, p-value, and model implications
  5. know the limits of RESET and why theory still matters

Why Specification Tests Are Useful

  • Even if coefficients are significant, the model may still be wrong.
  • Common problems include:
    • missing nonlinear terms,
    • omitted interactions,
    • incorrect transformations,
    • broader misspecification.
  • The Ramsey RESET test asks whether powers of the fitted values add explanatory power.

RESET Idea

  • First estimate the baseline model and compute fitted values \(\hat{y}\).
  • Then augment the regression with terms such as \(\hat{y}^2\) and \(\hat{y}^3\).
  • Null hypothesis: the added terms are jointly irrelevant.
  • If the added powers matter, the original model may have a functional-form problem.

What RESET Does and Does Not Do

  • RESET is a general misspecification test.
  • It can detect omitted nonlinearities or interactions.
  • It does not tell us the exact correct model.
  • A rejection means: “the current specification is incomplete or wrongly shaped.”

Simulating a Misspecified Relationship

Running RESET in Python

Interpreting the Result

  • If the p-value is small, reject the null that the baseline linear functional form is adequate.
  • In our simulated crop-yield example, rainfall enters nonlinearly, so RESET should often reject.
  • The next step is not to stop at the p-value: use theory to decide whether to add squares, logs, or interactions.

Kerala Illustration

Imagine modelling crop yield in Kerala as a linear function of rainfall and fertilizer.

Too little rainfall hurts crops. Too much rainfall also hurts crops. That suggests a curved relationship, so a pure linear model may be misspecified.

Residual Plot for a Clue

Correcting the Model

Practical Workflow

  • Estimate the theory-based baseline model.
  • Check plots and economic logic.
  • Run RESET as a broad warning signal.
  • If RESET rejects, try reasonable alternatives: logs, squares, interactions, or missing variables.
  • Re-test and compare fit without becoming mechanically “test-driven.”

Exercise

Use the starter code to run a baseline linear model and then a quadratic model. Which model passes RESET more comfortably, and why does that make economic sense for rainfall?

Summary

  • ✅ RESET is a general test for functional-form and broader specification problems.
  • ✅ A rejection suggests the model is misspecified, often because nonlinearities or interactions are missing.
  • ✅ RESET does not reveal the exact correction; economic theory must guide the repair.
  • ✅ Python makes it easy to combine RESET with residual plots and model comparisons.

Next Lecture

  • We compare competing models with AIC and BIC.
  • You will learn how information criteria balance fit and parsimony.
  • This connects specification testing with model selection decisions.