Content uploaded by Demetris Christopoulos
Author content
All content in this area was uploaded by Demetris Christopoulos on Dec 01, 2014
Content may be subject to copyright.
Reliable computations of knee point for a curve and introduction of a unit
invariant estimation
Demetris T. Christopoulosa,b
aNational and Kapodistrian University of Athens, Department of Economics
bdchristop@econ.uoa.gr
Abstract
We are investigating the problem of knee finding for a curve when we have only a set of points from it. We are using
Menger curvature plus the Extremum Distance Estimator, in order to compute the knee point. Problems of noisy and
rescaling data are discussed with respect to the invariance or not of knee points and their estimations. A unit invariant
knee point estimator is proposed.
Keywords: knee point estimation, discrete curvature, EDE, unit invariance
1. Introduction
The concept of knee point is used in many fields like
fatigue damage theories [1], [2], [3], detecting number
of clusters [7], [8], botnet detection problem [9], in sys-
tem behavior [10]. Although it is broadly used, simple
codes for computing it are not easily found while many
problems, like scaling non invariance, have not been men-
tioned or investigated since now. A main result of the pa-
per is that after changing the units in x or y–axis (rescal-
ing) the knee point is essentially been lost, since the new
curve has a totally different one and it is not possible to
get the initial known by applying the inverse transforma-
tion. Another result is that we can define an invariant mea-
sure of the ’knee property’, based on the Extremum Dis-
tance Estimator (EDE method), which is invariant under
the common used unit transformations.
The structure of the paper: Initial definitions are given
at Section 2, the two methods and numerical examples are
presented at Section 3, the noisy data problem is solved at
Section 4, the rescaling problems at Section 5, the defi-
nition of unit invariant knee is in Section 6, discussion at
Section 7 and Rcodes are given at Appendix 9.
2. Knee point
First of all the knee point of a curve that is plotted using
y=f(x) is defined as
Definition 2.1. Let f be at least C(4) ([a,b]). The knee
point of f in [a,b]is the unique extreme point of curvature
k(f)=f′′ (x)
1+(f′(x))23
2
at [a,b].
Since we can always drop away the non-zero and positive
denominator 1+f′(x)23
2and all of its powers for com-
puting roots and signs, we can achieve using elementary
Calculus the next
Corollary 2.1. Knee point χis the algebraic solution at
[a,b]of the characteristic equation
E1(f, χ)=f′′′ (χ)1+f′(χ)2−3f′′ (χ)2f′(χ)=0 (1)
provided that for χit also holds that the second derivative
E2(f, χ)=34f′(χ)2−1f′′(χ)3−9f′(χ)1+f′(χ)2f′′′(χ)f′′(χ)+1+f′(χ)22f′′′′(χ)
(2)
is positive or negative, for a maximum or minimum cur-
vature respectively.
Corresponding author: Tel.: +306979210251 December 1, 2014
Figure 1: True knee point and estimation, f(x)=−1
x+5,x∈[0.2,2.1]
Example 2.1. For f (x)=−1
x+5,x∈[0.2,2] we compute
E1(f, χ)=6
1+1
χ4
χ4−12 1
χ8=0→χ=1
while it also holds
E2(f,1)=48 >0
and we indeed have minimum curvature, since function is
strictly concave, see Figure 1 where we have plotted the
relevant circles with radii of curvature and the curvature
k(f).
Example 2.2. For f (x)=a eb x we compute
E1(f, χ)=ab3ebχ1+a2b2ebχ2−3a3b5ebχ3=0
χ=−1
2bln 2a2b2(3)
while it also holds
E2 f,−1
2bln 2a2b2)!=−3ab4
√2a2b2
and we have the maximum curvature at x =χif a >0.
3. Methods to compute the knee point
A set of methods have been proposed for this task using
Menger curvature [4], [5], [6], angle-based method for
Bayesian information criterion [7], the Kneedle algorithm
[10] and dynamically determining the knee, [11].
3.1. Using the Menger curvature
Let’s define first some useful concepts that we will use.
Definition 3.1. Discrete curvature at point xi
of a curve is the Menger curvature of points
{(xi−1,yi−1),(xi,yi),(xi+1,yi+1)}computed by use of
Heron’s formula for the area of the corresponding
triangle.
Lemma 3.1. Discrete curvature at point (xi,yi)of a
curve is the Menger curvature
DC(xi)=√A−B2
kpqkkqrk krqk
A=4kpqk2kqrk2
B=kpqk2+kqrk2− kr pk2
kpqk=q(xi−1−xi)2+(yi−1−yi)2
kqrk=q(xi−xi+1)2+(yi−yi+1)2
krpk=q(xi+1−xi−1)2+(yi+1−yi−1)2
(4)
Proof
The radius of the uniquely defined circle that passes from
three non collinear points p=(xi−1,yi−1),q=(xi,yi),r=
(xi+1,yi+1)is given at [4], while its inverse value gives the
relevant curvature C(p,q,r)=1
R(p,q,r)=4A(p,q,r)
|p−q||q−r| |r−p|. If
we also use the well known from ancient times Heron’s
formula for computing the area of a triangle
A(p,q,r)=1
4p4|p−q|2|q−r|2−(|p−q|2+|q−r|2− |r−p|2)2then
we can directly find Eq. 4.
Definition 3.2. Discrete knee point for the set
{(xi,yi),i=1,2,...,n}of curve points is
DKconvex =ma x {DC(xi),i=2,...,n−1}
DKconcave =min {DC(xi),i=2,...,n−1}(5)
2
for a convex or concave curve, respectively.
Small Rcodes for computing 4 and 5 are given at Ap-
pendix 9.
3.2. Using the Extremum Distance Estimator method
We can find an approximation of knee points by using
the Extremum Distance Estimator (EDE) method, as is
defined in [12]. For a convex/concave curve we can find
two knee points approximately given by χF1, χF2respec-
tively. If we have a strictly convex or concave curve, then
knee point is close to χF1. The numerical computation of
the above points can be easily found using [13] by tak-
ing the function findiplist(x,y,index) with index =0 (for
a convex/concave or strictly convex curve) and index =1
(for a concave/convex or strictly concave curve). A small
R code illustrating the use can be found at Appendix 9.
The differences between our method and Kneedle method
of [10] are (i) in EDE there is not any kind of data smooth-
ing like smooth splines used in Kneedle, (ii) in EDE there
is no kind of conversion to the simplex [0,1] ×[0,1] that
is used in Kneedle and (iii) in EDE there is no threshold
value as is defined and used in Kneedle.
3.3. Numerical examples
A sigmoid curve. Let’s take for example a con-
vex/concave sigmoid curve which is the plot of the func-
tion
f(x)=5+5 tanh(x−5),x∈[0,10] (6)
Then it is easy to find that there exist two knee points that
are positioned symmetrically around the inflection point
p=5
χ1=5−arctanh 1
15 √195!=3.334536724 (7)
χ2=5+arctanh 1
15 √195!=6.665463276 (8)
with the confirmation for curvature extrema
E2(f, χ1)=−16016
18225 √195 =−12.27167454 <0 (9)
E2(f, χ2)= + 16016
18225 √195 = +12.27167454 >0 (10)
Figure 2: Knee points for f(x)=5+5 tanh(x −5)
The relevant EDE approximations can theoretically be
found using Lemma 1.4 of [12] to be close to knee points
with an error about ±0.22
xF1=5−arctanh √10 √3+2 e20+5 e10
5 e10+5=3.556313768 (11)
xF2=5+arctanh √10 √3+2 e20+5 e10
5 e10+5=6.443686232 (12)
The curve and the points of interest are plotted at Figure
2 where we have also put the relevant circles of curvature
with radius being the inverse of the computed discrete cur-
vature.
A strictly convex curve. We are studying the function
of Example 2.1 with x∈[0.2,2.1] and knee χ=1,
which is taken from [10], in order to show that the max-
imum of a rotated graph does not give us the true knee
of the initial curve. We convert the x and y data of an
equidistant partition with N=101 points for [0.2,2.1]
to the [0,1] ×[0,1] range by using the transformation
T1(a,b,x)=x−a
b−awith a,bthe min, max values respec-
tively for x and y. When we apply our methods to the
simplex we find DK =χF1=x(s)
25 =0.24 →0.656, while
3
Figure 3: EDE estimations for knee point of f(x)=−1
x+5,x∈[0.2,2.1]
after applying partially the procedure of Kneedle method, [10]
after rotating with θ=−90◦we find again DK =χF1=
x(s,rot)
25 =0.7129705936 →0.24 →0.656, see Figure 3.
So by applying the conversion to simplex and then the ro-
tation of −90◦we just compute by a complicated way the
relevant point of EDE method and not the knee point, thus
the Kneedle method of [10] cannot find the true knee of
the curve, which here was χ=1, see again Figure 1.
4. The problem of noisy data
It is remarkable to mention that when we have a noisy
data set the above EDE estimations are close to the true
knee points, while the direct Menger curvature compu-
tation totally fails, since it is highly sensitive to errors.
As an example we add a uniformly distributed error term
∼U(−0.1,+0.1), to the function 6 using an equidistant
partition of [a,b]=[0,10] of 100 intervals and we find
using Eq. 5 the values DK ={x22 ,x91 }={2.1,9.0}that
are far away from true knee points, while EDE estima-
tions χF1,2={x36,x67 }={3.5,6.6}are still close to the
true knees, see Figure 4.
Figure 4: Knee points for noisy data of f(x)=5+5 tanh(x −5)
Thus we can use the EDE method in order to find the
knee points when we have noisy data with an acceptable
error, compared with the totally divergence of the Discrete
Curvature approach.
5. The problem of rescaling data
Many times, especially in Physics and Engineering, it
is a common practise to rescale data by changing units or
by dividing with maximum values, in order to have the so
called arbitrary units. Then the knee point in most of the
cases is not invariant. We will study the subclass of affine
transformations, those with the form u→λu+µ, λ > 0,
because they do not change the order of our data. We will
also study the common logarithmic axis rescaling.
5.1. Affine axis transformations
5.1.1. Rescaling y–axis
If we study instead of the
D={(xi,yi=f(xi)),i=1,2,...,n}data the transformed
D(λy+µ)=nxi,y′
i=λf(xi)+µ),i=1,2,...,no, λ > 0
4
then the curvature of our observed curve is
k(λf+µ)=λf′′ (x)
1+λ2(f′(x))23
2
(13)
The characteristic equation now is
E1(λf+µ, χ)=f′′′ (χ)1+λ2f′(χ)2−3λ2f′′ (χ)2f′(χ)=0
(14)
The second derivative is
E2(λf+µ, χ)=
34λ2f′(χ)2−1λ3f′′(χ)3−9λ3f′(χ)1+λ2f′(χ)2f′′′(χ)f′′(χ)+λ1+λ2f′(χ)22f′′′′ (χ)
(15)
It is obvious that we cannot find the same values for the
knee point, except iffλ=1, so we have proven next
Lemma 5.1. The knee point of a curve is not invariant
under the y–axis transformation y →λy+µ, λ > 0, λ ,
1.
Example 5.1. For f (x)=ex,x∈[a,b]=[−2,3] us-
ing Eq. 3 we find the knee point χ=−1
2ln (2)=
−0.34657359. We want to convert y–axis to an axis with
units of the maximum value e3, so λ=e−3, µ =0. Then
we find
E1(e−3f, χ)=eχ1+e−32(eχ)2−3e−32(eχ)3=0
χ=−1
2ln (2)+3=2.65342641
while it also holds
E2 e−3f,−1
2ln (2)+3!=−3
2√2<0
and we indeed have maximum. Of course the knee point is
now different. By taking an equidistant partition of [−2,3]
with 100 subintervals we can compute using Eq. 5 that
DKλf+µ=x94 =2.65 correctly, but it has changed.
When we apply the EDE estimation we find the same po-
sition for knee, x =χF1=x69 =1.4, which, although is
not close to knee, it remains the same after rescaling.
Example 5.2. For the function of 3.3 we want to resize
the y–axis converting it to the [0,1] range, so we need
λ=1
10 tanh(5)and µ=−1+tanh(5)
2 tanh(5). Then we can find
χ1=4.25526516, χ2=5.74473484, again symmetrical
with respect to inflection point p =5–which is unaltered–
and we observe that they are different from the initial
ones. By taking an equidistant partition of [0,10] with
100 subintervals we can compute using 5 for the initial
data and for the transformed one that DKf,1=x34 =3.3
and DKλf+µ,1=x44 =4.3correctly for both cases, but
different. So after rescaling y–axis we actually compute a
totally different value for knee point, ie the knee point is
not y–scaling invariant.
But, if we apply the EDE estimation we can compute for
the two cases the same results χF1=x37 =3.6, χF2=
x65 =6.4, so they have not changed.
Now we can prove the next remarkable
Lemma 5.2. The estimation of a knee point by using EDE
method is invariant under rescaling the y–axis after ap-
plying an affine transformation.
Proof
By using Lemma 1.4 of [12] for the transformed function
g(x)=λf(x)+µwe have that
xF1,2(g)=arg
x∈[a−δ1,b+δ2](g′(x)=g(b)−g(a)
b−a)
=arg
x∈[a−δ1,b+δ2]nλf′(x)=λf(b)+µ−λf(a)−µ
b−ao
=arg
x∈[a−δ1,b+δ2](f′(x)=f(b)−f(a)
b−a)
=xF1,2(f)
5.1.2. Rescaling x–axis
We want now to study instead of
D={(xi,yi=f(xi)),i=1,2,...,n}the transformed data
D(λx+µ)={(ti=λxi+µ, yi),i=1,2,...,n}, λ > 0.If we
inverse the transformation we find x=t
λ−µ
λ= Λ t+M
with Λ = 1
λand M=−µ
λ. So by using inverse transform
we can find that the curvature as a function of tis
k(f,t)=Λ2f′′ (Λt+M)
1+Λ2(f′(Λt+M))23/2=Λ2f′′ (x)
1+Λ2(f′(x))23/2(16)
The characteristic equation is
E1(f,t)=f′′′ (x)+ Λ2f′′′ (x)f′(x)2−3Λ2f′′ (x)2f′(x)=0
(17)
5
The second derivative is
E2(f,t)=f(4) (x)+2Λ2f(4) (x)f′(x)2+ Λ4f(4) (x)f′(x)4−9Λ2f′′′ (x)f′′ (x)f′(x)
−9Λ4f′′′ (x)f′(x)3f′′ (x)+12 Λ4f′′ (x)3f′(x)2−3Λ2f′′ (x)3
(18)
using x= Λ t+M. Of course we directly observe that the
new values for knee points are different from the initial
ones, provided that λ,1.
Example 5.3. For f (x)=1
2e2
3x,x∈[a,b]=[−1.5,3.5]
there exists a knee point that is found using Eq. 3 to be χ=
3
4ln 9
2=1.12805805. We want to convert the x–axis to
[-1,1], so we need λ=2
5, µ =−2
5thus [Λ = 5
2,M=1].
Then it is
E1(f,t)=4
27 e5
3t+2
3−50
243 e5
3t+2
33=0
t=−2
5+3
10 ln 18
25 !=−0.49855122
while it also holds
E2 f,−2
5+3
10 ln 18
25 !!=−8
45 √2<0
and we have indeed maximum curvature. By taking an
equidistant partition of [−1.5,3.5] with 100 subintervals
we can compute using 5 that DK =t26 =−0.5correctly.
If we apply the inverse transform in order to return back to
the initial unit scale, then we will find a value χ=−0.25
which is absolutely incorrect. Thus after changing our
units we essentially lost the knee point, ie the knee point
is not x–scaling invariant.
On the contrary, if we apply the EDE estimation we can
compute for the two cases the same positions for the
knees, at first case is x =χF1=x64 =1.65, at second
case is t =χF1=t64 =0.26 which after inversion gives
again x =1.65.
We see that EDE estimations of knee point are scale in-
variant for this kind of x–axis transformations, thus we
can prove next
Lemma 5.3. The estimation of a knee point by using EDE
method is invariant under rescaling the x–axis using an
affine transformation.
Proof
By using Lemma 1.4 of [12] for the transformed function
f(x)=f(Λt+M)=g(t),ta=λa+µ, tb=λb+µwe
have that
tF1,2(g)=arg
t∈[ta−∆1,tb+∆2]ng′(t)=g(tb)−g(ta)
tb−tao
=arg
x∈[a−δ1,b+δ2]nΛf′(x)=f(Λtb+M)−f(Λta+M)
λb+µ−λa−µo
=arg
x∈[a−δ1,b+δ2]nΛf′(x)=1
λ
f(Λλb+Λ µ+M)−f(Λλa+Λ µ+M)
b−ao
=arg
x∈[a−δ1,b+δ2](Λf′(x)= Λ f(b)−f(a)
b−a)
=arg
x∈[a−δ1,b+δ2](f′(x)=f(b)−f(a)
b−a)
=xF1,2(f)
since it holds Λ = 1
λand M=−µ
λ.
5.2. Logarithmic transformations
5.2.1. Log-Y rescaling
We study instead of the
D={(xi,yi=f(xi)),i=1,2,...,n}data the transformed
D(ln y)=nxi,y′
i=ln (f(xi))),i=1,2,...,no,f(xi)>0
The curvature of our observed curve is
k(ln f)=
f′′ (x)f(x)−f′(x)2
f(x)21+(f′(x))2
f(x)2
3
2
The characteristic equation if we omit the χvariable is
E1(ln f)=f4+f2f′2f′′′ −3f′f3−f f ′3f′′ −f′3f′′2−2f′2f2−f′5=0
(19)
We will also omit the second derivative test, due to its
large size. It is obvious that we cannot find the same val-
ues for the knee point, so we have proven next
Lemma 5.4. The knee point of a curve is not invariant
under the Log-Y axis transformation.
5.2.2. Log-X rescaling
We want now to study instead of
D={(xi,yi=f(xi)),i=1,2,...,n}the transformed
data D(ln x)={(ti=ln (xi),yi),i=1,2,...,n},xi>0.
If we inverse the transformation we find x=et. So by
6
using inverse transform we can find that the curvature as
a function of tis
k(f,t)=e2tf′′ et+etf′et
1+e2t(f′(et))23/2=x2f′′ (x)+x f ′(x)
1+x2(f′(x))23/2
(20)
The characteristic equation is
E1(f,t)=f′2f′′′ −3f′f′′2x4−3f′2f′′ x3+−2f′3+f′′′ x2+3f′′ x+f′=0
(21)
with x=etand we omit the second derivative test. Again
we find different values for knee points, we have proven
next
Lemma 5.5. The knee point of a curve is not invariant
under the Log-X axis transformation.
Example 5.4. We choose an equidistant partition of 100
subintervals of [a,b]=[5,10] for the function 6, thus we
have a strictly concave curve.
Log-Y. By taking logarithms for y–axis we find χ=x11 =
5.5≈5.518384 which is the correct value from 19, but
different from the initial of 6.665463, found at 11. The
EDE estimation is now χF1=x27 =6.3closer to the ini-
tial value and slightly different than the x30 =6.45 which
was the result without taking logy. So, even if EDE is not
any more invariant, the new disturbed value is close to the
initial one, thus it is approximately invariant.
Log-X. By taking logarithms for x–axis we find t55 =
2.041220 ≈2.043988 which is the correct value from 21,
but after inversion it gives χ=x55 =7.7, different from
the initial of 6.665463, found at 11. The EDE estimation
is now t28 =1.848454 ie χF1=x28 =6.35 closer to
the initial value and slightly different than the x30 =6.45
which was the result without taking logx. So, again EDE
is not logx invariant, but it is approximately invariant.
6. A unit invariant estimation of knee point
We found that, although the concept of knee point is
directly connected to the curvature - invariant under re-
parametrizations- it is not by itself invariant under the
most commonly used rescaling of x and y–axis, thus it
is proved to be a non so useful measure. But we have
also found that the two χF1,2points that are defined when
we apply the EDE method are invariant under affine axis
rescaling and are approximately invariant under logarith-
mic axis rescaling. So, even if we are not sure about
the validity of our EDE knee point estimation (since that
method depends on the interval [X(1) ,X(ν)]=[a,b] of
data) we can always be sure that our estimation is unit
invariant or approximately invariant for logarithmic plots.
This is a remarkable result for data handling in natural
sciences. For example in symmetrical sigmoid curves, we
could define the χF1,2points to be the scale invariant ap-
proximations of knee points, giving the next
Definition 6.1. The Unit Invariant Knee (UIK) of a curve
is the proper point given by the Extremum Distance Es-
timator method according to the convexity, concavity or
sigmoidicity classification.
The UIK is invariant under unit transformations of x and
y–axis and it is approximately invariant under logarith-
mic axis rescaling. For a strictly convex or concave curve
UIK =χF1, while for a convex/concave sigmoid curve
UIK1,2=χF1,2.
A visual interpretation of χF1,2points is that they are ac-
tually slant extrema, ie local minimum or maximum rela-
tively to the (slant) total chord which connects initial and
ending points of the curve. If we compute the angle
θ=−arctan f(b)−f(a)
b−a!(22)
and do a rotation to all our points by using the rotation
matrix
R(θ)=
cos (θ)−sin (θ)
sin (θ)cos (θ)
(23)
then we can convert our graph to another one which has
as extrema the EDE points, as can be easily verified from
Figure 5 which presents the data of Figure 2 after such a
rotation. Just to mention that the EDE estimations for ro-
tated data are again at the same positions as before χrot
F1,2=
{xrot
36 ,xrot
67 }={2.7549,11.500} → {3.5,6.6}={x36,x67}.
7. Discussion
We studied extensively the concept of knee point giving
definitions for functions and for discrete data. We proved
that it is not neither unit nor logarithmic scale invariant.
7
Figure 5: EDE points for noisy data of f(x)=5+5 tanh(x −5) before
and after rotation
The EDE method was proved to give estimations of knee
point that either are unit invariant or have small departure
after rescaling. Thus we defined the unit invariant knee
(UIK) estimation of the knee property and we can use it
as a way for more reliable non parametric knee point com-
putations.
8. Acknowledgment
The author of this article would like to thank Marek W.
Gutowski for his valuable comments about the concept of
knee point.
9. Appendix
Here is the Rcode for computing Menger discrete cur-
vature of data using Eq. 4.
cmenger<-function(x1,y1,x2,y2,x3,y3){
sqrt(abs(4*((x1-x2)^2+(y1-y2)^2)*((x2-x3)^2+(y2-y3)^2)-
((x1-x2)^2+(y1-y2)^2+(x2-x3)^2+(y2-y3)^2-(-x3+x1)^2-
(-y3+y1)^2)^2))/(sqrt((x1-x2)^2+(y1-y2)^2)*
sqrt((x2-x3)^2+(y2-y3)^2)*sqrt((x3-x1)^2+(y3-y1)^2));
}
The Rcode for finding knee points using Eq. 5.
findknee<-function(x,y){
n=length(x)
c=rep(0,n-2)
for (j in (1:(n-2)))
{
c[j]=cmenger(x[j],y[j],x[j+1],y[j+1],x[j+2],y[j+2]);
}
jm=which.max(c);cm=max(c);
ikn=jm+1;
xkn=x[ikn];
c(cm,ikn,x[ikn]);
}
The Rcode for finding UIK of 6 using EDE method de-
scribed at Section 3.2.
#load package inflection
library(inflection)
#convex/concave sigmoid curve:
x=cbind(seq(0,10,by=0.05));y=cbind(5+5*tanh(x-5));
plot(x,y,cex=0.5,main=’y=5+5tanh(x-5) as sigmoid’)
i1<-1;i2<-round(length(x)/2);
kp1<-findknee(x[i1:i2],y[i1:i2])[3];
kp1;abline(v=kp1,col=’green’)
i1<-round(length(x)/2);i2<-length(x);
kp2<-findknee(x[i1:i2],y[i1:i2])[3];
kp2;abline(v=kp2,col=’green’)
b<-findiplist(x,y,0);x[b[2,1:2]];
abline(v=x[b[2,1:2]],col=’red’)
legend(’right’,col=c(’green’,’red’),lty=c(1,1),
legend=c(’knees’,’UIKs’))
#rescaling y-axis in units of maximum value:
ymax=max(y);ymax;yr<-y/ymax;
plot(x,yr,cex=0.5,
main=’y=5+5tanh(x-5) as sigmoid: Rescaling y-axis’)
abline(v=c(kp1,kp2),col=’green’)
i1<-1;i2<-round(length(x)/2);
kp1r<-findknee(x[i1:i2],yr[i1:i2])[3];
kp1r;abline(v=kp1r,lty=2,col=’green’)
i1<-round(length(x)/2);i2<-length(x);
kp2r<-findknee(x[i1:i2],yr[i1:i2])[3];
kp2r;abline(v=kp2r,lty=2,col=’green’)
b<-findiplist(x,yr,0);x[b[2,1:2]];
abline(v=x[b[2,1:2]],col=’red’)
legend(’right’,col=c(’green’,’green’,’red’),
lty=c(1,2,1),legend=c(’knees (initial)’,
’knees (y-rescale)’,’UIKs’))
#observe the unit invariant knee points (UIKs)
#strictly convex:
8
x=cbind(seq(0,5,by=0.05));y=cbind(5+5*tanh(x-5));
plot(x,y,cex=0.5,
main=’y=5+5tanh(x-5) as strictly convex’)
kp<-findknee(x,y)[3];kp;abline(v=kp)
b<-findiplist(x,y,0);x[b[2,1]];
abline(v=x[b[2,1]],col=’red’)
legend(’left’,col=c(’green’,’red’),lty=c(1,1),
legend=c(’knee’,’UIK’))
#strictly concave:
x=cbind(seq(5,10,by=0.05));y=cbind(5+5*tanh(x-5));
plot(x,y,cex=0.5,
main=’y=5+5tanh(x-5) as strictly concave’)
kp<-findknee(x,y)[3];kp;abline(v=kp)
b<-findiplist(x,y,1);x[b[2,1]];
abline(v=x[b[2,1]],col=’red’)
legend(’right’,col=c(’green’,’red’),lty=c(1,1),
legend=c(’knee’,’UIK’))
References
[1] A. Fatemi and L. Yang, Cumulative fatigue damage
and life prediction theories: a survey of the state
of the art for homogeneous materials, International
Journal of Fatigue,20 (1), January 1998, pp 9–34,
DOI:10.1016/S0142-1123(97)00081-9, 1998.
[2] L. Franke and G. Dierkes, A non-linear fatigue dam-
age rule with an exponent based on a crack growth
boundary condition, International Journal of Fa-
tigue,21 (8), September 1999, pp 761–767, DOI:
10.1016/S0142-1123(99)00045-6,1999.
[3] K. Endo and H. Goto, Initiation and propa-
gation of fretting fatigue cracks, Wear, Vol-
ume 38, Issue 2, pp 311–324, DOI:10.1016/
0043-1648(76)90079-X, 1976.
[4] Pawel Strzelecki and Heiko von der Mosel, Integral
Menger curvature for surfaces, in Advances in Math-
ematics,226 (3), pp 2233–2304, DOI:10.1016/j.
aim.2010.09.016, 2011.
[5] K. Menger, Untersuchungen ber allgemeine Metrik,
in Mathematische Annalen ,103 (1), pp 466-501,
DOI:10.1007/BF01455705, 1930.
[6] K. Menger, Untersuchungen ber allgemeine Metrik.
Vierte Untersuchung. Zur Metrik der Kurven, in Se-
lecta Mathematica, Springer Vienna, pp 333–368,
DOI:10.1007/978-3- 7091- 6110- 4_22, 2002.
[7] Zhao, Q., Hautamaki, V. and Frnti, Pasi, J.,Knee
Point Detection in BIC for Detecting the Num-
ber of Clusters, in Advanced Concepts for Intel-
ligent Vision Systems, Springer Berlin Heidelberg,
10.1007/978-3-540- 88458- 3_60, pp 664–673,
2008.
[8] Krishnapuram, R. , Frigui, H. and Nasraoui, O., The
Fuzzy C Quadric Shell clustering algorithm and the
detection of second-degree curves, in Pattern Recog-
nition Letters,14, Issue 7, pp 545–552, DOI:10.
1016/0167-8655(93)90103-K, 1993.
[9] Karasaridis, A., Rexroad, B. & Hoeflin, D.,
Wide-scale Botnet Detection and Characterization,
in Proceedings of the First Conference on First
Workshop on Hot Topics in Understanding Bot-
nets, USENIX Association, http://dl.acm.org/
citation.cfm?id=1323128.1323135,2007.
[10] Ville Satopaa, Jeannie Albrecht, David Irwin,
and Barath Raghavan, Finding a ”Kneedle” in a
Haystack: Detecting Knee Points in System Be-
havior, in Proceedings of the 2011 31st Interna-
tional Conference on Distributed Computing Sys-
tems Workshops (ICDCSW ’11), pp. 166–171,
DOI=10.1109/ICDCSW.2011.20, 2011.
[11] Albrecht, J., Tuttle, C., Snoeren, A. C. & Vahdat, A.,
Loose Synchronization for Large-scale Networked
Systems, in Proceedings of the Annual Conference
on USENIX ’06 Annual Technical Conference,
USENIX Association, pp 28–28, https://www.
usenix.org/legacy/events/usenix06/tech/
full_papers/albrecht/albrecht_html/,
2006.
[12] DT Christopoulos, Developing methods for identi-
fying the inflection point of a convex/concave curve,
in arXiv:1206.5478[math.NA], 2012.
[13] DT Christopoulos, R package inflection: Finds
the inflection point of a curve, in http://CRAN.
R-project.org/package=inflection, 2013.
9