I'm testing ADF, PP and KPSS unit tests with tseries library. I get strange result with ADF and PP.

I have this vector:

x <- rnorm(1000)

obviously this vector is trend stationary. OK, I've done ADF, PP and KPSS tests and all of these confirm it.

I have noticed that if I have a strong trend like:


ADF: adf.test(f, alternative='stationary')

Dickey-Fuller = -9.8989, Lag order = 9, p-value = 0.01

PP: pp.test(f, alternative='stationary')

Dickey-Fuller Z(alpha) = -994.6171, Truncation lag parameter = 7, p-value = 0.01

KPSS: kpss.test(f, null='Level')

KPSS Level = 12.5992, Truncation lag parameter = 7, p-value = 0.01

Why ADF and PP have 0.01 as p-value when there is a strong trend? This strong trend obviously is not "mean-reverting", so i don't understand why they reject the null.

In these tests only kpss has 'Level' type, ADF and PP not.

Thank you!


The Dickey-Fuller test is mainly looking for a unit root; it typically removes the trend. I would not be surprised that a model with an almost perfect linear trend accompanied by random noise passed this test. The DF test is looking for a pattern in the noise, as opposed to the trend. So, to be precise, the series isn't mean reverting, it's trend reverting.

| cite | improve this answer | |

(??) Surely, you realize that you perform the (regression whose coefficients are used in the calculation of the) (a)df (& pp for that matter) test on the differentiated series $y_t=f_t-f_{t-1}$ (the 'surely' is there, not to sound brash, but given that you interpret the p-value, i would assume you know what it corresponds to --otherwise why would you be surprised by the result[?]).

| cite | improve this answer | |
  • $\begingroup$ ADF and PP reject the null so it should means the serie is mean-reverting (vary bad explanation). The last (kpss) return 0.01 that means the series is NOT stationary('Level') which is correct. So the problem is that ADF and PP seem to detrend the serie before starting the tests. What do you think? $\endgroup$ – Dail Aug 10 '11 at 21:05
  • $\begingroup$ "ADF and PP seem to detrend the series before starting the tests". I don't want to sound brash, again, but indeed, when you carry the regression of y_t on f_{t-1} with y defined as above, yes that (removing trends by differentiation) is what you do --but not 'before starting the tests' as you write, no, this is part of the test. Again, i don't want to sound brash, but you should pick up a book on time series; i'm not sure that cargo cult is the best approach to statistics. $\endgroup$ – user603 Aug 11 '11 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.