I need a clustering algorithm for complex #'s

In summary, the speaker plans to cluster sleep spindles based on phase shift and amplitude, using a 23 x 100 complex-valued matrix of EEG data. The purpose of this clustering is to potentially locate events in the brain or detect patterns in the data. The speaker will consult with a neurologist for further information.
  • #1
Jamin2112
986
12
I'm going to be clustering sleep spindles (see pic below) based on both phase shift and amplitude at a yet-to-be-determined time during the event. The baseline will be the Cz channel, one of the 23 EEG channels. There are about 100-200 sleep spindles on each patient's recording, so I'll have something like a 23 x 100 complex-valued matrix whose columns need clustered.

cropped-sleep.jpg


Suggestions more than welcome.
 
Last edited:
Physics news on Phys.org
  • #2
I don't understand how the entries in the matrix relate to the data you show in the graph.

Most clustering algorithms depend on having some notion of a "distance" between two data points. Is there a natural definition for such a "distance" between two columns of the matrix in your problem?
 
  • #3
Jamin2112 said:
I'm going to be clustering sleep spindles (see pic below) based on both phase shift and amplitude at a yet-to-be-determined time during the event. The baseline will be the Cz channel, one of the 23 EEG channels. There are about 100-200 sleep spindles on each patient's recording, so I'll have something like a 23 x 100 complex-valued matrix whose columns need clustered.
...
Suggestions more than welcome.

So, what I am guessing is that the central forehead electrode is your "reference" voltage;
Does that mean you are measuring all other electrodes with respect to that potential, or is it more like in some EEG machines, where each electrode is the reference for its' nearest neighbor -- so that all channels can float relative to each other but measure local variations in voltage ONLY.

If I am understanding you correctly, you are extracting two numbers from each EEG channel -- a phase angle/delay time -- and an amplitude. So, in the example picture; the amplitude would be the high voltage minus the low voltage (pk-pk), rms, or some such value during the time that the sleep spindle shows up on the EEG. And therefore, your picture will be reduced to two "distance" numbers for use in clustering analysis, by some instrument attached to the EEG/Data, and then after this reduction -- each metric will retain a reference for which electrode it was on -- and be fed into a computer for clustering analysis...

What is the purpose of the clustering? Are you attempting to find sleep spindles which are most similar, in order to locate "where" in the brain some event "happened"; or is that information already present by the electrode measurements, and you are interested in detecting a particular sequence or pattern of spindles ? etc. eg: Are you just wanting to explore the data for "nonrandom" or (in visual processing it's called the Hemholtz principle) patterns which are some kind of signature of a particular event?
 
  • #4
andrewr said:
What is the purpose of the clustering? Are you attempting to find sleep spindles which are most similar, in order to locate "where" in the brain some event "happened"; or is that information already present by the electrode measurements, and you are interested in detecting a particular sequence or pattern of spindles ? etc. eg: Are you just wanting to explore the data for "nonrandom" or (in visual processing it's called the Hemholtz principle) patterns which are some kind of signature of a particular event?

Tomorrow I'll ask the neurologist who is running the research project.
 
  • #5


There are a few different clustering algorithms that could potentially be used for this task. One option could be to use a k-means clustering algorithm, which is commonly used for clustering data points based on their distance from a specified number of cluster centers. In this case, the complex-valued matrix of sleep spindles could be clustered based on their phase shift and amplitude values, with the number of clusters determined by the researcher based on the data.

Another possible approach could be to use a hierarchical clustering algorithm, which would allow for the creation of a dendrogram to visualize the relationships between the different clusters. This could be useful in identifying any subgroups or patterns within the data.

Additionally, you may want to consider using a clustering algorithm specifically designed for complex-valued data, such as the Complex-Valued K-Means algorithm or the Complex-Valued Gaussian Mixture Model algorithm. These algorithms take into account the complex nature of the data and may provide more accurate results.

Ultimately, the best clustering algorithm for this task will depend on the specific characteristics of the data and the research goals. It may be helpful to experiment with different algorithms and compare the results to determine the most suitable approach.
 

Related to I need a clustering algorithm for complex #'s

1. What is a clustering algorithm?

A clustering algorithm is a type of machine learning algorithm that is used to group data points into clusters based on their similarities. In this case, the algorithm is specifically designed to work with complex numbers, which are numbers that have both a real and imaginary component.

2. Why do I need a clustering algorithm for complex numbers?

Complex numbers are commonly used in scientific and engineering fields, and they often have multiple dimensions and complex relationships. A clustering algorithm can help identify patterns and group similar data points together, making it easier to analyze and understand the data.

3. How does a clustering algorithm for complex numbers work?

There are different types of clustering algorithms, but they generally work by measuring the distance or similarity between data points and grouping them together based on a defined criteria. For complex numbers, the algorithm may consider the distance in both the real and imaginary components, as well as any other dimensions that are present.

4. What are some applications of a clustering algorithm for complex numbers?

This type of algorithm can be used in a variety of fields, including signal processing, image recognition, and data compression. It can also be used to analyze complex financial data, such as stock market trends, and to identify patterns in genetic data.

5. How do I choose the right clustering algorithm for my data set?

The choice of algorithm will depend on the specific characteristics of your data and the goals of your analysis. It is important to consider factors such as the number of dimensions, the size of the data set, and the type of relationships present. Consulting with a data scientist or conducting research on different algorithms can help you make an informed decision.

Similar threads

  • Quantum Physics
Replies
1
Views
754
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • Advanced Physics Homework Help
Replies
6
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
15K
Replies
4
Views
3K
  • Math Proof Training and Practice
6
Replies
175
Views
20K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
3K
Back
Top