I think I can explain this best with an example.
I have a data set of strings such as: ATGGTCCCGTAATGCTGTGCCGA
And I have multiple "series data" for each of these strings, where a value is given for each character in the string, such as:

Series data1: 1, 3, 3, 5, 1, 2, 3, 1, 4, 2, 3, 5, 1, 2, 3, 5, 1, 5, 4, 1, 4, 4, 1
Series data2: 0.2, -1, -1, -1, 0, 0.3, 0.4, 0.5, 0.1, 0, 0, -1,-4, -3, -2, -1, 0, 0, -1, -3, 0.2, 0.1, 0.5
(I currently only have two series but I will probably add 2 or 3 more "series data"s in a later stage which I would like to compare.)

Which looks like this when plotted (POSITION means position in the string): enter image description here

My question is: What methods are there of analyzing/transforming the series data, so that I can append that information as a feature of the string, in such a way that a machine learner can recognize patterns within and between the "series data"?

Of course I can make a data set that looks like this:

string  |   Series 1        |   Series 2
ATGGT.. |   1, 3, 3, 5, ..  |   0.2, -1, -1, -1, ...
TTGTA.. |   1, 2, 5, 2, ..  |   0, 0.3, 0.5 , 0.1, ...

But I doubt a machine learner will be able to make sense of this.

I'm currently thinking of counting peaks/valleys in the data using certain thresholds and perhaps counting correlating peaks/valleys between series (also using some kind of threshold), for example

string  |   Series1_peaks   |   Series2_peaks   |   Series1_2_peaks
ATGGT.. |   7               |   4               |   2
TTGTA.. |   3               |   2               |   0

I think a typical machine learner would be able to make much more use of this.

However, I'm wondering if there are different approaches to this problem that I hadn't thought about yet. Perhaps specific algorithms already exists to analyze such series data?

Some details on the data: The strings are actually small DNA sequences. The length can differ greatly, ranging from a few hundred to a few thousand characters.

Note: I added the time-series tag because I thought certain algorithms used in that field might be applicable here. I don't have experience with time-series analysis though.

  • $\begingroup$ Is series data real valued? $\endgroup$ – Arun Jose Nov 2 '16 at 10:17
  • $\begingroup$ The series data is obtained by calculations done on the chemical properties/interactions of the molecule, or for instance derived by checking the ordering/abundance of the characters. I suppose this would make the values nominal instead of real (since they aren't "physically measured" but obtained using computer models)? $\endgroup$ – Deruijter Nov 2 '16 at 11:48

Since your data is nominal, your choice of line plot to describe your data can be misleading. Distances between and within your series should not be interpreted as a metric for similarity.

You can then treat this as a sentence in a new language and as a result, you can try and analyse it using existing work in text mining for finding patterns of interest.

n-grams could be useful.


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.