Everyone tries to predict the future. Bankers need to predict credit worthiness of customers. Marketing analyst want to predict future sales. Economists want to predict economic cycles. And everybody want to know whether the stock market will be up or down tomorrow. Forecasting is making claims about something that will happen, often based on information from past and from current state.
We can solve the problem of prediction every day with various degrees of success. For example weather, harvest, energy consumption, movements of forex (foreign exchange) currency pairs or of shares of stocks, earthquakes, and a lot of other stuff needs to be predicted.
In technical domain predictable parameters of a system can be often expressed and evaluated using equations - prediction is then simply evaluation or solution of such equations. However, practically we face problems where such a description would be too complicated or not possible at all. In addition, the solution by this method could be very complicated computationally, and sometimes we would get the solution after the event to be predicted happened.
It is possible to use various approximations, for example regression of the dependency of the predicted variable on other events that is then extrapolated to the future. Finding such approximation can be also difficult. This approach generally means creating the model of the predicted event.
In recent years, neural networks have received an increasing amount of attention as a very popular forecasting and data mining tool. Their origin stems from the attempt to model the human thought process as an algorithm which can be efficiently run on a computer. Software is develop to mimic this thought process. Thus, in this context we need to understand that neural network is not a medical term but as software to help us on our task of effective prediction.
A neural network can be used to find complex relationships between data. Usually, you start with a large set of data that has some unknown relationship between input and output. A neural network can be used to find that unknown relationship. Once that relationship is found, the neural network can be used to compute the output for similar (but usually different) input. So, essentially, neural networks can learn complex relationships between input and output.
Neural networks can be used for prediction with various levels of success. The advantage of then includes automatic learning of dependencies only from measured data without any need to add further information (such as type of dependency like with the regression). The neural network is trained from the historical data with the hope that it will discover hidden dependencies and that it will be able to use them for predicting into future.
With the increased growth of neural-network development tools in forecasting market, now is the time to establish a sound neural-network applications development methodology. 4CastXpress is a simple and effective neural network software. It is also embedded as an addin in MS Excel making it a powerful and reliable neural network based forecasting tool. Anyone who can use MS Excel for data manipulation and analysis will find 4CastXpress easy to master. Its limitation is bounded only by MS Excel capabilities. These includes data processing, graphing, calculation and so on.
This software employs the latest technology in neural networks. The network that is created is a feed forward, multi-layer perceptron network with very fast learning and an advanced mechanism to prevent overfitting. The power and usefulness of artificial neural networks have been demonstrated in several applications
Basically, this is how neural network works:
The human brain consists of neurons that send activation signals to each other thereby creating intelligent thoughts. The algorithmic version of a neural network (called an artificial neural network) also consists of neurons which send activation signals to one another The network consists of a topology graph of neurons, each of which computes a function (called an activation function) of the inputs carried on the in-edges and sends the output on its out-edges. The inputs and outputs are connected by weights and shifted by bias factor specific to each neuron. (figure below). By changing the weights (which are represented by numeric values) the neural network is trained.
It has been shown that for certain neural network topologies, any continuous function can be accurately approximated by some set of weights and biases. Therefore, we would like to have an algorithm which when given a function f, learns a set of weights and biases which accurately approximate the function. For feed-forward neural networks (artificial neural networks where the topology graph does not contain any directed cycles), the back-propagation algorithm described later does exactly that.
The end result is that the artificial neural network can approximate a function of multiple inputs and outputs. As a consequence, neural networks can be used for a variety of data mining tasks, among which are classification, descriptive modeling, clustering, function approximation, and time series prediction.
Neural networks are very effective when lots of examples must be analyzed, or when a structure in these data must be analyzed but a single algorithmic solution is impossible to formulate. When these conditions are present, neural networks are use as computational tools for examining data and developing models that help to identify interesting patterns or structures in the data. The data used to develop these models is known as training data. Once a neural network has been trained, and has learned the patterns that exist in that data, it can be applied to new data thereby achieving a variety of outcomes. Therefore, neural networks can be used to
learn to predict future events based on the patterns that have been observed in the historical training data;
learn to classify unseen data into pre-defined groups based on characteristics observed in the training data;
learn to cluster the training data into natural groups based on the similarity of characteristics in the training data.
There are many different neural network models that have been developed over the last fifty years or so to achieve these tasks of prediction, classification, and clustering. 4CastXpress model a multilayered feedforward neural network (MFNN) and is an example of a neural network trained with supervised learning.
We feed the neural network with the training data that contains complete information about the characteristics of the data and the observable outcomes in a supervised learning method. Models can be developed that learn the relationship between these characteristics (inputs) and outcomes (outputs). For example, we can develop a MFNN to model the relationship between money spent during last week’s advertising campaign and this week’s sales figures is a prediction application. Another example of using a MFNN is to model and classify the relationship between a customer’s demographic characteristics and their status as a high-value or low-value customer. For both of these example applications, the training data must contain numeric information on both the inputs and the outputs in order for the MFNN to generate a model. The MFNN is then repeatedly trained with this data until it learns to represent these relationships correctly.
For a given input pattern or data, the network produces an output (or set of outputs), and this response is compared to the known desired response of each neuron. For classification problems, the desired response of each neuron will be either zero or one, while for prediction problems it tends to be continuous valued. Correction and changes are made to the weights of the network to reduce the errors before the next pattern is presented. The weights are continually updated in this manner until the total error across all training patterns is reduced below some pre-defined tolerance level. We call this learning algorithm as the backpropagation.
Process of a backpropagation
Forward pass, where the outputs are calculated and the error at the output units calculated.
Backward pass, the output unit error is used to alter weights on the output units. Then the error at the hidden nodes is calculated (by back-propagating the error at the output units through the weights), and the weights on the hidden nodes altered using these values.
The main steps of the back propagation learning algorithm are summarized below:
Step 1: Input training data.
Step 2: Hidden nodes calculate their outputs.
Step 3: Output nodes calculate their outputs on the basis of Step 2.
Step 4: Calculate the differences between the results of Step 3 and targets.
Step 5: Apply the first part of the training rule using the results of Step 4.
Step 6: For each hidden node, n, calculate d(n). (derivative)
Step 7: Apply the second part of the training rule using the results of Step 6.
Steps 1 through 3 are often called the forward pass, and steps 4 through 7 are often called the backward pass. Hence, the name: back-propagation. For each data pair to be learned a forward pass and backwards pass is performed. This is repeated over and over again until the error is at a low enough level (or we give up). All these steps are automated by 4CastXpress.
You may refer to this link for a complete tutorial on neural network: http://www.willamette.edu/~gorr/classes/cs449/intro.html
Stock market prediction
Credit card fraud detection
The computing world has a lot to gain from neural networks. Their ability to learn by example makes them very flexible and powerful. Furthermore there is no need to devise an algorithm in order to perform a specific task; i.e. there is no need to understand the internal mechanisms of that task. They are also very well suited for real time systems because of their fast response and computational times which are due to their parallel architecture.
- Minimum knowledge of neural net technology
- Number of inputs and outputs are limited only by MS Excel limitation
- Can accommodate more than 2 outputs nodes. Most commercial available software is limited to one output node
- MS Excel graphing and data manipulation capabilities
- Pre-processing and data scaling option
- Detail network model reports for creating error distribution graph, actual vs forecasted graph, correlation graph etc..
- 3 or 4 layer network architecture option
- Single point and bulk prediction capabilities
4Cast XL is mostly used by students as they want to learn and experiment with neural network. They can choose different tranining method, view the full result of a model etc. However, more works are needed to built a model with this version. Whereas 4CastXpress is for users who need to know only the end result or predicted result. Less work is require when building a model with this version. Most of the input parameters are automated.
Example & Tutorials:
Watch Videos For Full Version
- How to build a neural network model for credit scoring prediction with 4CastXpress
- How to build neural network model for Sales Forecasting with 4CastXpress
- Predicting with saved/trained model
- Download Stock and Forex prices
- How to build neural network model for Forex prediction with 4CastXpress