Polynomial Chaos Expansion#
The following section will cover the main mathematical concepts used in the PCE codes.
Orthogonal Polynomials#
Each variable has orthogonal polynomials that depend on its distribution. For the ExponentialVariable, GammaVariable, ContinuousVariable, and all discrete variable classes, the Gram-Schmidt process is used to find the orthogonal polynomials. The NormalVariable, UniformVariable, and BetaVariable classes use recursive equations to calculate each distribution’s orthogonal polynomials.
The Gram-Schmidt process uses the below equation to solve for the \(i^{th}\) orthogonal polynomial for a distribution with the weighting function, \(w(x)\), over the variable’s support range [a, b].
This leads to the orthogonal polynomials
Since \(\psi_{0}(x)=1\), the first orthogonal polynomials become
Norm Squared#
The BetaVariable, ExponentialVariable, GammaVariable, ContinuousVariable, and all discrete classes use the following method to calculate each variable’s univariate norm squared. The UniformVariable and NormalVariable classes use equations to generate the univariate norm squared values.
The univariate norm squared is given by
where \(a\) and \(b\) are the bounds of the variable’s support range, function \(w(x)\) is the weighting function, and \(\psi_{i}(x)\) is the orthogonal polynomial for order \(i\).
For example, given that the second order Hermite polynomial is
a normal variable where \(i = 2\) would have a univariate norm squared of
Once these are calculated for each variable, the norm squared of the multivariate orthogonal polynomial can be calculated [Eld09]
where \(j\) is the index of the model term, \(i\) represents the index of the variable, and \(M\) is the model interaction matrix.
Solving the System of Equations#
A system of equations is created in the format of
This technique is used initially to solve for the \(\beta\) coefficients, and it is later used to solve for the responses that the model generates from the \(\beta\) coefficients and the \(X\) matrix.
Model Interaction Matrix#
The model interaction matrix for two variables with \(order = 2\) is given by
where the columns represent the variables present and the rows represent the combinations of interactions up to \(order = 2\) [Eld09].
Variable Basis#
The values from the model interaction matrix are used as indices for forming the variable basis, \(X\), as shown below
The integer \(i\) in \(\psi_{i}\) represents the order of each variable in each row of the interaction matrix, and \(\psi_{i}\) is a function for the respective variable’s orthogonal polynomial basis at the given order [Eld09].
Sobol Sensitivity Indices#
The Sobol sensitivity indices that are output by UQPCE allow for users to see which input parameters the model is most affected by for the given input space.
The Sobol indices are calculated using the matrix coefficients, \(\beta\), and the norm squared, \(\langle\Psi^{2}\rangle\), using the below equation for all \(i \geq 1\).
Note
There is no Sobol is for the intercept term, \(\beta_0\).
The total Sobol for each variable, \(x_i\), is given by
where
[Cre09]