`ChangePointDetection.changepoints`

— Method`changepoints(ts; threshold = 0.5, window = 150)`

Estimates change points in the underlying probability density of a time series via lsdd. Every time the lsdd value exeeds the given threshold, a change point is detected. returns the list of detected change points.

`ChangePointDetection.lsdd`

— Method```
lsdd(x::Array{Float64,1}, y::Array{Float64,1}; folds = 5, sigma_list = nothing, lambda_list = nothing)
Computes the least-squares density-difference (lsdd) for arrays `x` and `y`.
The lsdd value characterizes how different the probability densities the generated 'x' and 'y' are.
The closer the lsdd is to 0, the more similar the probability densities are.
Input :
'x', 'y' : the arrays of data upon which to perform the lsdd computation.
folds : the number of cross-validation tests. higher is more precise but more expensive.
sigma_list, lambda_list : points defining the grid search during the optimization of gaussian kernels.
Returns :
L2 : lsdd value.
```

`ChangePointDetection.lsdd_profile`

— Method```
lsdd_profile(ts; window = 150)
returns for each point of given time-series 'ts' the lsdd value.
Allows to estimate changes in the underlying probability density : a peak in lsdd value indicate a change point.
```

`ChangePointDetection.squared_distance`

— Method```
squared_distance(X::Array{Float64,1},C::Array{Float64,1})
computes the square distance between elements of
X and C. returns squared_dist.
squared_dist[ij] = ||X[:, i] - C[:, j]||^2
```