I am working on a project which aims at determining whether a patient has cervical issues or not, based on a certain movement (for instance, turning the head from left to right and so on).

For each patient, I have one or more sets of coordinates acquired with a VR headset. One problem is, all the patients are assumed healthy and I cannot compare their data with patients who actually have cervical issues.

I am currently working with two coordinates at a time, not the three, and I am considering two approaches: the first is to use approximation (splines...), the second is to use concave hulls. I am a bit more inclined to use hulls and I thought that I could calculate the distance between two hulls A and B as follows: area(A\B)+area(B\A). Note that the curves are parametric.

I have two questions:

  1. Is it possible to "classify" patients using a data set that only consists of healthy patients? Or to find a "descriptor" for them ?
  2. If so, or assuming I can get data on unhealthy patients, what tools can I use to classify the curves? I did not find anybody who worked on a similar problem.
  • 3
    $\begingroup$ have you heard about anomaly detection? $\endgroup$ – Media Feb 1 '18 at 12:07
  • $\begingroup$ @Media I didn't! I'm going to see if I can make it work. Thank you! $\endgroup$ – mkbrd Feb 1 '18 at 12:12

Whenever you have skewed dataset, it means that you know some classes better than some others. In such cases it means that the data is your knowledge and there are learning algorithms for such occasions.

Consider an important fact here. Suppose that you have feature vectors of conditions of a nuclear company and they describe whether the company is in danger of nuclear radiation or not. In such case it is clear that it does not happen a lot that you have infected companies so most of your data have label of healthy condition. You have so much knowledge about the healthy class but you don't know much about the infected class because you don't have much data consequently you don't know its distribution and you can not estimate it well. Whenever your data is skewed, it means that e.g. you have 1 million feature vectors of negative class and 5 feature vectors of positive class. Now suppose that you change the feature vectors. In such cases you have imbalanced data-set or you just have the data samples of some classes without some other, you can use anomaly detection.

In data mining, anomaly detection (also outlier detection) is the identification of items, events or observations which do not conform to an expected pattern or other items in a dataset. Typically the anomalous items will translate to some kind of problem such as bank fraud, a structural defect, medical problems or errors in a text. Anomalies are also referred to as outliers, novelties, noise, deviations and exceptions.

  • $\begingroup$ I have found a lot of things on anomaly detection but it is mostly used with time series, or with fixed-length vectors as pieces of data. However I would like to use concave hulls which consists of a variable number of edge points. Do you know of any unsupervised anomaly detection algorithm which would take that kind of input and let me specify a distance function? $\endgroup$ – mkbrd Feb 1 '18 at 19:24
  • $\begingroup$ @FxStempfel if your input vector has different number of features, I recommend using LSTM, but because your have data of just one class, it may not work. Can't you use other feature shapes? $\endgroup$ – Media Feb 1 '18 at 19:28
  • $\begingroup$ I think an anomaly could be only a slight variation of a normal curve so I'm afraid I would lose useful information by using simpler features. I will investigate it anyway. $\endgroup$ – mkbrd Feb 1 '18 at 20:25
  • $\begingroup$ Just to let you know, I used a discretization of the space in which each point of the grid is equal to 1 if it is contained in the hull and 0 otherwise. I'm not sure if it is the best approach (I can't test it right now as I don't have data from unhealthy patients) but I've been able to run an algorithm since each piece of data has now the same length. $\endgroup$ – mkbrd Feb 2 '18 at 17:32
  • 1
    $\begingroup$ Actually, I got better results by changing the parameters. I can reach 85% accuracy right now, I'll try to make it better. $\endgroup$ – mkbrd Feb 4 '18 at 11:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.