Is there a formal statistical test to test if process is a white noise?
2 Answers
In time-series analysis usually Ljung-Box test is used. Note though that it tests the correlations. If the correlations are zero, but variance varies, then the process is not white noise, but Ljung-Box test will fail to reject the null-hypothesis. Here is an example in R:
> Box.test(c(rnorm(100,0,1),rnorm(100,0,10)),type="Ljung-Box")
Box-Ljung test
data: c(rnorm(100, 0, 1), rnorm(100, 0, 10))
X-squared = 0.4771, df = 1, p-value = 0.4898
Here is the plot of the process:
Here is more discussion about this test.
-
$\begingroup$ Ouliers in the error series will "deflate the ACF" thus yielding an ALICE IN WINDERKlAND effect. All ACF's are subject to this thus one must ensure no anomalies $\endgroup$ Commented Mar 21, 2011 at 23:44
The R library hwwntest (Haar Wavelet White Noise test) seems to work pretty well. It offers a number of functions. It does require the amount of data to be a power of 2.
hywavwn.test() seems to work the best for me.
> hywavwn.test(rnorm(128, 0, 1))
Hybrid Wavelet Test of White Noise
data:
p-value = 0.542
> hywavwn.test(rnorm(128, 0, 10))
Hybrid Wavelet Test of White Noise
data:
p-value = 1