LOWESS and RLOWESS as smoother functions have the following limitations:
- there is no sliding window (at each point, the K nearest neighbors are fetched)
- only one kernel is available (tricube)
- the bandwidth of the kernel is variable and is equal to the distance between the current tick and the furthest neighbor
On the other hand, the family of smoother mappers of the type mapper.kernel.* have the following limitations:
- the computation of the smoother weights is discretized
- the bandwidth of the kernel is fixed and is computed from the parameters
- the semantic of parameters
bandwidth and step can be misleading
- only regression using weighted average is available
These limitations do not overlap.
- To answer all these limitations, we may deprecate
mapper.kernel.* and implement another family, for example coined mapper.smoother.*, or mapper.regression.* such that:
- the computation of weights is exact (instead of precomputed on a discrete set of values)
- they took a parameter
bandwidth expressed in time unit, for which 0 means 'maximize the bandwidth automatically at each point' (like in the case of LOWESS and RLOWESS)
- they took a parameter
degree for the degree of the polynomial fit, (0 means 'weighted averages' like current behavior)
- LOWESS and RLOWESS have a feature that can be interesting for MAP, namely, creating the window at each point using the K nearest neighbors. This could be also implemented in MAP, or as a variant, for example MAP.NEAR, by reusing the code of MAP except for computing the window (instead of
pre and post parameters, MAP.NEAR could have k and max.neighbor.distance parameters).
LOWESS and RLOWESS as smoother functions have the following limitations:
On the other hand, the family of smoother mappers of the type
mapper.kernel.*have the following limitations:bandwidthandstepcan be misleadingThese limitations do not overlap.
mapper.kernel.*and implement another family, for example coinedmapper.smoother.*, ormapper.regression.*such that:bandwidthexpressed in time unit, for which 0 means 'maximize the bandwidth automatically at each point' (like in the case of LOWESS and RLOWESS)degreefor the degree of the polynomial fit, (0 means 'weighted averages' like current behavior)preandpostparameters, MAP.NEAR could havekandmax.neighbor.distanceparameters).