The method of detrended fluctuation analysis has proven useful in
revealing the extent of long-range correlations in time series.
Briefly, the time series to be analyzed (with N samples) is
first integrated. Next, the integrated time series is divided into
boxes of equal length, n. In each box of length n, a
least squares line is fit to the data (representing the trend
in that box). The y coordinate of the straight line segments
is denoted by yn(k).

Next, we detrend the integrated time series, y(k), by
subtracting the local trend, yn(k), in each box. The
root-mean-square fluctuation of this integrated and detrended time
series is calculated by

This computation is repeated over all time scales (box sizes) to
characterize the relationship between F(n), the average
fluctuation, and the box size, n. Typically, F(n)
will increase with box size. A linear relationship on a
log-log plot indicates the presence of power law (fractal)
scaling. Under such conditions, the fluctuations can be characterized
by a scaling exponent, the slope of the line relating log F(n)
to log n.

Software for DFA

The file dfa.c is the C language source for a program that
performs detrended fluctuation analysis of a time series. Read about how to
use this program here (or download this information in
Unix man page format here).

The instructions below assume that you already have a C compiler, such as gcc, and a make utility,
such as GNU
make. Most GNU/Linux and Unix systems have these already. Under
MS-Windows,we recommend the versions of gcc and make
included in the free Cygwin
development environment; under Mac OS X, use the versions included in Apple's
XCode tools.

If you wish to use some other C compiler, compile dfa.c and link it
with the standard C math library, using whatever method is standard for your C
compiler. See Makefile to see how to test the executable
file that you compile.