uik {inflection} | R Documentation |
Implementation of Unit Invariant Knee (UIK) method for finding the knee point of a curve
Description
It finds the UIK estimation for elbow or knee point of a curve, see [1] for details.
Usage
uik(x, y)
Arguments
x |
The numeric vector of x-abscissas, must be of length at least 4. |
y |
The numeric vector of y-abscissas, must be of length at least 4. |
Details
Given the x, y numeric vectors it first checks the curve by using check_curve
and classifies it as convex, concave or convex/concave, concave/convex.
Value
It returns the x-abscissa which is the UIK estimation for the knee point.
Author(s)
Demetris T. Christopoulos
References
[1] Christopoulos, Demetris T., Introducing Unit Invariant Knee (UIK) As an Objective Choice for Elbow Point in Multivariate Data Analysis Techniques (March 1, 2016). Available at SSRN: https://ssrn.com/abstract=3043076 or http://dx.doi.org/10.2139/ssrn.3043076
See Also
check_curve
and d2uik
Examples
## Lets create a convex data set
x=seq(1,10,0.05)
y=1/x
plot(x,y)
knee=uik(x,y)
knee
## [1] 3.15
abline(v=knee)
## Lets add noise to them now
set.seed(20190625)
x=seq(1,10,0.05)
y=1/x+runif(length(x),-0.02,0.02)
plot(x,y)
knee=uik(x,y)
knee
## [1] 3.3
abline(v=knee)