RATS 11
RATS 11

This section describes tests which are designed to determine if the functional form for a regression equation is adequate. For instance, should an equation be estimated in logs or levels? Should it be linear in the variables, or should a higher power, like a quadratic, be used? Note that some of these procedures are “non-nested”, and so can result in rejecting both of the possibilities, or accepting both.

RESET Tests

RESET stands for Regression Equation Specification Error Test. This was proposed by Ramsey(1969). If the regression equation

 

\(y_t  = {\bf{X}}_t \beta  + u_t \)

 

is specified correctly, then adding non-linear functions (and, in particular, powers) of the fitted values \({\bf{X}}_t \beta \) should not improve the fit significantly. This is designed to test whether in

 

\(y_t  = f\left( {{\bf{X}}_t \beta } \right) + u_t \)

 

the “f” function is just \(f\left( x \right) = x\). However, it can pick up other types of failures.

 

You can get the fitted values using the instruction PRJ. The test is carried out by generating the needed powers of the fitted values, and running an auxiliary regression with the original specification plus the powers. Test an exclusion on the higher powers. The following, from an example in Verbeek (2008), does a cubic RESET.

 

linreg lprice

# constant llot bedrooms bathrms airco

prj fitted

set fit2 = fitted^2

set fit3 = fitted^3

linreg lprice

# constant llot bedrooms bathrms airco fit2 fit3

exclude(title="RESET test with quadratic and cubic")

# fit2 fit3

 

In practice, you’ll find it easier to use the @RegRESET(h=power) procedure. Use this immediately after the regression that you want to test:

 

linreg lprice

# constant llot bedrooms bathrms airco

@RegRESET(h=3)

 

Note that RESET tests can run into numerical problems if you get above a 3rd degree test because of high collinearity among the powers. @RegRESET offers a PC option to reduce the test to a selected number of principal components of the powers.

 

MacKinnon-White-Davidson Test

Davidson and MacKinnon (1981) and MacKinnon, White and Davidson (1983) proposed a method for testing the functional form for the dependent variable. The most common use of this would be for determining whether levels or log is more appropriate. This is a non-nested test, so it’s possible to reject each in favor of the other, or to fail to reject either. The test procedure is to add the difference between the levels fit and the exponentiated log fit to the log equation, and to add the difference between the log fit and the log of the levels fit to the levels equation. The added coefficient should be insignificant if the original equation was properly specified. You can just look at the t-statistic on it.

 

linreg m1

# constant tbilrate realgdp

prj linearfit

set logm1 = log(m1)

set logy  = log(realgdp)

set logr  = log(tbilrate)

 

linreg logm1

# constant logr logy

prj logfit

set loggap = logfit-log(linearfit)

set lingap = linearfit-exp(logfit)

 

linreg logm1

# constant logr logy lingap

linreg m1

# constant tbilrate realgdp loggap

 


Copyright © 2025 Thomas A. Doan