@Title(value="Off-line Change Point Detection") @Description(value="Detects multiple change points in a time series") @Reference(authors="D. Picard",title="Testing and Estimating Change-Points in Time Series ",booktitle="Advances in Applied Probability Vol. 17",url="https://doi.org/10.2307/1427090",bibkey="doi:10.2307/1427090") @Reference(authors="E. S. Page",title="On Problems in which a Change in a Parameter Occurs at an Unknown Point",booktitle="Biometrika Vol. 44",url="https://doi.org/10.2307/2333258",bibkey="doi:10.2307/2333258") @Reference(authors="M. Basseville, I. V. Nikiforov",title="Section 2.6: Off-line Change Detection",booktitle="Detection of Abrupt Changes - Theory and Application",url="http://people.irisa.fr/Michele.Basseville/kniga/kniga.pdf",bibkey="books/prentice/BassevilleN93/C2") public class OfflineChangePointDetectionAlgorithm extends AbstractAlgorithm<ChangePoints>
References:
 D. Picard
 Testing and Estimating Change-Points in Time Series
 Advances in Applied Probability Vol. 17
 
early results along these lines can be found in:
 E. S. Page
 On Problems in which a Change in a Parameter Occurs at an Unknown Point
 Biometrika Vol. 44
 
also discussed in:
 M. Basseville and I. V. Nikiforov
 Section 2.6: Off-line Change Detection
 Detection of Abrupt Changes - Theory and Application
| Modifier and Type | Class and Description | 
|---|---|
(package private) class  | 
OfflineChangePointDetectionAlgorithm.Instance
Instance for a single data set. 
 | 
static class  | 
OfflineChangePointDetectionAlgorithm.Parameterizer
Parameterization class. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
(package private) int | 
bootstrapSamples
Number of samples for bootstrap significance. 
 | 
private static Logging | 
LOG
Class logger 
 | 
(package private) double | 
minConfidence
Mininum confidence. 
 | 
(package private) RandomFactory | 
rnd
Random generator 
 | 
ALGORITHM_ID| Constructor and Description | 
|---|
OfflineChangePointDetectionAlgorithm(double confidence,
                                    int bootstrapSteps,
                                    RandomFactory rnd)
Constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static DoubleIntPair | 
bestChangeInMean(double[] sums,
                int begin,
                int end)
Find the best position to assume a change in mean. 
 | 
static void | 
cusum(double[] data,
     double[] out,
     int begin,
     int end)
Compute the incremental sum of an array, i.e. the sum of all points up to
 the given index. 
 | 
TypeInformation[] | 
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query. 
 | 
protected Logging | 
getLogger()
Get the (STATIC) logger for this class. 
 | 
ChangePoints | 
run(Relation<DoubleVector> relation)
Executes multiple change point detection for given relation 
 | 
static void | 
shuffle(double[] bstrap,
       int len,
       java.util.Random rnd)
Fisher-Yates shuffle of a partial array 
 | 
runprivate static final Logging LOG
int bootstrapSamples
double minConfidence
RandomFactory rnd
public OfflineChangePointDetectionAlgorithm(double confidence,
                                            int bootstrapSteps,
                                            RandomFactory rnd)
confidence - ConfidencebootstrapSteps - Steps for bootstrappingpublic ChangePoints run(Relation<DoubleVector> relation)
relation - the relation to processpublic static void cusum(double[] data,
                         double[] out,
                         int begin,
                         int end)
data - Input dataout - Output array (must be large enough).public static DoubleIntPair bestChangeInMean(double[] sums, int begin, int end)
sums - Cumulative sumsbegin - Interval beginend - Interval endpublic static void shuffle(double[] bstrap,
                           int len,
                           java.util.Random rnd)
bstrap - Data to shufflelen - Length of valid datarnd - Random generatorpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<ChangePoints>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<ChangePoints>Copyright © 2019 ELKI Development Team. License information.