Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

Significance Testing for Periodic Component

This example shows how to assess the significance of a sinusoidal component in white noise using Fisher's g-statistic. Fisher's g-statistic is the ratio of the largest periodogram value to the sum of all the periodogram values over 1/2 of the frequency interval, (0, Fs/2). A detailed description of the g-statistic and exact distribution can be found in the references.

Create a signal consisting of a 100 Hz sine wave in white Gaussian noise with zero mean and variance 1. The amplitude of the sine wave is 0.25. The sample rate is 1 kHz. Set the random number generator to the default settings for reproducible results.

rng default

Fs = 1e3;
t = 0:1/Fs:1-1/Fs;
x = 0.25*cos(2*pi*100*t)+randn(size(t));

Obtain the periodogram of the signal using periodogram. Exclude 0 and the Nyquist frequency (Fs/2). Plot the periodogram.

[Pxx,F] = periodogram(x,rectwin(length(x)),length(x),Fs);
Pxx = Pxx(2:length(x)/2);

periodogram(x,rectwin(length(x)),length(x),Fs)

Find the maximum value of the periodogram. Fisher's g-statistic is the ratio of the maximum periodogram value to the sum of all periodogram values.

[maxval,index] = max(Pxx);
fisher_g = Pxx(index)/sum(Pxx)
fisher_g =

    0.0381

The maximum periodogram value occurs at 100 Hz, which you can verify by finding the frequency corresponding to the index of the maximum periodogram value.

F = F(2:end-1);
F(index)
ans =

   100

Use the distributional results detailed in the references to determine the significance level, pval, of Fisher's g-statistic. The following MATLAB® code implements equation (6) of [2].

N = length(Pxx);
    upper  = floor(1/fisher_g);
    for nn = 1:3
        I(nn) = (-1)^(nn-1)*nchoosek(N,nn)*(1-nn*fisher_g)^(N-1);
    end
pval = sum(I)
pval =

   2.0163e-06

The p-value is less than 0.00001, which indicates a significant periodic component at 100 Hz. The interpretation of Fisher's g-statistic is complicated by the presence of other periodicities. See [1] for a modification when multiple periodicities may be present.

References

[1] Percival, Donald B. and Andrew T. Walden. Spectral Analysis for Physical Applications. Cambridge, UK: Cambridge University Press, 1993.

[2] Wichert, Sofia, Konstantinos Fokianos, and Korbinian Strimmer. "Identifying Periodically Expressed Transcripts in Microarray Time Series Data." Bioinformatics. Vol. 20, 2004, pp. 5-20.

Was this topic helpful?