piecewiseLinearApproximation {FuzzyNumbers}R Documentation

Piecewise Linear Approximation of a Fuzzy Number

Description

This method finds a piecewise linear approximation P(A) of a given fuzzy number A by using the algorithm specified by the method parameter.

Usage

## S4 method for signature 'FuzzyNumber'
piecewiseLinearApproximation(object,
   method=c("NearestEuclidean", "SupportCorePreserving", 
   "Naive"),
   knot.n=1, knot.alpha=seq(0, 1, length.out=knot.n+2)[-c(1,knot.n+2)],
   ..., verbose=FALSE)

Arguments

object

a fuzzy number

...

further arguments passed to integrateAlpha [only "NearestEuclidean" and "SupportCorePreserving"]

method

character; one of: "NearestEuclidean" (default), "SupportCorePreserving", or "Naive"

knot.n

desired number of knots (if missing, then calculated from given knot.alpha)

knot.alpha

alpha-cuts at which knots will be positioned (defaults to equally distributed knots)

verbose

logical; should some technical details on the computations being performed be printed? [only "NearestEuclidean"]

Details

'method' may be one of:

  1. NearestEuclidean: see (Coroianu, Gagolewski, Grzegorzewski, 2013 and 2014a); uses numerical integration, see integrateAlpha. Slow for large knot.n.

  2. SupportCorePreserving: This method was proposed in (Coroianu et al., 2014b) and is currently only available for knot.n==1. It is the L2-nearest piecewise linear approximation with constraints core(A)==core(P(A)) and supp(A)==supp(P(A)); uses numerical integration.

  3. Naive: We have core(A)==core(P(A)) and supp(A)==supp(P(A)) and the knots are taken directly from the specified alpha cuts (linear interpolation).

Value

Returns a PiecewiseLinearFuzzyNumber object.

References

Coroianu L., Gagolewski M., Grzegorzewski P. (2013), Nearest Piecewise Linear Approximation of Fuzzy Numbers, Fuzzy Sets and Systems 233, pp. 26-51.

Coroianu L., Gagolewski M., Grzegorzewski P., Adabitabar Firozja M., Houlari T. (2014a), Piecewise linear approximation of fuzzy numbers preserving the support and core, In: Laurent A. et al. (Eds.), Information Processing and Management of Uncertainty in Knowledge-Based Systems, Part II (CCIS 443), Springer, pp. 244-254.

Coroianu L., Gagolewski M., Grzegorzewski P. (2014b), Nearest Piecewise Linear Approximation of Fuzzy Numbers - General Case, submitted for publication.

See Also

Other approximation: trapezoidalApproximation()

Other FuzzyNumber-method: Arithmetic, Extract, FuzzyNumber-class, FuzzyNumber, alphaInterval(), alphacut(), ambiguity(), as.FuzzyNumber(), as.PiecewiseLinearFuzzyNumber(), as.PowerFuzzyNumber(), as.TrapezoidalFuzzyNumber(), as.character(), core(), distance(), evaluate(), expectedInterval(), expectedValue(), integrateAlpha(), plot(), show(), supp(), trapezoidalApproximation(), value(), weightedExpectedValue(), width()

Examples

(A <- FuzzyNumber(-1, 0, 1, 3,
   lower=function(x) sqrt(x),upper=function(x) 1-sqrt(x)))
(PA <- piecewiseLinearApproximation(A, "NearestEuclidean",
   knot.n=1, knot.alpha=0.2))

[Package FuzzyNumbers version 0.4-7 Index]