Example 8 - Find Input Relationships
|Top Previous Next|
Data file: processing load with lead.csv
Model file: processing load with lead.md
We were building a model for a company to predict processing load by the hour. They were using a neural network but were having limited success because of a small number of inputs (independent variables). So we tried the problem in ChaosHunter with the expectation that ChaosHunter would discover some additional inputs based upon combinations of the original inputs. Since the original data file had rows of processing load data by the hour for more than a year, we treated the problem as time series data. We chose technical indicators such as a lag of the current processing load and momentum (the difference between the current hour’s processing load and prior loads).
Because we were using the optimization goal function to minimize mean-squared error, we added a column which was the lead of the current hour's production and used that as the predicted output. To add the new column we simply copied the column which contained the current production values and pasted them into another column in which the cell values were shifted up one row (an Excel option when pasting cells).
Note: If you are building a trading model and select a goal function from the Trading Strategies section on the optimization tab in ChaosHunter, leading the output value would not be necessary because ChaosHunter issues market orders that are automatically executed on the next output value after an order is issued.
We ended up with a ChaosHunter model that made far better predictions for processing load than the original neural network model that did not include the momentum inputs.
What was even more interesting was that if we used the momentum input values identified in the ChaosHunter model as inputs in the neural network model, that model improved significantly, even when we removed the constants and additions and subtractions that appeared in the ChaosHunter formula.
ChaosHunter proved once again that it is an excellent tool for discovering the correct inputs for a model, whether the model is for manufacturing, scientific, or trading purposes. The inputs found by ChaosHunter are also useful in other programs such as NeuroShell Trader and NeuroShell Predictor.