I have some 1D data that I want to cluster using Mixture of Gaussian. However, the data "wraps around" at two extremes. Specifically, I have a list of angles from $-\pi$ to $\pi$ and the data near two ends should actually be close to each other. Thus, if I just use GMM naively I will get very poor result. So is there a way to make the learning algorithm aware of this kind of distance metric? Any theory or practical methods are appreciated. I am using
Python's scikit-learn so it would be great if it supports it natively. However, I did not find such feature. Last, if anyone know of any general method to deal with any distance metric between high-dimensional data points, some references are also great.