Skip to content

[Discussion] Improve smoother functions and kernels #999

@randomboolean

Description

@randomboolean

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.

  1. 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)
  1. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions