summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorLines
2021-02-26add simple decisiontree testDaniel Friesel-1/+1
2021-02-25kinda proper dtree support (todo: refactoring)Daniel Friesel-7/+30
2021-02-25pelt_refine: Fix "no sub-states" handlingDaniel Friesel-1/+1
2021-02-25Adjust ParamStats interface in preparation for decision-tree modelsDaniel Friesel-23/+178
2021-02-24cluster and re-fit sub-statesDaniel Friesel-72/+91
2021-02-24lut_median_getter: handle param tuples, not just listsDaniel Friesel-1/+4
2021-02-24do not hard-code substate namesDaniel Friesel-8/+11
2021-02-24treat last sub state as tail / default stateDaniel Friesel-7/+16
use application-provided total state duration instead of model to determine duration of last sub-state in get_fitted_sub
2021-02-24pelt: allow contraction (averaging) of data as well as stretchingDaniel Friesel-2/+23
2021-02-23draft for clustering of parameter-independent sub-statesDaniel Friesel-91/+96
2021-02-23fix drift compensation and reduce pelt + caching overheadDaniel Friesel-44/+60
2021-02-23analyze-archive: show substate model quality in tableDaniel Friesel-1/+15
2021-02-22add simple sub-state model accessor and evaluationDaniel Friesel-2/+34
2021-02-22properly handle static submodel attributesDaniel Friesel-31/+42
TODO: fitting and submodel usage in parent
2021-02-22PELT: Increase parallelismDaniel Friesel-86/+107
2021-02-19start modeling of individual sub-statesDaniel Friesel-19/+109
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-18refactor model generation from Analytic/PTAModel into ModelAttribute classDaniel Friesel-577/+395
Iteration over states/transitions and model attributes is no longer hardcoded into most model generation code. This should make support for decision trees and sub-states much easier.
2021-02-15pelt: Fix stretch != 1 supportDaniel Friesel-2/+4
2021-02-15loader: energytrace: add timestamps to support dataDaniel Friesel-1/+6
2021-02-15debug outputDaniel Friesel-8/+15
2021-02-15Limit PELT via --with-substates=name_filter=state_or_transition_nameDaniel Friesel-12/+13
2021-02-15needs_refinement: short traces cannot be reliably refinedDaniel Friesel-1/+3
2021-02-12PELT: use variable penalty for benchmark repetationsDaniel Friesel-40/+64
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-02-12Add support data (e.g. power traces) for transitions too. Fixes plots and PELT.Daniel Friesel-1/+1
2021-01-20greedy drift compensation: Handle left corner case as well. Oops.Daniel Friesel-2/+11
2021-01-19additional debugging outputDaniel Friesel-1/+16
2021-01-19fix off-by-one in graph-based drift compensationDaniel Friesel-1/+1
the bug manifested whenever a "transition end" node was chosen
2021-01-19sort keys before bisectDaniel Friesel-1/+1
2021-01-19greedy drift compensation: handle edge casesDaniel Friesel-2/+8
2021-01-19drift compensation: use PILT min_dist=1Daniel Friesel-1/+1
2021-01-19greedy drift compensation: consider transition start vs end when syncingDaniel Friesel-46/+38
2021-01-18re-add greedy drift compensation heuristicDaniel Friesel-3/+86
2021-01-18drift compensation: a candidate may refer to transition start or endDaniel Friesel-39/+69
There's still a major bug somewhere, right now results are sub-par
2021-01-18energytrace drift compensation: allow arbitrarily long skipsDaniel Friesel-29/+33
2021-01-18energytrace drift compensation: stretch datapointsDaniel Friesel-1/+3
2021-01-18drift_compensation_grpah: handle node skips at the tailDaniel Friesel-0/+9
2021-01-18refactor graph-based drift compensation into a separate functionDaniel Friesel-1/+12
2021-01-18Fix a typoDaniel Friesel-1/+1
2021-01-18EnergyTrace loader: show offline_index in debug and error outputDaniel Friesel-8/+23
2021-01-15pelt: add stretch parameterDaniel Friesel-0/+20
2021-01-15pelt: Fix Dynp supportDaniel Friesel-1/+5
2021-01-14add anoter todo entryDaniel Friesel-0/+3
2021-01-14energytrace drift compensation: handle arbitrarily long detection failuresDaniel Friesel-19/+6
2021-01-14energytrace drift compensation: partially handle lack of candidatesDaniel Friesel-2/+4
2021-01-14energytrace drift compensation: Handle undetected transitionsDaniel Friesel-5/+76
2021-01-14EnergyTrace drift compensation: optimize via shortest pathsDaniel Friesel-72/+88
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-4/+23