Learn R Programming

haarfisz (version 4.5.4)

hft: hft

Description

Performs the (forward) Haar-Fisz transform.

Usage

hft(data)

Value

The Haar-Fisz transform of data, which will be the same length as data.

Arguments

data

A vector of Poisson counts, its length must be a power of 2

Author

Piotr Fryzlewicz

Details

The Haar-Fisz for Poisson works, roughly speaking, by taking the Haar wavelet transform of data. Then dividing the mother wavelet coefficients by the respective father coefficients, and replacing the results of the divisions back into the same coefficient locations, and then carrying out an inverse Haar wavelet transform. This produces a nearer-Gaussian variance stabilized version of the original (or a version of the underlying intensity which is close to an `intensity PLUS homogeneous Gaussian noise' signal, which is easier to denoise using `standard' methods.

The inverse transform is hft.inv

References

Fryzlewicz, P. and Nason, G.P. (2004) A Haar-Fisz algorithm for Poisson intensity estimation. Journal of Computational and Graphical Statistics, 13, 621-638. tools:::Rd_expr_doi("10.1198/106186004X2697")

See Also

denoise.poisson, hft.inv, hf.bt, hf.cv, hf.u, hf.tiu

Examples

Run this code
#
# Generate Poisson data, half with one intensity, and half with a larger one
#
v <- c( rpois(64, lambda=1), rpois(64, lambda=10))
#
# Plot it to note that the variation is bigger in the second half
# (and the mean, but this is not important for this bit)
#
ts.plot(v)
#
# Now do the Haar-Fisz transform
#
vhft <- hft(v)
#
# Now plot this, and see that the variance of the second bit is now comparable
# to the first
#
ts.plot(vhft)

Run the code above in your browser using DataLab