# ese: The Extremum Surface Estimator (ESE) for finding the... In inflection: Finds the Inflection Point of a Curve

## Description

Implementation of ESE method as defined in  and  by giving a simple output of the method. Use of parallel computing under user request.

## Usage

 `1` ```ese(x, y, index, doparallel = FALSE) ```

## Arguments

 `x` The numeric vector of x-abscissas, must be of length at least 4. `y` The numeric vector of the noisy or not y-ordinates, must be of length at least 4. `index` If data is convex/concave then index=0 If data is concave/convex then index=1 `doparallel` If doparallel=TRUE then parallel computing is applied, based on the available workers of current machine (default value = FALSE)

## Details

If data is from an unknown function and without noise then we can find the inflection point by a way similar to bisection method way for root finding. If data is noisy, then we have two consistent estimators of the trapezoidal estimated inflection point, i.e. we consistently estimate what we could find by computing the relevant areas with elementary trapezoids. This method is not so fast as `ede` but it can be used for a fine-tuning of the result returned be EDE.

## Value

A matrix of size 1 x 3 is returned with elements:

 `A(1,1)=i_1` The index j-right for ESE method `A(1,2)=i_2` The index j-left for ESE method `A(1,3)=χ_{S}` The Extremum Surface Estimator (ESE) for inflection point

## Note

Use doparallel=TRUE option when you have relative large data sets (N>20000).
For large data sets (one million rows) it is better to use first `ede` or `bede` in order to locate a smaller neighbourhood of the inflection point. Then ese gives a better estimation, since it uses surfaces and not distances from total chord.

## Author(s)

Demetris T. Christopoulos

## References

Demetris T. Christopoulos (2014). Developing methods for identifying the inflection point of a convex/concave curve. arXiv:1206.5478v2 [math.NA]. https://arxiv.org/pdf/1206.5478v2.pdf

Demetris T. Christopoulos (2016). On the efficient identification of an inflection point.International Journal of Mathematics and Scientific Computing, (ISSN: 2231-5330), vol. 6(1). https://veltech.edu.in/wp-content/uploads/2016/04/Paper-04-2016.pdf

## See Also

See also the iterative version `bese` and iterations plot using `findipiterplot`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24``` ```# # #Fisher-pry model with heavy noise and unequal spaces, relative large data set: #N=20001; #set.seed(2017-05-11);x=sort(runif(N,0,10));y=5+5*tanh(x-5)+runif(N,-1,1); #plot(x,y,type='l',ylab=expression(5+5*tanh(x-5)+epsilon[i])) # #t1=Sys.time(); #tese=ese(x,y,0,doparallel = TRUE); #t2=Sys.time();print(as.POSIXlt(t2, "GMT")-as.POSIXlt(t1, "GMT"),quote=F); #Time difference of 7.641404 secs #tese;abline(v=tese,col='blue') # j1 j2 chi # ESE 7559 12790 5.078434 #Compare with serial version (don't run): # # t1=Sys.time(); # tese=ese(x,y,0,doparallel = FALSE); # t2=Sys.time();print(as.POSIXlt(t2, "GMT")-as.POSIXlt(t1, "GMT"),quote=F); # #Time difference of 24.24364 secs # tese; # j1 j2 chi # ESE 7559 12790 5.078434 # ```

### Example output

```
```

inflection documentation built on June 28, 2019, 5:03 p.m.