Documentation

# pptest

Phillips-Perron test for one unit root

## Syntax

```[h,pValue,stat,cValue,reg] = pptest(`y`)
[h,pValue,stat,cValue,reg] = pptest(`y`,`'ParameterName'`,`ParameterValue`,...)
```

## Description

Phillips-Perron tests assess the null hypothesis of a unit root in a univariate time series `y`. All tests use the model:

yt = c + δt + a yt – 1 + e(t).

The null hypothesis restricts a = 1. Variants of the test, appropriate for series with different growth characteristics, restrict the drift and deterministic trend coefficients, c and δ, respectively, to be 0. The tests use modified Dickey-Fuller statistics (see `adftest`) to account for serial correlations in the innovations process e(t).

## Input Arguments

 `y` Vector of time-series data. The last element is the most recent observation. `NaN`s indicating missing values are removed.

### Name-Value Pair Arguments

 `'lags'` Scalar or vector of nonnegative integers indicating the number of autocovariance lags to include in the Newey-West estimator of the long-run variance. For best results, give a suitable value for `lags`. For information on selecting `lags`, see Select Appropriate Lag Order. Default: `0` `'model'` Character vector, such as `'AR'`, or cell vector of character vectors indicating the model variant. Values are: `'AR'` (autoregressive) `pptest` tests the null modelyt = yt – 1 + e(t).against the alternative modelyt = a yt – 1 + e(t).with AR(1) coefficient a < 1.`'ARD'` (autoregressive with drift) `pptest` tests the `'AR'` null model against the alternative modelyt = c + a yt – 1 + e(t).with drift coefficient c and AR(1) coefficient a < 1.`'TS'` (trend stationary) `pptest` tests the null modelyt = c + yt – 1 + e(t).against the alternative modelyt = c + δ t + a yt – 1 + e(t).with drift coefficient c, deterministic trend coefficient δ, and AR(1) coefficient a < 1. Default: `'AR'` `'test'` Character vector, such as `'t1'`, or cell vector of character vectors indicating the test statistic. Values are: `'t1'``pptest` computes a modification of the standard t statistict1 = (a – l)/sefrom OLS estimates of the AR(1) coefficient and its standard error (se) in the alternative model. The test assesses the significance of the restriction a – 1 = 0.`'t2'` `pptest` computes a modification of the “unstudentized” t statistict2 = T (a – 1)from an OLS estimate of the AR(1) coefficient `a` and the stationary coefficients in the alternative model. T is the effective sample size, adjusted for lag and missing values. The test assesses the significance of the restriction a – 1 = 0. Default: `'t1'` `'alpha'` Scalar or vector of nominal significance levels for the tests. Set values between `0.001` and `0.999`. Default: `0.05`

## Output Arguments

`h`

Vector of Boolean decisions for the tests, with length equal to the number of tests. Values of `h` equal to `1` indicate rejection of the unit-root null in favor of the alternative model. Values of `h` equal to `0` indicate a failure to reject the unit-root null.

`pValue`

Vector of p-values of the test statistics, with length equal to the number of tests. p-values are left-tail probabilities.

When test statistics are outside tabulated critical values, `pptest` returns maximum (`0.999`) or minimum (`0.001`) p-values.

`stat`

Vector of test statistics, with length equal to the number of tests. Statistics are computed using OLS estimates of the coefficients in the alternative model.

`cValue`

Vector of critical values for the tests, with length equal to the number of tests. Values are for left-tail probabilities.

`reg`

Structure of regression statistics for the OLS estimation of coefficients in the alternative model. The number of records equals the number of tests. Each record has the following fields:

 `num` Length of input series with `NaN`s removed `size` Effective sample size, adjusted for lags `names` Regression coefficient names `coeff` Estimated coefficient values `se` Estimated coefficient standard errors `Cov` Estimated coefficient covariance matrix `tStats` t statistics of coefficients and p-values `FStat` F statistic and p-value `yMu` Mean of the lag-adjusted input series `ySigma` Standard deviation of the lag-adjusted input series `yHat` Fitted values of the lag-adjusted input series `res` Regression residuals `autoCov` Estimated residual autocovariances `NWEst` Newey-West estimator `DWStat` Durbin-Watson statistic `SSR` Regression sum of squares `SSE` Error sum of squares `SST` Total sum of squares `MSE` Mean square error `RMSE` Standard error of the regression `RSq` R2 statistic `aRSq` Adjusted R2 statistic `LL` Loglikelihood of data under Gaussian innovations `AIC` Akaike information criterion `BIC` Bayesian (Schwarz) information criterion `HQC` Hannan-Quinn information criterion

## Examples

collapse all

Test GDP data for a unit root using a trend-stationary alternative with 0, 1, and 2 lags for the Newey-West estimator.

```load Data_GDP logGDP = log(Data);```

Perform the Phillips-Perron test including 0, 1, and 2 autocovariance lags in the Newey-West robust covariance estimator.

`h = pptest(logGDP,'model','TS','lags',0:2)`
```h = 1x3 logical array 0 0 0 ```

Each test returns `h` = 0, which means the test fails to reject the unit-root null hypothesis for each set of lags. Therefore, there is not enough evidence to suggest that log GDP is trend stationary.

collapse all

### Phillips-Perron Test

The Phillips-Perron model is

yt = c + δt + a yt – 1 + e(t).

where e(t) is the innovations process.

The test assesses the null hypothesis under the model variant appropriate for series with different growth characteristics (c = 0 or δ = 0).

## Algorithms

`pptest` performs a least-squares regression to estimate coefficients in the null model.

The tests use modified Dickey-Fuller statistics (see `adftest`) to account for serial correlations in the innovations process e(t). Phillips-Perron statistics follow nonstandard distributions under the null, even asymptotically. Critical values for a range of sample sizes and significance levels have been tabulated using Monte Carlo simulations of the null model with Gaussian innovations and five million replications per sample size. `pptest` interpolates critical values and p-values from the tables. Tables for tests of type `'t1'` and `'t2'` are identical to those for `adftest`.

## References

 Davidson, R., and J. G. MacKinnon. Econometric Theory and Methods. Oxford, UK: Oxford University Press, 2004.

 Elder, J., and P. E. Kennedy. “Testing for Unit Roots: What Should Students Be Taught?” Journal of Economic Education. Vol. 32, 2001, pp. 137–146.

 Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.

 Newey, W. K., and K. D. West. “A Simple Positive Semidefinite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix.” Econometrica. Vol. 55, 1987, pp. 703–708.

 Perron, P. “Trends and Random Walks in Macroeconomic Time Series: Further Evidence from a New Approach.” Journal of Economic Dynamics and Control. Vol. 12, 1988, pp. 297–332.

 Phillips, P. “Time Series Regression with a Unit Root.” Econometrica. Vol. 55, 1987, pp. 277–301.

 Phillips, P., and P. Perron. “Testing for a Unit Root in Time Series Regression." Biometrika. Vol. 75, 1988, pp. 335–346.

 Schwert, W. “Tests for Unit Roots: A Monte Carlo Investigation.” Journal of Business and Economic Statistics. Vol. 7, 1989, pp. 147–159.

 White, H., and I. Domowitz. “Nonlinear Regression with Dependent Observations.” Econometrica. Vol. 52, 1984, pp. 143–162.