# smqreg: Smooth piecewise monotone regression with taut strings In ftnonpar: Features and Strings for Nonparametric Regression

## Description

Applies the smooth taut string method to one-dimensional data.

## Usage

 ```1 2 3 4``` ```smqreg(y, thr.const=2.5, verbose=FALSE, bandwidth=-1, sigma=-1, localsqueezing=TRUE, squeezing.factor=0.5, DYADIC=TRUE, firstlambda=100,smqeps=1/length(y),fsign=double(0),gensign=TRUE, tolerance = 1e-12,...) ```

## Arguments

 `y` observed values (ordered by value of independent variable) `thr.const` smoothing parameter for the multiresolution criterion (should be approximately 2.5) `verbose` logical, if T progress (for each iteration) is illustrated grahically `bandwidth` if set to a positive value the specified bandwidth is used instead of the multiresolution criterion. `sigma` if set to a positive value sigma the standard deviation is set to sigma and not estimated from the data `localsqueezing` logical, if T (default) the bandwidth is changed locally. `squeezing.factor` The amount of decrement applied to the bandwidthes `DYADIC` If TRUE the multiresolution constraints are only checked on dyadic intervals. `firstlambda` Initial value of lambda's for local or global squeezing. `smqeps` Distance between the (equally-spaced) time points. `fsign` Monotonicity constraints, vector of size n-1 of -1,0 and 1's. If fsign[i]==1, then fhat[i+1]>= fhat[i]. If fsign[i]==-1, then fhat[i+1]<=f[i]. Otherwise no constraint at this position. `gensign` If TRUE the taut string method is used to automatically produce suitable monotonicity constraints. `tolerance` Precision for the nested intervals for solving the minimisation problem. `...` Passed to the plot command if verbose=T.

## Value

A list with components

 `y` The approximation of the given data `nmax` Number of local extreme values `sigma` Standard deviation used

## Author(s)

Arne Kovac A.Kovac@bristol.ac.uk

## References

Kovac, A. (2006) Smooth functions and local extreme values. Technical Report

`pmreg,mintvmon`,`l1pmreg`,`pmden`,`pmspec`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10``` ```data(djdata) par(mfrow=c(2,2)) plot(djblocks,col="grey") lines(smqreg(djblocks)\$y,col="red") plot(djbumps,col="grey") lines(smqreg(djbumps)\$y,col="red") plot(djheavisine,col="grey") lines(smqreg(djheavisine)\$y,col="red") plot(djdoppler,col="grey") lines(smqreg(djdoppler)\$y,col="red") ```

### Example output ```
```

ftnonpar documentation built on May 2, 2019, 3:04 a.m.