hft | R Documentation |
Performs the (forward) Haar-Fisz transform.
hft(data)
data |
A vector of Poisson counts, its length must be a power of 2 |
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
The Haar-Fisz transform of data
, which will be the same
length as data
.
Piotr Fryzlewicz
Fryzlewicz, P. and Nason, G.P. (2004) A Haar-Fisz algorithm for Poisson intensity estimation. Journal of Computational and Graphical Statistics, 13, 621-638. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1198/106186004X2697")}
denoise.poisson
,
hft.inv
,
hf.bt
,
hf.cv
,
hf.u
,
hf.tiu
#
# 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.