Model for approximating non-linear effects, similar to a Taylor series
The Volterra series is a model for non-linear behavior similar to the Taylor series. It differs from the Taylor series in its ability to capture "memory" effects. The Taylor series can be used for approximating the response of a nonlinear system to a given input if the output of the system depends strictly on the input at that particular time. In the Volterra series, the output of the nonlinear system depends on the input to the system at "all" other times. This provides the ability to capture the "memory" effect of devices like capacitors and inductors.
It has been applied in the fields of medicine (biomedical engineering) and biology, especially neuroscience. It is also used in electrical engineering to model intermodulation distortion in many devices, including power amplifiers and frequency mixers. Its main advantage lies in its generalizability: it can represent a wide range of systems. Thus, it is sometimes considered a non-parametric model. 
In mathematics, a Volterra series denotes a functional expansion of a dynamic, nonlinear, time-invariant functional. The Volterra series are frequently used in system identification. The Volterra series, which is used to prove the Volterra theorem, is an infinite sum of multidimensional convolutional integrals.
History.
The Volterra series is a modernized version of the theory of analytic functionals from the Italian mathematician Vito Volterra, in his work dating from 1887. Norbert Wiener became interested in this theory in the 1920s due to his contact with Volterra's student Paul Lévy. Wiener applied his theory of Brownian motion for the integration of Volterra analytic functionals. The use of the Volterra series for system analysis originated from a restricted 1942 wartime report of Wiener's, who was then a professor of mathematics at MIT. He used the series to make an approximate analysis of the effect of radar noise in a nonlinear receiver circuit. The report became public after the war. As a general method of analysis of nonlinear systems, the Volterra series came into use after about 1957 as the result of a series of reports, at first privately circulated, from MIT and elsewhere. The name itself, "Volterra series", came into use a few years later.
Mathematical theory.
The theory of the Volterra series can be viewed from two different perspectives:
The latter functional mapping perspective is more frequently used due to the assumed time-invariance of the system.
Continuous time.
A continuous time-invariant system with "x"("t") as input and "y"("t") as output can be expanded in the Volterra series as
 formula_1
Here the constant term formula_2 on the right side is usually taken to be zero by suitable choice of output level formula_3. The function formula_4 is called the "n"-th-order Volterra kernel. It can be regarded as a higher-order impulse response of the system. For the representation to be unique, the kernels must be symmetrical in the "n" variables formula_5. If it is not symmetrical, it can be replaced by a symmetrized kernel, which is the average over the "n"! permutations of these "n" variables formula_5.
If "N" is finite, the series is said to be "truncated". If "a", "b", and "N" are finite, the series is called "doubly finite".
Sometimes the "n"-th-order term is divided by "n"!, a convention which is convenient when taking the output of one Volterra system as the input of another ("cascading").
"The causality condition": Since in any physically realizable system the output can only depend on previous values of the input, the kernels formula_7 will be zero if any of the variables formula_8 are negative. The integrals may then be written over the half range from zero to infinity.
So if the operator is causal, formula_9.
"Fréchet's approximation theorem": The use of the Volterra series to represent a time-invariant functional relation is often justified by appealing to a theorem due to Fréchet. This theorem states that a time-invariant functional relation (satisfying certain very general conditions) can be approximated uniformly and to an arbitrary degree of precision by a sufficiently high finite-order Volterra series. Among other conditions, the set of admissible input functions formula_10 for which the approximation will hold is required to be compact. It is usually taken to be an equicontinuous, uniformly bounded set of functions, which is compact by the Arzelà–Ascoli theorem. In many physical situations, this assumption about the input set is a reasonable one. The theorem, however, gives no indication as to how many terms are needed for a good approximation, which is an essential question in applications.
Discrete time.
The discrete-time case is similar to the continuous-time case, except that the integrals are replaced by summations:
formula_11
where formula_12
Each function formula_13 is called a "discrete-time Volterra kernels".
If "P" is finite, the series operator is said to be "truncated". If "a", "b" and "P" are finite, the series operator is called a "doubly finite Volterra series". If formula_9, the operator is said to be "causal".
We can always consider, without loss of the generality, the kernel formula_15 as symmetrical. In fact, for the commutativity of the multiplication it is always possible to symmetrize it by forming a new kernel taken as the average of the kernels for all permutations of the variables formula_16.
For a causal system with symmetrical kernels we can rewrite the "n"-th term approximately in triangular form
 formula_17
Methods to estimate the kernel coefficients.
Estimating the Volterra coefficients individually is complicated, since the basis functionals of the Volterra series are correlated. This leads to the problem of simultaneously solving a set of integral equations for the coefficients. Hence, estimation of Volterra coefficients is generally performed by estimating the coefficients of an orthogonalized series, e.g. the Wiener series, and then recomputing the coefficients of the original Volterra series. The Volterra series main appeal over the orthogonalized series lies in its intuitive, canonical structure, i.e. all interactions of the input have one fixed degree. The orthogonalized basis functionals will generally be quite complicated.
An important aspect, with respect to which the following methods differ, is whether the orthogonalization of the basis functionals is to be performed over the idealized specification of the input signal (e.g. gaussian, white noise) or over the actual realization of the input (i.e. the pseudo-random, bounded, almost-white version of gaussian white noise, or any other stimulus). The latter methods, despite their lack of mathematical elegance, have been shown to be more flexible (as arbitrary inputs can be easily accommodated) and precise (due to the effect that the idealized version of the input signal is not always realizable).
Crosscorrelation method.
This method, developed by Lee and Schetzen, orthogonalizes with respect to the actual mathematical description of the signal, i.e. the projection onto the new basis functionals is based on the knowledge of the moments of the random signal.
We can write the Volterra series in terms of homogeneous operators, as
 formula_18
