I would like to find methods, algorithms, procedures or even concrete solutions of my problem.
Imagine a dataset of the historic performance and general behavior of 1000 athletes. We have 5 years worth of daily entries for a variety of features. Each day the athletes have entered their consumed calories, weight, height, the temperature, their mood, their best 1 mile of that day in seconds, their hair-length, the food their pet ate that day.
I want a system, that is smart enough to be able to "tell me", that n-grams of carbohydrates, where n is 40% of your body weight, results on average in better 1-mile times.
This is supposed to happen automatically between entering the data and receiving the the described output.
I don't want the system be biased by my rational understanding of nutrition, but to empirically find out patterns (i don't know if this rather complex relationship is still called correlation) in data. What if the hair-length affects the performance? Or the temperature affects the weight?
I understand that this is a vague / complex question and there probably are a lot of steps of theory and research involved until i solve my problem, but at the moment i don't even know where to start researching. Colleagues have told me to research principal analysis and clustering. And while i understand their point and see the relevance, it feels like there are pieces missing to my puzzle.
Can anyone tip me in the right direction? Any help is much appreciated. Thank you very much, in advance! :)
Remark: I have previously posted this in SO, but was told that CV would be a better place for this question.
If one of the features was a string, for example a free-text description of the meals the athlete ate that day. I.e. "Had an apple, fish and lasagna".
How would I have the system tell me, for example, that 1 week after having seen the word "apple" in the meal-description, the bodyweight decreased. Autocorrelation obviously does not work with non-numerical values. Would i have to somehow encrypt the text to numbers?