Chain Comparisons

We have presented six ways to compute the auto-correlation function (ACF) features or the equivalent auto-regressive (AR) coefficients. These modules operate either directly on the time samples or on the magnitude-squared DFT bins. They can be also classfied as either circular or non-circular spectral models. We have the following chains that operate on the magnitude-squared DFT bins (variable y):
  1. Circular ACF: SPA (Section 5.2.2):
       [y,jout]=module_dftmsq(x,0);
       [r,jout]=module_acf_spa(y,jout,P);
       [k, jout] = module_acf2rc(r, jout);
       [z, jout] = module_bilinear(k, jout);
    
  2. Circular ACF: CLT (Section 5.2.5):
       [y,jout]=module_dftmsq(x,0);
       [r,jout]=module_acf_clt(y,jout,P);
       [k, jout] = module_acf2rc(r, jout);
       [z, jout] = module_bilinear(k, jout);
    
  3. Circular ACF/AR: ML (Section 5.2.8):
       [y,jout]=module_dftmsq(x,0);
       [a,jout]=module_ar_ml(y,jout,P);
       [k,jout]=module_ar2rc(a,jin);
       [z, jout] = module_bilinear(k, jout);
    

The following chains operate on the time samples (variable x):

  1. Circular ACF: ML (Section 5.2.8):
       [a,jout]=module_ar_mlx(x,jout,P);
       [k,jout]=module_ar2rc(a,jin);
       [z, jout] = module_bilinear(k, jout);
    
  2. Circular ACF: SPA (Section 5.2.2):
       [r,jout]=module_acf_spax(x,jout,P);
       [k, jout] = module_acf2rc(r, jout);
       [z, jout] = module_bilinear(k, jout);
    
  3. Non-Circular ACF: Quadratic Forms (Section 9.1.4):
       [r,jout]=module_acfx(x,jout,P);
       [k, jout] = module_acf2rc(r, jout);
       [z, jout] = module_bilinear(k, jout);
    
Now, we compare the six methods. We use the LAR features (Section 4.1.5) as the final features.

We conducted two acid-test experiments (See section 2.3.8). The experiments are implemented by the function software/test_ar.m. In the first experiment, we generated data from a circularly-stationary autoregressive model of order $P=2$ and data length $N=128$. The results are shown in Figure 10.6. See software/test_ar.m. Each plot shows the log projected PDF value on the Y axis and the true (theoretcial) PDF value on the X axis. Clockwise from top left: software/module_acf_spa.m [spa], software/module_acf_spax.m [spax], software/module_ar_ml.m [ml], software/module_acfx.m [rx], software/module_acf_clt.m [clt], software/module_ar_mlx.m [mlx]. On the top of each plot, is shown the standard deviation of error between the projected and true values. First, it is interesting that the fit is so close most of them, with a standard deviation of 0.11. The error for clt is twice as high, and twenty times higher for software/module_acfx.m, which is the non-circular ACF model. This was expected because the data was generated according to a circular spectral model, and it is natural that the features based on the FFT are much more accurate.

On closer inspection, we see not only very low error for models [spa], [spax], [ml],[mlx], but also similar scatter patterns. We re-plotted the data in Figure 10.7 to show PDF projection error. In that figure, we see that these four modules actually produce the same answer with a tolerance of about .001. This is surprising, especially since [ml] and [mlx] are based on the maximum likelihood method, while [spa],[spax] are based on the saddlepoint approximation. This observation is surprising and points to a theoretical connection between ML and SPA that we have not yet explored.

Another interesting observation is the range of processing times. Of the four models [spa], [spax], [ml],[mlx], which all produce the same answer, model [mlx] has by far the fastest processing times, even 10 times faster than [spa].

Figure 10.6: Acid test and computation time results for various chains for AR features and data generated according to circular AR model.
\includegraphics[width=6.5in,height=4.0in, clip]{test_ar_circ.eps}
Figure 10.7: This is the same results as Figure 10.6, but showing PDF error.
\includegraphics[width=6.5in,height=4.0in, clip]{test_ar_circ0.eps}

We repeated the experiments, but this time using theoretical stationary AR process (non-circular). The results are shown in figure 10.8. See software/test_ar.m. This time, software/module_ar_mlx.m [mlx] is much more accurate. This reflects the fact that the features are correct for non-circular spectral model.

Figure 10.8: Acid test and computation time results for various chains for AR features and data generated according to circular AR model.
\includegraphics[width=6.5in,height=4.0in, clip]{test_ar_noncirc.eps}