where
 formula_19
To allow identification orthogonalization, Volterra series must be rearranged in terms of orthogonal non-homogeneous "G" operators (Wiener series):
 formula_20
The "G" operators can be defined by the following:
 formula_21
 formula_22
whenever formula_23 is arbitrary homogeneous Volterra, "x"("n") is some stationary white noise (SWN) with zero mean and variance "A".
Recalling that every Volterra functional is orthogonal to all Wiener functional of greater order, and considering the following Volterra functional:
 formula_24
we can write
 formula_25
If "x" is SWN, formula_26 and by letting formula_27, we have
 formula_28
So if we exclude the diagonal elements, formula_29, it is
 formula_30
If we want to consider the diagonal elements, the solution proposed by Lee and Schetzen is
 formula_31
The main drawback of this technique is that the estimation errors, made on all elements of lower-order kernels, will affect each diagonal element of order "p" by means of the summation formula_32, conceived as the solution for the estimation of the diagonal elements themselves. 
Efficient formulas to avoid this drawback and references for diagonal kernel element estimation exist
Once the Wiener kernels were identified, Volterra kernels can be obtained by using Wiener-to-Volterra formulas, in the following reported for a fifth-order Volterra series:
 formula_33
 formula_34
 formula_35
 formula_36
 formula_37
 formula_38
Multiple-variance method.
In the traditional orthogonal algorithm, using inputs with high formula_39 has the advantage of stimulating high-order nonlinearity, so as to achieve more accurate high-order kernel identification.
As a drawback, the use of high formula_39 values causes high identification error in lower-order kernels, mainly due to nonideality of the input and truncation errors.
On the contrary, the use of lower formula_39 in the identification process can lead to a better estimation of lower-order kernel, but can be insufficient to stimulate high-order nonlinearity.
This phenomenon, which can be called "locality" of truncated Volterra series, can be revealed by calculating the output error of a series as a function of different variances of input.
This test can be repeated with series identified with different input variances, obtaining different curves, each with a minimum in correspondence of the variance used in the identification.
To overcome this limitation, a low formula_39 value should be used for the lower-order kernel and gradually increased for higher-order kernels.
This is not a theoretical problem in Wiener kernel identification, since the Wiener functional are orthogonal to each other, but an appropriate normalization is needed in Wiener-to-Volterra conversion formulas for taking into account the use of different variances.
Furthermore, new Wiener to Volterra conversion formulas are needed.
The traditional Wiener kernel identification should be changed as follows:
 formula_43
 formula_44
 formula_45
 formula_46
In the above formulas the impulse functions are introduced for the identification of diagonal kernel points.
If the Wiener kernels are extracted with the new formulas, the following Wiener-to-Volterra formulas (explicited up the fifth order) are needed:
 formula_47
 formula_48
 formula_49
 formula_50
 formula_51
 formula_52
As can be seen, the drawback with respect to the previous formula is that for the identification of the "n"-th-order kernel, all lower kernels must be identified again with the higher variance.
However, an outstanding improvement in the output MSE will be obtained if the Wiener and Volterra kernels are obtained with the new formulas.
Feedforward network.
This method was developed by Wray and Green (1994) and utilizes the fact that a simple 2-fully connected layer neural network (i.e., a multilayer perceptron) is computationally equivalent to the Volterra series and therefore contains the kernels hidden in its architecture. After such a network has been trained to successfully predict the output based on the current state and memory of the system, the kernels can then be computed from the weights and biases of that network.
The general notation for the "n"-th-order Volterra kernel is given by
 formula_53
where formula_54 is the order, formula_55 the weights to the linear output node, formula_56 the coefficients of the polynomial expansion of the output function of the hidden nodes, and formula_57 are the weights from the input layer to the non-linear hidden layer. It is important to note that this method allows kernel extraction up until the number of input delays in the architecture of the network. Furthermore, it is vital to carefully construct the size of the network input layer so that it represents the effective memory of the system.
Exact orthogonal algorithm.
This method and its more efficient version (fast orthogonal algorithm) were invented by Korenberg.
In this method the orthogonalization is performed empirically over the actual input. It has been shown to perform more precisely than the crosscorrelation method. Another advantage is that arbitrary inputs can be used for the orthogonalization and that fewer data points suffice to reach a desired level of accuracy. Also, estimation can be performed incrementally until some criterion is fulfilled.
Linear regression.
Linear regression is a standard tool from linear analysis. Hence, one of its main advantages is the widespread existence of standard tools for solving linear regressions efficiently. It has some educational value, since it highlights the basic property of Volterra series: linear combination of non-linear basis-functionals. For estimation, the order of the original should be known, since the Volterra basis functionals are not orthogonal, and thus estimation cannot be performed incrementally.
Kernel method.
This method was invented by Franz and Schölkopf and is based on statistical learning theory. Consequently, this approach is also based on minimizing the empirical error (often called empirical risk minimization). Franz and Schölkopf proposed that the kernel method could essentially replace the Volterra series representation, although noting that the latter is more intuitive.
Differential sampling.
This method was developed by van Hemmen and coworkers and utilizes Dirac delta functions to sample the Volterra coefficients.
References.
 ;templatestyles src="Reflist/styles.css" / ;