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 ﬁnding 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 ﬁelds 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 diﬀerent one and it is not possible to

get the initial known by applying the inverse transforma-

tion. Another result is that we can deﬁne 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 deﬁnitions 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 deﬁ-

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 deﬁned as

Deﬁnition 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 deﬁne ﬁrst some useful concepts that we will use.

Deﬁnition 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 deﬁned 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 ﬁnd Eq. 4.

Deﬁnition 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 ﬁnd an approximation of knee points by using

the Extremum Distance Estimator (EDE) method, as is

deﬁned in [12]. For a convex/concave curve we can ﬁnd

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 ﬁndiplist(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 diﬀerences 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 deﬁned 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 ﬁnd that there exist two knee points that

are positioned symmetrically around the inﬂection point

p=5

χ1=5−arctanh 1

15 √195!=3.334536724 (7)

χ2=5+arctanh 1

15 √195!=6.665463276 (8)

with the conﬁrmation 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 ﬁnd 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 ﬁnd 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 ﬁnd 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 ﬁnd

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 ﬁnd 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 aﬃne

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. Aﬃne 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 ﬁnd the same values for the

knee point, except iﬀλ=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 ﬁnd 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 ﬁnd

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 diﬀerent. 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 ﬁnd 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 ﬁnd

χ1=4.25526516, χ2=5.74473484, again symmetrical

with respect to inﬂection point p =5–which is unaltered–

and we observe that they are diﬀerent 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

diﬀerent. So after rescaling y–axis we actually compute a

totally diﬀerent 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 aﬃne 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 ﬁnd x=t

λ−µ

λ= Λ t+M

with Λ = 1

λand M=−µ

λ. So by using inverse transform

we can ﬁnd 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 diﬀerent 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 ﬁnd 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 ﬁrst 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

aﬃne 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 ﬁnd 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 ﬁnd x=et. So by

6

using inverse transform we can ﬁnd 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 ﬁnd diﬀerent 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 ﬁnd χ=x11 =

5.5≈5.518384 which is the correct value from 19, but

diﬀerent 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 diﬀerent 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 ﬁnd t55 =

2.041220 ≈2.043988 which is the correct value from 21,

but after inversion it gives χ=x55 =7.7, diﬀerent 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 diﬀerent 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 deﬁned when

we apply the EDE method are invariant under aﬃne 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 deﬁne the χF1,2points to be the scale invariant ap-

proximations of knee points, giving the next

Deﬁnition 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 classiﬁcation.

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 veriﬁed 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

deﬁnitions 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 deﬁned 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 ﬁnding 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 ﬁnding 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. & Hoeﬂin, 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 inﬂection point of a convex/concave curve,

in arXiv:1206.5478[math.NA], 2012.

[13] DT Christopoulos, R package inﬂection: Finds

the inﬂection point of a curve, in http://CRAN.

R-project.org/package=inflection, 2013.

9