FIR deals with multi-input/single-output systems. Each state consists of a number of mask inputs (the so-called m-inputs) and a single mask output, called m-output. In the forecasting process, FIR compares the current values of the set of m-inputs (the so-called ‘input state’) with all the input states stored in the experience database that was constructed during the training phase, i.e. in the modelling process. It determines, which are the five nearest neighbours in terms of their input states in the experience database, and estimates the new m-output value as a weighted sum of the m-output values of its five nearest neighbours, i.e. proximity to the nearest neighbours is established in the input space, leading to a set of weight factors that are then used for interpolation in the output space.

There are two separate sources of uncertainty in making predictions that need to be taken into account. The first source of uncertainty is related to the proximity or similarity of the current (testing) input state to the input states of the training data in the experience database. If the previously observed training patterns are similar to the current testing pattern in the input space, it is more likely that a prediction made by interpolating between the observed m-outputs of the training data-sets will be correct. The second source of uncertainty has to do with the dispersion among the m-outputs of the five nearest neighbours in the experience database. If the m-output values are almost identical, i.e. the dispersion between the m-outputs is small, then it is more likely that the prediction will be accurate.

In order to create a meaningful metric of proximity in the input space, it is necessary to normalise the variables. This is accomplished using a normalised pseudo-regeneration of the previously fuzzified variables. A ‘position value’, posi, of the ith m-input, vari, can be computed as follows:

pos_i = class_i + side_i\cdot (1.0-Memb_i)

where class_i, Memb_i and side_i are the qualitative triple representing the ith m-input, obtained in the fuzzification process (Cellier et al. 1996b). In the above formula, the linguistic variables, class_i and side_i, assume numerical (integer) values. The class values range from 1 to ni, where n_i is the number of discrete classes attributed to var_i,and the side values are from the set ‘ – 1’, ‘0’ and ‘ + 1’, representing the linguistic values ‘left’, ‘centre’ and ‘right’ of the fuzzy membership function (Cellier et al.1996b). The position value, pos_i, can be viewed as a normalised pseudo-regeneration of the ith m-input. Irrespective of the original values of the variable, pos_i assumesvalues in the range [1.0, 1.5] for the lowest class, [1.5, 2.5] for the next higher class, etc.

The data in the experience database can be characterised in the same fashion.

pos_{i}^{j}=class_{i}^{j}+side_{i}^{j}\cdot (1.0-Memb_{i}^{j})

represents the normalised pseudo-regenerated value of var_{i}^{j}, the ith m-input of the jth neighbour in the experience database and

pos^{j} = class^{j} + side^{j}\cdot (1.0-Memb_{i}^{j})

is the position value of the single output variable of the jth neighbour in the database. The position values of the m-inputs can be grouped into a position vector, pos:

pos_{in}=[pos_1, pos_2,\; pos_n]

where n represents the number of m-inputs. Similarly.

pos_{in}^{j}=[pos_{1}^{j}, pos_{2}^{j},\; pos_{n}^{j}]

represents the corresponding position vector of the jth nearest neighbour in the experience database.

The position vectors of the five nearest neighbours are the starting point for computing both types of confidence measures.