TransWikia.com

Finding point of interest in time series data

Data Science Asked by GhzNcl on September 6, 2021

I am working on a project where I need to figure out the point of interest in time series data.

enter image description here

From the picture you can probably understand a bit more what I mean.
Basically, imagine this is the electricity consumption of a washing machine. From this, I want to identify these points where the consumption changes drastically. In this way I will be able to identify more or less what the machine is doing.

I only have raw data so I can’t use any supervised learning algorithm, I was wondering if there are ways to do it mathematically without spending too much computation time.

Regards and thanks in advance.

2 Answers

Try derivative after either a low-pass filter or smoothing (probably exponential smoothing) to cut down on the noise. Big changes result in a big derivative (up or down).

Answered by C8H10N4O2 on September 6, 2021

According to your examples, a bunch of ifs should do. A rough version of the logic, in python code, could be this:

  last_seen_point_of_interest_time = float('-inf')
  last_value = 0
  last_time = None
  for value, time in curve_points:
    level_change = math.abs(value - last_value) > 0.4
    last_point_was_a_while_ago = time - last_seen_point_of_interest_time > threshold
    if level_change and last_point_was_a_while_ago:
       mark_point_of_interest(last_value, last_time)
       last_seen_point_of_interest_time = time
    last_value = value
    last_time = time

Answered by noe on September 6, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP