View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Alternating Conditional Expectation algorithm (ACE)

Join the 15-year community celebration.

Play games and win prizes!

» Learn more

5.0
5.0 | 1 rating Rate this file 4 Downloads (last 30 days) File Size: 3.58 KB File ID: #39766 Version: 1.0
image thumbnail

Alternating Conditional Expectation algorithm (ACE)

by

 

Alternating Conditional Expectation algorithm (ACE) to calculate optimal transformations

| Watch this File

File Information
Description

 Alternating Conditional Expectation algorithm (ACE) to calculate optimal transformations
 by fast boxcar averaging of rank-ordered data.

 The program ace_main.m performs a calculation of optimal transformations from a data set.
 The algorithm has been invented by L. Breiman and J.H. Friedman [1]
 and the program follows it closely, besides two differences:
 1. The output is not normalized with respect to the mean values of the
 optimal transformations, so the mean values may not necessarily be zero.
 2. The data are rank ordered before the calculation of the optimal
 transformations. This leads to a simpler computation of conditional expectation values.
 The algorithm (but not the particular subroutine of estimating the
 conditional expectation values) is also described in [2],[3],[4]. An application
 to fitting the complex Ginzburg-Landau equation to binary fluid data is provided in [5].

 Usage:

 The program ace_main.m contains the definition of the data, the call of ace.m, and the display of the results.
 This function is the one that has to be modified for applications to
 other than the example data; the other subroutines do not need to be modified then.

 The function ace.m is defined as
 'function [psi,phi]=ace(x,ll,dim,wl,oi,ii,ocrit,icrit,shol,shil)'.
 Therefore, the outputs are psi (the maximal correlation)
 and phi (the set of optimal transformations).

 The input parameters are defined as follows:
 x: The data set of size (dim+1) X ll.
 ll: The number of data points of each of the dim+1 terms, e.g. 1000, if the
        regression analysis is performed on 1000 data tuples.
 dim: The number of terms for the rhs, can be 1,2,3, etc.
        The 0th term corresponds to the lhs of the regression equation,
        the 1st to dimth terms correspond to the rhs of the regression equation.
 wl: Half of the length of the boxcar window, i.e., 2*wl+1=width of filter.
        wl=0,1,2...
 oi: Maximum number of iterations of outer loop, e.g. 10
 ii: Maximum number of iterations of inner loop, e.g. 10
 ocrit: Outer iteration stop criterion, should be a small number like 1e-12
 icrit: The same for the inner loop, should be the same value or larger than osc
 shol, shil: If 1, ace.m prints the iteration result during calculations for
        outer and inner loop. If set to 0, no effect.

 When the program is done, two output variables are produced:
 1. psi contains the maximal correlation.
 2. phi contains the transformed x-values in the same order as the inputs.
 Therefore, to display the result, one has to plot the input variables pointwise against the output.

 If you use this program in publications and want to cite it, please do it as:
 H. Voss and J. Kurths, Reconstruction of nonlinear time delay models from data by the
 use of optimal transformations, Phys. Lett. A 234, 336-344 (1997).
 I will be happy to email this paper on request.

 For commercial use and questions, please contact me.

 ++++++++++++++++++++++++++++++++++++++++++++++
 Henning U. Voss, Ph.D.
 Associate Professor of Physics in Radiology
 Citigroup Biomedical Imaging Center
 Weill Medical College of Cornell University
 516 East 72nd Street
 New York, NY 10021
 Tel. 001-212 746-5216
 Email: hev2006@med.cornell.edu
 ++++++++++++++++++++++++++++++++++++++++++++++

 References:

 [1] L. Breiman and J.H. Friedman,
 Estimating optimal transformations for multiple regression and correlation,
 J. Am. Stat. Assoc. 80 (1985) 580-619.

 [2] W. Haerdle, Applied Nonparametric Regression,
 Cambridge Univ. Press, Cambridge, 1990.

 [3] H. Voss and J. Kurths,
 Reconstruction of nonlinear time delay models from data by the
 use of optimal transformations,
 Phys. Lett. A 234, 336-344 (1997).

 [4] H. Voss and J. Kurths,
 Reconstruction of nonlinear time delay models from optical data,
 Chaos, Solitons & Fractals 10, 805-809 (1999).

 [5] H.U. Voss, P. Kolodner, M. Abel, and J. Kurths,
 Amplitude equations from spatiotemporal binary-fluid convection data,
 Phys. Rev. Lett. 83, 3422-3425 (1999).

MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
30 Aug 2016 Henning Voss

If error messages occur, this is due to Matlab versions before R2012b. For example, in R2009b, the ~ notation was introduced as a placeholder for undefined variables. If Matlab versions before R2009b are used, one needs to replace the ~ symbol in line 138 with an unused variable name such as tmp.

Comment only
05 Nov 2015 Henning Voss

Dear Mr. Mokhtar,

does it run with the default data provided or not at all?

You can send me those 22 data points directly per email and I can have a look what is going on.

Comment only
05 Nov 2015 Hesham Mokhtar

Dear Mr. Henning,
Thank you ver much for your work in the attached file. But i tried to run the code the following error message had arose
"
??? Error: File: ace_main.m Line: 138 Column: 18
Expression or statement is incorrect--possibly unbalanced (, {, or [.
".
In addition to,i'd like to use this code to make the optimal trnsformation for a data set containing a 22 data points, what are the form of the data to be imported to MATLAB.

Comment only
05 Nov 2015 Hesham Mokhtar

Dear Mr. Henning,
Thank you ver much for your work in the attached file. But i tried to run the code the following error message had arose
"
??? Error: File: ace_main.m Line: 138 Column: 18
Expression or statement is incorrect--possibly unbalanced (, {, or [.
".
In addition to,i'd like to use this code to make the optimal trnsformation for a data set containing a 22 data points, what are the form of the data to be imported to MATLAB.

Contact us