Learn R Programming

ftnonpar (version 0.1-88)

mintvmon: Minimization of total variation

Description

Finds a function vector which minimizes the total variation of the function or a derivative under multiresolution constraints and monotonicity and convexity constraints.

Usage

mintvmon(y, sigma = -1, DYADIC = TRUE, thresh = -1, method = 2, MONCONST = TRUE, CONVCONST = FALSE)

Arguments

y
observed values (ordered by value of independent variable).
sigma
if set to a positive value the standard deviation is set to sigma and not estimated from the data
DYADIC
logical, if T (default) the multiresolution constraints are only verifeid on intervals with dyadic endpoints
thresh
if set to a positive value other thresholds for the multiresolution criterion than the default sqrt(2*log(n))*sigma can be used.
method
Number of derivative the total variation of which is minimzed. Possible values are 0,1,2. Higher values lead to numerical inconsistencies.
MONCONST
logical, if T (default) additional monotonicty constraints are gathered from minimzing the total variation of f. Makes only sense, if method is 1 or 2.
CONVCONST
logical, if T (default) additional convexity constraints are gathered from minimzing the total variation of f'. Makes only sense, if method is 2.

Value

A list with components
y
The approximation of the given data
derivsign
Vector of 1 and -1, monotonicty constraints used if MONCONST was true
secsign
Vector of 1 and -1, convexity constraints used if CONVCONST was true
jact
Left endpoints of active multiresolution constraints for the final approximation
kact
Right endpoints of active multiresolution constraints for the final approximation
signact
Vector of 1 and -1, gives for each active multiresolution constraints, if the residuals on that interval attain upper or lower bound
pl
Left endpoint of piecewise constant intervals of the derivative of f being minmized
pr
Right endpoint of piecewise constant intervals of the derivative of f being minmized

References

Kovac, A. (2003) Minimizing Total Variation under Multiresolution Conditions

See Also

pmreg

Examples

Run this code
data(djdata)
djdoppler.tv0 <- mintvmon(djdoppler,method=0)
djdoppler.tv1 <- mintvmon(djdoppler,method=1)
djdoppler.tv2 <- mintvmon(djdoppler)
par(mfrow=c(2,2))
plot(djdoppler,col="lightgrey")
plot(djdoppler,col="lightgrey")
lines(djdoppler.tv0$y,col="blue")
plot(djdoppler,col="lightgrey")
lines(djdoppler.tv1$y,col="green")
plot(djdoppler,col="lightgrey")
lines(djdoppler.tv2$y,col="red")

Run the code above in your browser using DataLab