Learn R Programming

wavethresh (version 4.7.3)

HaarMA: Generate Haar MA processes.

Description

This function generates an arbitrary number of observations from a Haar MA process of any order with a particular variance.

Usage

HaarMA(n, sd=1, order=5)

Value

A vector containing a realization of a Haar MA process of the specified order, standard deviation and number of observations.

Arguments

n

The number of observations in the realization that you want to create. Note that n does NOT have to be a power of two.

sd

The standard deviation of the innovations.

order

The order of the Haar MA process.

RELEASE

Version 3.9 Copyright Guy Nason 1998

Author

G P Nason

Details

A Haar MA process is a special kind of time series moving-average (MA) process. A Haar MA process of order k is a MA process of order \(2^k\). The coefficients of the Haar MA process are given by the filter coefficients of the discrete Haar wavelet at different scales.

For examples: the Haar MA process of order 1 is an MA process of order 2. The coefficients are \(1/\sqrt{2}\) and \(-1/\sqrt{2}\). The Haar MA process of order 2 is an MA process of order 4. The coefficients are 1/2, 1/2, -1/2, -1/2 and so on. It is possible to define other processes for other wavelets as well.

Any Haar MA process is a good examples of a (stationary) LSW process because it is sparsely representable by the locally-stationary wavelet machinery defined in Nason, von Sachs and Kroisandt.

References

Nason, G.P., von Sachs, R. and Kroisandt, G. (1998). Wavelet processes and adaptive estimation of the evolutionary wavelet spectrum. Technical Report, Department of Mathematics University of Bristol/ Fachbereich Mathematik, Kaiserslautern.

See Also

HaarConcat, ewspec,

Examples

Run this code
#
# Generate a Haar MA process of order 1 (high frequency series)
#
MyHaarMA <- HaarMA(n=151, sd=2, order=1)
#
# Plot it
#
if (FALSE) ts.plot(MyHaarMA)
#
# Generate another Haar MA process of order 3 (lower frequency), but of
# smaller variance
#
MyHaarMA2 <- HaarMA(n=151, sd=1, order=3)
#
# Plot it
#
if (FALSE) ts.plot(MyHaarMA2)
#
# Let's plot them next to each other so that you can really see the
# differences.
# 
# Plot a vertical dotted line which indicates where the processes are
# joined
#
if (FALSE) ts.plot(c(MyHaarMA, MyHaarMA2))
if (FALSE) abline(v=152, lty=2)

Run the code above in your browser using DataLab