# Evolutionary Algorithm and Correlation

Note: Not sure with the tags.

I'm quite new to this area of Computer Science. I was used to just developing software and applications and applying certain algorithms when necessary. However, I am tasked right now with a very complex task. I apologize in advance, although being a Computer Science graduate, I've only been in the industry for at least 2 years. So, this specific requirement is really eating me up.

Consider two time-series data sets:

Data Set 1

Date           Category            Count
11/12/13       A                   30
11/13/13       A                   23
11/14/13       A                   24
11/12/13       B                   53
11/13/13       B                   36
11/14/13       B                   67


Data Set 2

Date           Category            Count
11/12/13       C                   44
11/13/13       C                   12
11/14/13       C                   62
11/12/13       D                   26
11/13/13       D                   73
11/14/13       D                   62


I was tasked to get which Category-pairs from D1 and D2 has the highest correlations. This was simple enough using Pearson or Kendall's

For example (mock correlation values for example):

Category Pair       Correlation
A vs C              0.532222
A vs D              0.742221
B vs C              0.988888
B vs D              0.356666


This was easy enough to do, so I just had to output that list in order from highest to lowest. But the thing is, my boss tells me that I should add an evolutionary algorithm to the program because the current algorithm I am doing to determine the correlation is of brute force where I pair each A to C, then D, and do the same with B. However, my boss tells me that if I use evolutionary algorithm, it will only take randomized pairs which will reduce performance time but still give a somewhat above average result.

I am quite unsure with how to approach this. I've been reading on Evolutionary Algorithms for a while now but I can't seem to wrap my mind on how this time-series data set would fit into the algorithm.

Am I supposed to apply the Evolutionary algorithm after the correlations have been computed? I can't seem to grasp why I need to do an evolutionary algorithm on such data sets?

From my understanding, Evolutionary algorithm is like 'survival of the fittest', keeping the most optimized, and best values in the end.

I am pretty sure my understanding of Evolutionary algorithms are still lacking, please do enlighten me. I am not a native English speaker but I'll try my best to understand. It would also be great if someone can point me to the right direction on how to approach the merging of these two concepts together.

• You should probably talk to your boss to ask him/her what they meant by that. It's unlikely we will be able to guess what your boss had in mind, and in any case, this is unlikely to be useful to anyone else in the future. – D.W. Feb 20 '18 at 16:31
• On the other hand, if your question is "is there a faster way to approximately compute the correlations?" that could be on-topic here -- but you'd have to be open to any answer you get, whether or not it uses evolutionary programming. (Personally, I don't see what evolutionary programming has to do with it.) If that's what you want to ask, please edit the question to ask that. – D.W. Feb 20 '18 at 16:31