@Title(value="Signi-Trend: scalable detection of emerging topics in textual streams by hashed significance thresholds") @Reference(authors="Erich Schubert, Michael Weiler, Hans-Peter Kriegel", title="Signi-Trend: scalable detection of emerging topics in textual streams by hashed significance thresholds", booktitle="Proc. 20th ACM SIGKDD international conference on Knowledge discovery and data mining", url="https://doi.org/10.1145/2623330.2623740", bibkey="DBLP:conf/kdd/SchubertWK14") @Priority(value=200) public class SigniTrendChangeDetection extends AbstractAlgorithm<ChangePoints>
This is not a complete implementation of the method, but a modified (two-sided) version of the significance score use in Signi-Trend for change detection. The hashing and scalability parts of Signi-Trend are not applicable here.
This implementation currently does not use timestamps, and thus only works for fixed-interval measurements. It could be extended to allow dynamic data windows by adjusting the alpha parameter based on time deltas.
Reference:
Erich Schubert, Michael Weiler, Hans-Peter Kriegel
Signi-Trend: scalable detection of emerging topics in textual streams by
hashed significance thresholds
Proc. 20th ACM SIGKDD international conference on Knowledge discovery and
data mining
TODO: add support for dynamic time, and optimize for sparse vectors.
Modifier and Type | Class and Description |
---|---|
protected class |
SigniTrendChangeDetection.Instance
Instance for one data set.
|
static class |
SigniTrendChangeDetection.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
alpha
Exponential aging parameter.
|
private double |
bias
Bias for small values.
|
private static Logging |
LOG
Class logger
|
private double |
minsigma
Minimum sigma to report.
|
ALGORITHM_ID
Constructor and Description |
---|
SigniTrendChangeDetection(double halflife,
double bias,
double minsigma)
Constructor
|
Modifier and Type | Method and Description |
---|---|
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<NumberVector> relation)
Executes Signi-Trend for given relation
|
run
private static final Logging LOG
private double alpha
private double bias
private double minsigma
public SigniTrendChangeDetection(double halflife, double bias, double minsigma)
halflife
- half-life for learning rate alphabias
- beta termminsigma
- threshold for detecting a trendpublic ChangePoints run(Relation<NumberVector> relation)
relation
- relation to processpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<ChangePoints>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<ChangePoints>
Copyright © 2019 ELKI Development Team. License information.