summaryrefslogtreecommitdiff
path: root/lib/pelt.py
AgeCommit message (Collapse)AuthorLines
2021-04-14pelt: use single PELT run to determine whether refinement is neededDaniel Friesel-2/+38
2021-03-08documentation++Daniel Friesel-1/+48
2021-03-08pelt: Add tail_state_only option (exclude all but the last changepoint)Daniel Friesel-0/+21
2021-02-24pelt: allow contraction (averaging) of data as well as stretchingDaniel Friesel-2/+23
2021-02-23fix drift compensation and reduce pelt + caching overheadDaniel Friesel-19/+29
2021-02-22PELT: Increase parallelismDaniel Friesel-77/+94
2021-02-19start modeling of individual sub-statesDaniel Friesel-3/+16
2021-02-18pelt: Set minimum penalty to 1, improve cache layoutDaniel Friesel-11/+19
2021-02-18pelt: add tail substateDaniel Friesel-3/+5
2021-02-18pelt: cache changepoint detection resultsDaniel Friesel-5/+65
2021-02-15pelt: Fix stretch != 1 supportDaniel Friesel-2/+4
2021-02-15debug outputDaniel Friesel-6/+11
2021-02-15Limit PELT via --with-substates=name_filter=state_or_transition_nameDaniel Friesel-0/+1
2021-02-15needs_refinement: short traces cannot be reliably refinedDaniel Friesel-1/+3
2021-02-12PELT: use variable penalty for benchmark repetationsDaniel Friesel-31/+42
Previously, the first measurement of each by_param entry determined its penalty, and all subsequenc measurements in it were analyzed with this penalty. This lead to some of them coming up with a different number of sub-states and being ignored. Now, all by_param entries are passed to the kneedle / plateau algorithm, and each gets its own penalty. In most cases, this leads to all entries rporting the same number of sub-states, so far less need to be ignored.
2021-01-15pelt: add stretch parameterDaniel Friesel-0/+20
2021-01-15pelt: Fix Dynp supportDaniel Friesel-1/+5
2021-01-14EnergyTrace drift compensation: optimize via shortest pathsDaniel Friesel-4/+20
Right now performance is worse than the previous greedy approach as the dijkstra variant does not take into account that a transition may be missing from the set of detected changepoints (i.e., it assumes that the set of detected changepoints contains the transition timestamp, which is not always the case). This will be fixed in the next commit by adding nodes for the expected transition timestamp (with a slightly higher weight to ensure there are no proper nodes in the vicinity) -- or something similar.
2021-01-13pelt: Allow overrides via environment variablesDaniel Friesel-0/+10
2020-12-14energytrace: add pelt-based drift compensation experiment.Daniel Friesel-5/+12
Enable with DFATOOL_COMPENSATE_DRIFT=1 so far it's pretty unreliable.
2020-11-30pelt: allow disabling multiprocessingDaniel Friesel-2/+6
2020-11-26some commentsDaniel Friesel-2/+1
2020-11-03analyze number of substates per stateDaniel Friesel-70/+60
2020-11-02PELT: Do not set jump when len(signal) < num_samplesDaniel Friesel-1/+2
2020-11-02Simplify PELT usage. remove kneedle, refactor codeDaniel Friesel-273/+67
2020-10-09add sub-state generationDaniel Friesel-1/+133
2020-10-08BA Janis import: working detection of optimal number of changepointsDaniel Friesel-0/+261