Erik Hammel, Lead Developer, RankMiner Inc.
While the literature on machine learning grows, most companies doing any form of predictive analytics stick to regression techniques. At the most basic level, regression seeks to pigeonhole pieces of data into classes that are described by pre-classified or well-known data. This involves mathematically describing a given data point with a set of numbers (linked together to form a feature vector) then relating each class general pattern of feature vectors to the new feature vector. This illustrates a kind of one and done modeling approach: calculations are performed on an existing set of data then evaluated on new data. As one might know from personal experience, often times its important to revisit previous assumptions, hypotheses, observations and conclusions to form solid hypotheses on new data. So a question begs to be asked, is a snapshot descriptive model sufficient to make predictions at any point in the future? More and more companies are realizing that the answer to this is no.
The question then becomes how can we make predictive analytics processes more sophisticated, thereby making them more accurate for an application at any given time? The simplest way may already appear obvious from the description above: await the results of the prediction to obtain the true class in which the new data fall and then incorporate the classified data into the original model. Indeed with regression techniques this is often what is done. This seems to do little to solve the potential issue of time-dependent system behavior (known in academic circles as nonstationarity). It places more onus on the human programmer to configure the model with ever-changing parametric adjustments; kind of like tuning knobs on an old amplifier. A better way would be to create a dynamic model (basic regression models like those described above are considered static).
There are many different dynamic machine-learning models in research and development today, but even the vast majority of these derive from mathematical theorems that assume a stationary process. At some of the most cutting edge areas of research, nonstationarity is being introduced into predictive analytics by relaxing static constraints and allowing the underlying system to vary within some probabilistic bounds. Unfortunately most approaches within the business world fall back on old, tried and true methods. The whole idea behind machine learning is to expand an Artificially Intelligent agent to understand as much as possible. This involves exploring new possibilities in addition to applying what works (even when often times it doesnt!). Indeed, this is an important topic of research and is addressed in Reinforcement Learning models. It could be that the future of anticipating consumer behavior will involve teaching computers to pull the trigger on a potentially bad deal in the immediate timeframe in return for far greater gains in the future. For now, this means replacing existing static models or incorporating them into methods that can adapt and evolve over time.