File Exchange

image thumbnail

aPC Matlab Toolbox: Data-driven Arbitrary Polynomial Chaos

version 1.0.7 (173 KB) by Sergey Oladyshkin
Data-driven Arbitrary Polynomial Chaos Expansion for Machine Learning, Uncertainty quantification andGlobal sensitivity analysis


Updated 29 Mar 2021

View Version History

View License

Polynomial chaos expansion (PCE) introduced by Norbert Wiener in 1938. PCE can be seen, intuitively, as a mathematically optimal way to construct and obtain a model response surface in the form of a high-dimensional polynomial in uncertain model parameters. Recently the polynomial chaos expansion received a generalization towards the arbitrary polynomial chaos expansion (aPC: Oladyshkin S. and Nowak W., 2012), which is a so-called data-driven generalization of the PCE. Like all polynomial chaos expansion techniques, aPC approximates the dependence of simulation model output on model parameters by expansion in an orthogonal polynomial basis. The aPC generalizes chaos expansion techniques towards arbitrary distributions with arbitrary probability measures, which can be either discrete, continuous, or discretized continuous and can be specified either analytically (as probability density/cumulative distribution functions), numerically as histogram or as raw data sets. The aPC at finite expansion order only demands the existence of a finite number of moments and does not require the complete knowledge or even existence of a probability density function. This avoids the necessity to assign parametric probability distributions that are not sufficiently supported by limited available data. Alternatively, it allows modellers to choose freely of technical constraints the shapes of their statistical assumptions. Investigations indicate that the aPC shows an exponential convergence rate and converges faster than classical polynomial chaos expansion techniques. The aPC Matlab Toolbox have been developed in the year 2010 for scientific purpose and now it is available for the Matlab community (see details in Readme file).

Sergey Oladyshkin

Stuttgart Research Centre for Simulation Technology,
Department of Stochastic Simulation and Safety Research for Hydrosystems,
Institute for Modelling Hydraulic and Environmental Systems,
University of Stuttgart, Pfaffenwaldring 5a, 70569 Stuttgart

Phone: +49-711-685-60116
Fax: +49-711-685-51073

Cite As

Sergey Oladyshkin (2021). aPC Matlab Toolbox: Data-driven Arbitrary Polynomial Chaos (, MATLAB Central File Exchange. Retrieved .

Oladyshkin, S., and W. Nowak. “Data-Driven Uncertainty Quantification Using the Arbitrary Polynomial Chaos Expansion.” Reliability Engineering & System Safety, vol. 106, Elsevier BV, Oct. 2012, pp. 179–90, doi:10.1016/j.ress.2012.05.002.

View more styles

Oladyshkin, Sergey, and Wolfgang Nowak. “Incomplete Statistical Information Limits the Utility of High-Order Polynomial Chaos Expansions.” Reliability Engineering & System Safety, vol. 169, Elsevier BV, Jan. 2018, pp. 137–48, doi:10.1016/j.ress.2017.08.010.

View more styles

Oladyshkin S., de Barros F. P. J. and Nowak W. Global sensitivity analysis: a flexible and efficient framework with an example from stochastic hydrogeology. Advances in Water Resources 37, 10-2, 2012, doi: 10.1016/j.advwatres.2011.11.001.

Comments and Ratings (7)

Sergey Oladyshkin

Dear Timo Baumann, the code interface for data loading and training have been simplified in the last object oriented version of aPC. Please check it, I hope it is helpful.

Sergey Oladyshkin

The matlab script aPC_OrthonormalBasis.m is based on two inputs: "Data" and "Degree" . First input denoted as "Data" is a vector (not a matrix) that contains the raw data array representing distribution of an input parameter. Second input denoted as "Degree" is an integer number that determines the degree of the desired orthonormal polynomial basis. The script aPC_OrthonormalBasis.m employs the mentioned two input variable and solves the equation (14) from the paper by Oladyshkin and Nowak (2012) and construct the data-driven orthonormal polynomial basis.

Nicholas Battista

Timo Baumann

Very nice toolbox, but I can't get it to work properly with my own data as the "raw data array" in "aPC_OrthonormalBasis.m".
Could you please provide an example of a data-specification? Maybe I understood the input wrong.

Thanks in advance

Xiuxiu Miao

Felix Beckers

Farid Mohammadi

MATLAB Release Compatibility
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!