Skip to content

Conversation

@A-Aherbil
Copy link
Collaborator

Implementation of the three adaptive change point detection algorithms with a real-time visualization dashboard.

Algorithms: ADWIN, AV-CUSUM, STPH

@A-Aherbil A-Aherbil linked an issue Jan 12, 2026 that may be closed by this pull request
@A-Aherbil A-Aherbil changed the base branch from main to development January 14, 2026 23:44
@A-Aherbil A-Aherbil closed this Jan 14, 2026
@A-Aherbil A-Aherbil reopened this Jan 14, 2026
Copy link
Member

@A-Tarraf A-Tarraf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes here are not needed. Please remove them

periodicity_score = new_periodicity_scores(amp, b_sampled, prediction, args)

t_sampled = time_stamps[0] + np.arange(0, n) * 1 / args.freq
# Safety check for empty time_stamps
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not needed. please remvove it.


#! Save up to n_freq from the top candidates
if args.n_freq > 0:
if args.n_freq > 0 and n > 0:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not needed. Please remove it.

prediction.phi = phi[dominant_index]
prediction.t_start = time_stamps[0]
prediction.t_end = time_stamps[-1]
if n > 0 and len(dominant_index) > 0:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes below are not needed. Please remove them. Especially, as time does not always start at 0.

@@ -0,0 +1,1064 @@
"""Change point detection algorithms for FTIO online predictor."""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here you can add that you are the author of this file. See lines 1-17 in https://github.com/tuda-parallel/FTIO/blob/main/ftio/cli/ftio_core.py.
Also please add typehints and definition of the arguments (see https://github.com/tuda-parallel/FTIO/blob/main/ftio/cli/ftio_core.py#L45)

Returns:
out (dict): probability of predictions in ranges
"""
def find_probability(data: list[dict], method: str = "db", counter:int = -1) -> list:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why delete the function doc string? Please only modify your functions

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is a mess. There is no need to define the same variables three times with different names (e.g., self.pagehinkley_frequencies, self.adwin_frequencies, and self.detector_frequencies). In general, you added too many parameters, making this more complicated than it needed to be. Please:

  1. Undo the deleted comments in the original version?
  2. Reduce the parameters you added (for instance, to one that loads from another file the values you need). However, avoid redundancy.
  3. Keep in mind that these parameters are shared among the processes. More means slower runs

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please undo the changes here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these added here? I would expect them in https://github.com/tuda-parallel/FTIO/blob/main/pyproject.toml. You could add [dependencies-gui] under [project.optional-dependencies]. Also how do you call the gui? I would have expected something under [project.scripts] in the same file for the gui

@A-Tarraf A-Tarraf added the feature feature request label Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: Add adaptive windowing for pattern change detection

3 participants