4

I want to segment a signal in an unsupervised manner.
The data is a 1D signal which has different segments which I want to be able to segment automatically for farther processing.

I am looking for a fast and efficient algorithm.

The motivation is get more information on the subject in order to evaluate approaches. So it might be like a general question on how it is done and what are some approaches to do so.

Thomas
  • 626
  • 1
  • 1
  • 14
  • 1
    Do you have an example of the signals? – Royi Jul 03 '21 at 14:51
  • 1
    Hi Thomas! Nice having you here. However, the amount of info you'd have showed here says "it's always one segment spanning the whole signal" just as much as "there's as many segments in the signal as there are samples". Or, really, any other segmentation. There must be *some* way a sensible segment is characterized. – Marcus Müller Jul 03 '21 at 16:14
  • The question lacks focus, and as it stands is just a Rorschach blot for the helpful. Please **edit your question**: *Why* are you segmenting the signal? *What* do you want it segmented into? *Why* do you think that "segmentation in an unsupervised manner" (presumably segmentation using an unsupervised learning algorithm) will work? *What* do you want to achieve here? – TimWescott Jul 03 '21 at 17:02
  • You still need some metric that measures the quality of the segmentation. That would drive any unsupervised learning algorithm. – IanJ Jul 03 '21 at 20:43
  • I am trying to write something on this interesting question before it is closed. – Royi Jul 04 '21 at 14:36

1 Answers1

2

This is an interesting question.
For answering it I will assume a time sampled signal.

The way I see it, it something like Image Segmentation where indeed we have many methods which require little or no explicit assumptions.

So, the first things comes to mind it to cluster data by its value. Yet there won't be any significance to the time axis which is probably important. Namely if we have data and cluster it by its values then we can have the same data sampled at different times (Shuffle the samples) and have the same result.
This brings the intuition we need to use the time somehow. One way I found very efficient yet simple to do so is similar to the concept of Super Pixel.
Namely we cluster with one of the coordinates of the clustering data being the time.
The challenge then is to create the proper metric to weigh values vs. time indices.

But even this simple yet effective method, something is missing. On time data the connection is form one sample to another while Super Pixel is from many to one (The center).
So the next step could be something like Spectral Clustering / Graph Based Clustering where we take into account the chain like connection between samples.

[Work in Progress]

Royi
  • 33,983
  • 4
  • 72
  • 179
  • 1
    This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post. - [From Review](/review/low-quality-posts/44379) – MBaz Jul 04 '21 at 15:26
  • @MBaz, I am working on an answer. If you follow my answer, I usually provide example with code. It takes time. Since I see people here are easy on the _Close_ trigger I put a place holder so when I finish the code I can post the whole answer. – Royi Jul 05 '21 at 03:06
  • 2
    Rather than trying to subvert the intention of the site, why don't you suggest to the poster how they may improve their question so that it doesn't get closed? Questions get reopened all the time -- after they are brought up to the standards of the group. – TimWescott Jul 05 '21 at 04:02
  • 1
    @TimWescott, Maybe because I find the question interesting as it is? If I get, the OP wants people to explain different methods of signal segmentation. I have and idea from Image Processing world which I can think might work nicely. The intention of this site is sharing knowledge by questions and answers. Not trying to teach people how to ask. What's not to understand from the question? It leaves the way to measure the success and the method open. So give something reasonable, explain when it will work and when not and add valuable information. – Royi Jul 05 '21 at 05:09
  • This question isn't much poorer than many others which are answered without closure. If someone's willing to answer, it's added knowledge. – OverLordGoldDragon Jul 05 '21 at 16:25
  • Not deleting this for now, but please update soon. – Peter K. Jul 07 '21 at 15:58
  • 1
    @PeterK., I'm working on it. – Royi Jul 07 '21 at 16:42