{"id":1220,"date":"2026-08-21T14:28:43","date_gmt":"2026-08-21T14:28:43","guid":{"rendered":"https:\/\/matforge.org\/?p=1220","raw":"https:\/\/matforge.org\/?p=1220"},"modified":"2026-08-21T14:28:43","modified_gmt":"2026-08-21T14:28:43","slug":"polynomial-chaos-expansions-surrogate-methods","status":"publish","type":"post","link":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/","title":{"rendered":"Expansion du chaos polynomial : substituts rapides pour la propagation de l&rsquo;incertitude","raw":"Expansion du chaos polynomial : substituts rapides pour la propagation de l'incertitude"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 13<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><p>L&rsquo;expansion du chaos polynomial est une technique de mod\u00e9lisation de substitution qui remplace une simulation co\u00fbteuse par une s\u00e9rie de polyn\u00f4mes orthogonaux dont les coefficients peuvent \u00eatre utilis\u00e9s pour estimer directement l&rsquo;incertitude. Une fois install\u00e9, un substitut PCE vous donne un acc\u00e8s analytique aux moyens de sortie, aux \u00e9carts, aux intervalles de confiance et aux indices de sensibilit\u00e9 SOBOL sans ex\u00e9cuter une seule simulation suppl\u00e9mentaire.<\/p>\n<p>Cet article couvre le PCE, de la base th\u00e9orique \u00e0 la mise en \u0153uvre pratique. Vous verrez exactement comment les bases polynomiales sont s\u00e9lectionn\u00e9es, comment les coefficients sont estim\u00e9s par r\u00e9gression, quadrature ou projection, comment les techniques d&rsquo;aspect sommaire \u00e9tendent le PCE \u00e0 des dimensions mod\u00e9r\u00e9es et les modes de d\u00e9faillance cassent le PCE standard. Les exemples Python inclus utilisent Chaospy, UQPY et Scikit-Learn pour afficher des flux de travail complets et valid\u00e9s.<\/p>\n<h2>Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li><strong>PCE remplace l&rsquo;\u00e9chantillonnage al\u00e9atoire par une approximation d\u00e9terministe<\/strong>&nbsp;: au lieu de dessiner des milliers d&rsquo;\u00e9chantillons de Monte&nbsp;Carlo, le PCE adapte un polyn\u00f4me \u00e0 la r\u00e9ponse du mod\u00e8le. Les coefficients polynomiaux fournissent alors des moments analytiques et des indices de sensibilit\u00e9.<\/li>\n<li><strong>La base polynomiale doit correspondre \u00e0 la distribution d&rsquo;entr\u00e9e<\/strong>&nbsp;: legendre pour l&rsquo;uniforme, hermite pour gaussienne, laguerre pour exponentielle. Une base incompatible d\u00e9truit l&rsquo;orthogonalit\u00e9 et invalide toutes les estimations de coefficients.<\/li>\n<li><strong>PCE non intrusif est le choix par d\u00e9faut pour la plupart des flux de travail<\/strong>&nbsp;: vous conservez votre simulateur comme bo\u00eete noire, l&rsquo;\u00e9valuez aux points d&rsquo;entra\u00eenement et estimez les coefficients via la r\u00e9gression. Cela \u00e9vite de modifier les \u00e9quations du solveur.<\/li>\n<li><strong>M\u00e9thodes PCE parcimonieuses g\u00e8rent ~50&nbsp;param\u00e8tres<\/strong>&nbsp;: les grilles de troncature hyperbolique, de lasso et de smolyak r\u00e9duisent consid\u00e9rablement la taille de la base polynomiale. Ils fonctionnent lorsque la r\u00e9ponse du mod\u00e8le a des interactions dominantes d&rsquo;ordre inf\u00e9rieur, mais l&rsquo;hypoth\u00e8se de parcimonie doit \u00eatre v\u00e9rifi\u00e9e.<\/li>\n<li><strong>PCE n&rsquo;est pas universel<\/strong>&nbsp;: les r\u00e9ponses discontinues, les \u00e9v\u00e9nements de seuil, les changements de contact et les d\u00e9faillances du solveur produisent des oscillations non physiques (le ph\u00e9nom\u00e8ne de Gibbs). Lorsque la r\u00e9ponse est discontinue, utilisez le PCE multi-\u00e9l\u00e9ments, le chaos polynomial rationnel ou un substitut hybride.<\/li>\n<\/ul>\n<h2>Comment fonctionne l&rsquo;extension du chaos polynomial<\/h2>\n<p>L&rsquo;expansion du chaos polynomial repr\u00e9sente une sortie de mod\u00e8le comme une somme pond\u00e9r\u00e9e des polyn\u00f4mes orthogonaux. Consid\u00e9rons une sortie scalaire Y qui d\u00e9pend d&rsquo;un vecteur d&rsquo;entr\u00e9e x :<\/p>\n<pre><code>Y = M(X)\n<\/code><\/pre>\n<p>L&rsquo;approximation PCE remplace M(x) par un polyn\u00f4me :<\/p>\n<pre><code>Y(X) \u2248 \u03a3 c\u2096 \u03a8\u2096(X)\n<\/code><\/pre>\n<p>Ici, \u03c8\u2096 sont des polyn\u00f4mes orthogonaux multivari\u00e9s et C\u2096 sont des coefficients d\u00e9terministes. L&rsquo;ensemble des polyn\u00f4mes doit \u00eatre orthogonal par rapport \u00e0 la distribution de probabilit\u00e9 d&rsquo;entr\u00e9e, et les coefficients sont d\u00e9termin\u00e9s par la m\u00e9thode d&rsquo;estimation choisie.<\/p>\n<h3>Polyn\u00f4mes orthogonaux et correspondance de distribution<\/h3>\n<p>La famille polynomiale est li\u00e9e directement \u00e0 la distribution d&rsquo;entr\u00e9e. Ce n&rsquo;est pas un choix de conception &#8211; c&rsquo;est une exigence math\u00e9matique pour l&rsquo;orthogonalit\u00e9.<\/p>\n<table>\n<thead>\n<tr>\n<th>Distribution<\/th>\n<th>Polyn\u00f4me orthogonal<\/th>\n<th>Normalisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Uniforme [-1, 1]<\/td>\n<td>gemme<\/td>\n<td>P\u2099(\u03be) = (1\/n!)\u00b7D\u207f\/D\u03be\u207f[(\u03be\u00b2-1)\u207f]<\/td>\n<\/tr>\n<tr>\n<td>Normale standard N(0,1)<\/td>\n<td>ermite<\/td>\n<td>H\u2099(\u03be) = (-1)\u207f\u00b7E<sup>(\u03be\u00b2\/2)\u00b7D\u207f\/D\u03be\u207f[E<\/sup>(-\u03be\u00b2\/2)]<\/td>\n<\/tr>\n<tr>\n<td>\u03bb=1 exponentiel<\/td>\n<td>laguerre<\/td>\n<td>l\u2099(\u03be) = (1\/n&nbsp;!)\u00b7e^\u03be\u00b7d\u207f\/d\u03be\u207f[\u03be\u207f]<\/td>\n<\/tr>\n<tr>\n<td>B\u00eata [a, b]<\/td>\n<td>Jacobi<\/td>\n<td>Polyn\u00f4mes de Jacobi g\u00e9n\u00e9ralis\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>poisson<\/td>\n<td>charlier<\/td>\n<td>Polyn\u00f4mes orthogonaux discrets<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La condition d&rsquo;orthonormalit\u00e9 indique :<\/p>\n<pre><code>\u222b \u03a8\u1d62(\u03be) \u03a8\u2c7c(\u03be) w(\u03be) d\u03be = \u03b4\u1d62\u2c7c\n<\/code><\/pre>\n<p>o\u00f9 w(\u03be) est la densit\u00e9 de probabilit\u00e9 de la distribution d&rsquo;entr\u00e9e et \u0394\u1d62\u2c7c est le delta de Kronecker. Lorsque cette condition est valable, les coefficients PCE se rapportent directement aux statistiques de sortie via l&rsquo;identit\u00e9 de Parseval.<\/p>\n<h3>Construction polynomiale multivari\u00e9e<\/h3>\n<p>Lorsque les entr\u00e9es sont ind\u00e9pendantes, la base polynomiale multivari\u00e9e est un produit tenseur de polyn\u00f4mes univari\u00e9s :<\/p>\n<pre><code>\u03a8\u2096(X) = \u03a0 \u03c8\u2096\u1d62(X\u1d62)\n<\/code><\/pre>\n<p>Pour une base totale de degr\u00e9s de commande P dans des param\u00e8tres incertains, le nombre de termes est&nbsp;:<\/p>\n<pre><code>N = (d + p)! \/ (d! \u00b7 p!)\n<\/code><\/pre>\n<p>Pour 20 param\u00e8tres et ordre trois, cela produit 1 771 termes. Une r\u00e9gression stable n\u00e9cessite g\u00e9n\u00e9ralement plus de points d&rsquo;entra\u00eenement que de coefficients, de sorte que la demande de calcul augmente rapidement.<\/p>\n<h2>PCE non intrusif ou intrusif<\/h2>\n<p>Il existe deux approches fondamentalement diff\u00e9rentes pour construire un PCE. L&rsquo;approche non intrusive traite le simulateur comme une bo\u00eete noire. L&rsquo;approche intrusive reformule les \u00e9quations r\u00e9gissants.<\/p>\n<h3>PCE non intrusif<\/h3>\n<p>Le PCE non intrusif \u00e9value le simulateur d\u00e9terministe \u00e0 des points s\u00e9lectionn\u00e9s dans l&rsquo;espace d&rsquo;incertitude et s&rsquo;adapte \u00e0 une r\u00e9gression polynomiale. Le flux de travail&nbsp;:<\/p>\n<ol>\n<li>S\u00e9lectionnez une base polynomiale align\u00e9e avec les distributions d&rsquo;entr\u00e9e.<\/li>\n<li>G\u00e9n\u00e9rez des points d&rsquo;entra\u00eenement (quadrature ou \u00e9chantillonnage).<\/li>\n<li>Ex\u00e9cutez le simulateur \u00e0 ces points.<\/li>\n<li>Estimez les coefficients d&rsquo;expansion.<\/li>\n<li>Valider sur des points de test ind\u00e9pendants.<\/li>\n<\/ol>\n<p>Cette approche n&rsquo;ajoute aucune modification du solveur. Vous pouvez envelopper un CFD, un FEM, un champ de phase ou un mod\u00e8le mol\u00e9culaire existant et obtenir un substitut PCE sans modifier aucun code interne.<\/p>\n<h3>PCE intrusif (Galerkin stochastique)<\/h3>\n<p>Le PCE intrusif substitue l&rsquo;expansion polynomiale directement dans les \u00e9quations gouvernantes et d\u00e9rive un syst\u00e8me d\u00e9terministe coupl\u00e9 pour les coefficients. Pour un mod\u00e8le simple :<\/p>\n<pre><code>\u2202u\/\u2202t = L(u) + f \u2192 \u03a3 \u2202c\u2096\u03a8\u2096\/\u2202t = L(\u03a3 c\u2096\u03a8\u2096) + f\n<\/code><\/pre>\n<p>Apr\u00e8s avoir projet\u00e9 sur chaque fonction de base, le syst\u00e8me coupl\u00e9 r\u00e9sout simultan\u00e9ment tous les coefficients. Cela peut \u00eatre plus efficace car il utilise la structure compl\u00e8te des \u00e9quations, mais cela n\u00e9cessite de modifier le solveur pour g\u00e9rer le syst\u00e8me coupl\u00e9. Pour la plupart des flux de travail de production, l&rsquo;approche intrusive n&rsquo;est pas pratique &#8211; l&rsquo;approche de r\u00e9gression non intrusive est pr\u00e9f\u00e9r\u00e9e.<\/p>\n<h2>Comment estimer les coefficients PCE<\/h2>\n<p>La m\u00e9thode d&rsquo;estimation des coefficients d\u00e9termine \u00e0 la fois la pr\u00e9cision et le co\u00fbt de calcul. Il existe trois approches principales.<\/p>\n<h3>Estimation bas\u00e9e sur la r\u00e9gression<\/h3>\n<p>L&rsquo;approche de r\u00e9gression non intrusive est la plus utilis\u00e9e. Il \u00e9chantillonne les points d&rsquo;entr\u00e9e, \u00e9value le mod\u00e8le et ajuste le polyn\u00f4me par r\u00e9gression lin\u00e9aire&nbsp;:<\/p>\n<pre><code>y \u2248 \u03a6 c\n<\/code><\/pre>\n<p>o\u00f9 \u03c6 est la matrice d&rsquo;\u00e9valuation polynomiale et y est le vecteur des \u00e9valuations de mod\u00e8les. Si n_\u00e9chantillons \u2265 n_termes, la solution des moindres carr\u00e9s est :<\/p>\n<pre><code>c = (\u03a6\u1d40\u03a6)\u207b\u00b9 \u03a6\u1d40 y\n<\/code><\/pre>\n<p>Ceci est simple \u00e0 mettre en \u0153uvre avec les fonctionnalit\u00e9s polynomiales de Scikit-Learn&nbsp;:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom sklearn.preprocessing import PolynomialFeatures\nfrom sklearn.linear_model import Ridge\n\n# Training data: N_samples \u00d7 N_inputs\nX_train = np.random.uniform(-1, 1, (100, 3))\n\n# Polynomial features up to degree 2\npoly = PolynomialFeatures(degree=2, include_bias=False)\nPhi = poly.fit_transform(X_train)  # 100 \u00d7 10 matrix\n\n# Ridge regression (regularization stabilizes coefficient estimation)\nmodel = Ridge(alpha=1e-4)\nc = model.fit(Phi, y_train).coef_\n<\/code><\/pre>\n<p>La r\u00e9gression avec r\u00e9gularisation (cr\u00eate, lasso) est num\u00e9riquement stable et fonctionne bien pour des dimensions mod\u00e9r\u00e9es. L&rsquo;inconv\u00e9nient est que la matrice de r\u00e9gression devient mal conditionn\u00e9e lorsque l&rsquo;ensemble d&rsquo;apprentissage est petit par rapport \u00e0 la taille de base.<\/p>\n<h3>Estimation bas\u00e9e sur la quadrature (formule de Gauss)<\/h3>\n<p>Lorsque l&rsquo;indice de coefficient k est unidimensionnel (un seul terme polynomial), le coefficient C\u2096 peut \u00eatre calcul\u00e9 par quadrature num\u00e9rique :<\/p>\n<pre><code>c\u2096 = \u222b M(X) \u03a8\u2096(X) w(X) dX \u2248 \u03a3\u1d62 M(X\u1d62) \u03a8\u2096(X\u1d62) w(X\u1d62) \/ ||\u03a8\u2096||\u00b2\n<\/code><\/pre>\n<p>Pour le PCE multivari\u00e9, des grilles en quadrature clairsem\u00e9es sont n\u00e9cessaires. Cette approche est exacte lorsque le mod\u00e8le est un polyn\u00f4me de degr\u00e9 \u2264 2p, mais il devient peu pratique dans des dimensions \u00e9lev\u00e9es car la taille de la grille en quadrature augmente de mani\u00e8re exponentielle.<\/p>\n<h3>Bas\u00e9 sur la projection (colocation stochastique)<\/h3>\n<p>La collocation stochastique construit le PCE en interpolant le mod\u00e8le aux points de collocation s\u00e9lectionn\u00e9s. Le coefficient du terme k est :<\/p>\n<pre><code>c\u2096 = \u03a3\u1d62 M(X\u1d62) \u03a8\u2096(X\u1d62) \/ \u03a8\u2096(X\u1d62)\u00b2  (diagonal weight)\n<\/code><\/pre>\n<p>La collocation \u00e9vite l&rsquo;\u00e9tape d&rsquo;int\u00e9gration de la quadrature et est efficace en termes de calcul lorsque des grilles clairsem\u00e9es ou des strat\u00e9gies de raffinement adaptatifs sont utilis\u00e9es. C&rsquo;est l&rsquo;approche pr\u00e9f\u00e9r\u00e9e lorsque le simulateur est suffisamment bon march\u00e9 pour \u00eatre \u00e9valu\u00e9 \u00e0 tous les points de quadrature.<\/p>\n<h2>M\u00e9thodes PCE rares<\/h2>\n<p>La base polynomiale compl\u00e8te se d\u00e9veloppe de mani\u00e8re combinatoire avec la dimension. Les m\u00e9thodes PCE clairsem\u00e9es r\u00e9duisent la taille de base tout en conservant la pr\u00e9cision lorsque la r\u00e9ponse du mod\u00e8le est domin\u00e9e par des interactions de faible ordre.<\/p>\n<h3>Troncage hyperbolique<\/h3>\n<p>La restriction de base hyperbolique (HBR) avec le param\u00e8tre q &lt; 1 Limites dont les indices multiples sont inclus&nbsp;:<\/p>\n<pre><code>\u2211 \u03b1\u1d62^(1\/q) \u2264 p\n<\/code><\/pre>\n<p>Lorsque Q \u2192 1, l&rsquo;HBR s&rsquo;approche de la base de degr\u00e9s totaux. Lorsque Q \u2192 0, il s&rsquo;approche de la base de Pareto g\u00e9n\u00e9ralis\u00e9e. Le param\u00e8tre Q contr\u00f4le le compromis entre la taille et la pr\u00e9cision de base. Pour la plupart des mod\u00e8les d&rsquo;ing\u00e9nierie, Q = 0,5 \u00e0 0,7 fournit une bonne compression tout en conservant des termes d&rsquo;interaction importants.<\/p>\n<p>La troncature hyperbolique r\u00e9duit une base de commande de 20 param\u00e8tres, de 1&nbsp;771 \u00e0 environ 200 \u00e0 400 termes selon Q.<\/p>\n<h3>Lasso et r\u00e9gression r\u00e9gularis\u00e9e<\/h3>\n<p>Lasso (moins absolu de retrait et de s\u00e9lection) effectue une r\u00e9gression avec une p\u00e9nalit\u00e9 L1 :<\/p>\n<pre><code>min (||\u03a6c||\u00b2 + \u03bb ||c||\u2081)\n<\/code><\/pre>\n<p>La p\u00e9nalit\u00e9 L1 entra\u00eene exactement de nombreux coefficients \u00e0 z\u00e9ro, produisant une solution clairsem\u00e9e. Elastic Net combine les p\u00e9nalit\u00e9s L1 et L2 pour g\u00e9rer les pr\u00e9dicteurs corr\u00e9l\u00e9s :<\/p>\n<pre><code>min (||\u03a6c||\u00b2 + \u03bb\u2081 ||c||\u2081 + \u03bb\u2082 ||c||\u2082\u00b2)\n<\/code><\/pre>\n<p>Le PCE sparse bas\u00e9 sur Lasso est impl\u00e9ment\u00e9 dans UQPY AS <code>HyperbolicTruncLARS<\/code> (troncature hyperbolique avec r\u00e9gression du moindre angle). Le flux de travail&nbsp;:<\/p>\n<pre><code class=\"language-python\">from uqpy.surrogates import HyperbolicTruncLARS\nfrom uqpy.distributions import MultivariateGaussian, Uniform\n\n# Define distributions\ndist = MultivariateGaussian(np.zeros(5), np.eye(5))\n\n# Generate samples and run model\nsamples = dist.sample(n=500)\ny_train = model_function(samples)\n\n# Build sparse PCE with q=0.5\npce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)\npce.fit(samples, y_train)\n\n# Validate\nvalidation_samples = dist.sample(n=100)\ny_pred = pce.predict(validation_samples)\nrmse = np.sqrt(np.mean((y_pred - y_test)**2))\n<\/code><\/pre>\n<h3>Grilles clairsem\u00e9es de Smolyak<\/h3>\n<p>La construction de Smolyak combine des r\u00e8gles de quadrature univari\u00e9es \u00e0 l&rsquo;aide de la formule de la grille parcise&nbsp;:<\/p>\n<pre><code>Q\u2098 = \u03a3_{|k|=m} (-1)^(m-|k|) \u00b7 \u03a0\u1d62 Q_{k\u1d62}\n<\/code><\/pre>\n<p>o\u00f9 q_d est l&rsquo;op\u00e9ratrice en quadrature d-dimensionnelle et |k| = \u03c3 k\u1d62. Les grilles de Smolyak r\u00e9duisent le nombre de points multidimensionnels de la croissance exponentielle \u00e0 la croissance polynomiale dans la dimension. Ils sont plus efficaces lorsque la r\u00e9ponse est fluide et que les interactions d&rsquo;ordre faible dominent.<\/p>\n<h2>Lorsque PCE est efficace<\/h2>\n<p>Le PCE converge de mani\u00e8re exponentielle pour des r\u00e9ponses fluides du mod\u00e8le. Le taux de convergence d\u00e9pend de :<\/p>\n<ul>\n<li><strong>lisse<\/strong>&nbsp;: les r\u00e9ponses analytiques convergent g\u00e9om\u00e9triquement. Les r\u00e9ponses lisses par morceaux convergent alg\u00e9briquement.<\/li>\n<li><strong>Dimensions effectives<\/strong>&nbsp;: m\u00eame avec 50&nbsp;param\u00e8tres nominaux, si seulement 5 contr\u00f4lent la r\u00e9ponse, le PCE converge sur 5&nbsp;dimensions.<\/li>\n<li><strong>Interactions de param\u00e8tres<\/strong>&nbsp;: les interactions fortes d&rsquo;ordre sup\u00e9rieur augmentent la taille de base requise.<\/li>\n<li><strong>Qualit\u00e9 de conception exp\u00e9rimentale<\/strong>&nbsp;: les s\u00e9quences de SOBOL ou les grilles en quadrature clairsem\u00e9es fonctionnent mieux qu&rsquo;un \u00e9chantillonnage al\u00e9atoire uniforme.<\/li>\n<\/ul>\n<h3>Contexte de r\u00e9f\u00e9rence<\/h3>\n<ul>\n<li>PCE fournit des moments analytiques et des indices SOBOL une fois ajust\u00e9s, sans aucune \u00e9valuation de mod\u00e8le suppl\u00e9mentaire.<\/li>\n<li>L&rsquo;approche de r\u00e9gression traite le simulateur comme une bo\u00eete noire.<\/li>\n<li>Les m\u00e9thodes clairsem\u00e9es peuvent \u00e9tendre le PCE \u00e0 environ 50&nbsp;param\u00e8tres incertains lorsque le mod\u00e8le pr\u00e9sente des interactions clairsem\u00e9es.<\/li>\n<li>L&rsquo;\u00e9cosyst\u00e8me Python UQ comprend Chaospy, UQPY, SALIB, SMT et UncertainPy.<\/li>\n<\/ul>\n<h2>PCE vs Kriging vs r\u00e9seaux neuronaux<\/h2>\n<p>PCE est un substitut parmi tant d&rsquo;autres. Comprendre les compromis vous aide \u00e0 choisir la m\u00e9thode adapt\u00e9e \u00e0 votre probl\u00e8me.<\/p>\n<table>\n<thead>\n<tr>\n<th>Dimensions<\/th>\n<th>M\u00e9thode<\/th>\n<th>Donn\u00e9es n\u00e9cessaires<\/th>\n<th>interpr\u00e9tabilit\u00e9<\/th>\n<th>dimensionnalit\u00e9<\/th>\n<th>Extraction UQ<\/th>\n<th>Indices de SOBOL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>indice<\/td>\n<td>R\u00e9gression polynomiale \/ quadrature<\/td>\n<td>N_termes \u00d7 1,5<\/td>\n<td>\u00c9LEV\u00c9 (Coefficients de la carte de la variance)<\/td>\n<td>Mod\u00e9r\u00e9 (sparse s&rsquo;\u00e9tend \u00e0 ~50)<\/td>\n<td>Moments analytiques exacts<\/td>\n<td>Exact (groupement de coefficients)<\/td>\n<\/tr>\n<tr>\n<td>Krige (processus gaussien)<\/td>\n<td>Interpolation bas\u00e9e sur la corr\u00e9lation<\/td>\n<td>~10-50 \u00d7 d<\/td>\n<td>Moyenne (structure de corr\u00e9lation)<\/td>\n<td>Faiblement mod\u00e9r\u00e9 (~10-30)<\/td>\n<td>Intervalles de pr\u00e9diction<\/td>\n<td>Non (d\u00e9riv\u00e9 num\u00e9rique n\u00e9cessaire)<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9seaux de neurones<\/td>\n<td>Architecture profonde \/ peu profonde<\/td>\n<td>Des centaines \u00e0 des milliers<\/td>\n<td>Faible (bo\u00eete noire)<\/td>\n<td>\u00c9lev\u00e9 (100+ possibles)<\/td>\n<td>Non (pas de mod\u00e8le UQ inh\u00e9rent)<\/td>\n<td>Non (sensibilit\u00e9 par perturbation)<\/td>\n<\/tr>\n<tr>\n<td>Mod\u00e8les d&rsquo;ordre r\u00e9duit<\/td>\n<td>Projection \/ orthogonale appropri\u00e9e<\/td>\n<td>sp\u00e9cifique au probl\u00e8me<\/td>\n<td>Moyenne (vecteurs de projection)<\/td>\n<td>\u00c9lev\u00e9 (Physique embarqu\u00e9e)<\/td>\n<td>Non (projection d\u00e9terministe)<\/td>\n<td>Non<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Le PCE est le seul substitut qui donne des indices analytiques exacts de SOBOL \u00e0 partir des coefficients. Le krigeage donne des intervalles de pr\u00e9diction mais n\u00e9cessite une diff\u00e9renciation num\u00e9rique pour la sensibilit\u00e9. Les r\u00e9seaux de neurones n\u00e9cessitent une sensibilit\u00e9 bas\u00e9e sur la perturbation. Les mod\u00e8les d&rsquo;ordre r\u00e9duit sont des projections d\u00e9terministes.<\/p>\n<h3>Quand choisir PCE<\/h3>\n<p>Le PCE est le meilleur choix lorsque :<\/p>\n<ol>\n<li><strong>Vous avez besoin de moments analytiques et d&rsquo;indices de sensibilit\u00e9<\/strong>&nbsp;: les coefficients vous donnent des indices E[Y], var(y) et SOBOL sans calcul suppl\u00e9mentaire.<\/li>\n<li><strong>La r\u00e9ponse est lisse et de faible dimension<\/strong>&nbsp;: les r\u00e9ponses analytiques convergent g\u00e9om\u00e9triquement dans le PCE.<\/li>\n<li><strong>Vous avez besoin de Monte Carlo rapide sur le substitut<\/strong>&nbsp;: une fois install\u00e9, l&rsquo;\u00e9valuation du polyn\u00f4me est O(1). Ceci est inestimable pour l&rsquo;analyse de fiabilit\u00e9 ou l&rsquo;estimation des probabilit\u00e9s de seuil.<\/li>\n<li><strong>Le simulateur est mod\u00e9r\u00e9ment co\u00fbteux<\/strong>&nbsp;: si chaque \u00e9valuation prend quelques minutes \u00e0 quelques heures, un PCE de 100 \u00e0 500&nbsp;points est r\u00e9alisable.<\/li>\n<\/ol>\n<h3>Quand \u00e9viter le PCE<\/h3>\n<p>\u00c9vitez PCE lorsque&nbsp;:<\/p>\n<ol>\n<li><strong>La r\u00e9ponse est discontinue<\/strong>&nbsp;: le ph\u00e9nom\u00e8ne de Gibbs produit des oscillations proches des discontinuit\u00e9s. Utilisez PCE multi-\u00e9l\u00e9ments ou un substitut hybride.<\/li>\n<li><strong>Vous avez besoin d&rsquo;un mod\u00e8le de grande dimension<\/strong>&nbsp;: m\u00eame le PCE clairsem\u00e9 devient instable au-del\u00e0 de ~&nbsp;50&nbsp;param\u00e8tres sans parcimonie v\u00e9rifi\u00e9e.<\/li>\n<li><strong>La r\u00e9ponse est hautement non lin\u00e9aire avec un comportement de seuil \u00e9lev\u00e9<\/strong>&nbsp;: le PCE lisse les seuils. Utilisez plut\u00f4t Monte Carlo ou QMC al\u00e9atoire.<\/li>\n<li><strong>Les donn\u00e9es sont extr\u00eamement rares<\/strong>&nbsp;: avec moins de 20&nbsp;points d&rsquo;entra\u00eenement, PCE n&rsquo;est pas fiable. Les surfaces de r\u00e9ponse de krige ou polynomiale peuvent \u00eatre plus robustes.<\/li>\n<\/ol>\n<h2>Le ph\u00e9nom\u00e8ne Gibbs<\/h2>\n<p>Le ph\u00e9nom\u00e8ne Gibbs est le mode de d\u00e9faillance le plus fondamental du PCE standard. Pour les r\u00e9ponses discontinues, les \u00e9v\u00e9nements de seuil, les changements de contact ou les d\u00e9faillances du solveur, l&rsquo;approximation polynomiale produit des oscillations non physiques pr\u00e8s de la discontinuit\u00e9. Ceci est math\u00e9matiquement identique aux oscillations observ\u00e9es lors de l&rsquo;approximation d&rsquo;une fonction de pas avec une s\u00e9rie de Fourier.<\/p>\n<p>Pour une r\u00e9ponse fluide, le PCE converge rapidement. Pour une r\u00e9ponse avec une discontinuit\u00e9 \u00e0 un seul saut, le polyn\u00f4me oscille avec une amplitude proportionnelle \u00e0 la hauteur de saut et ne d\u00e9croissant que 1\/\u221aN. L&rsquo;augmentation de l&rsquo;ordre polynomial aggrave l&rsquo;oscillation, pas meilleure.<\/p>\n<h3>Strat\u00e9gies d&rsquo;att\u00e9nuation<\/h3>\n<p><strong>PCE multi-\u00e9l\u00e9ments (ME-PCE)<\/strong>&nbsp;: le domaine d&rsquo;entr\u00e9e est partitionn\u00e9 en sous-r\u00e9gions. Un polyn\u00f4me s\u00e9par\u00e9 est install\u00e9 dans chaque sous-r\u00e9gion, avec une continuit\u00e9 appliqu\u00e9e aux limites. Il s&rsquo;agit de l&rsquo;approche la plus fiable pour les r\u00e9ponses discontinues.<\/p>\n<p><strong>Hybride du chaos-krige polynomial<\/strong>&nbsp;: un PCE capture la composante lisse de la r\u00e9ponse, tandis qu&rsquo;un mod\u00e8le de krigeage capture la discontinuit\u00e9 r\u00e9siduelle. Cela met \u00e0 profit les atouts des deux m\u00e9thodes.<\/p>\n<p><strong>Chaos polynomial rationnel<\/strong>&nbsp;: les approximations de Pad\u00e9-Legendre utilisent un rapport de polyn\u00f4mes au lieu d&rsquo;un seul polyn\u00f4me. La forme rationnelle peut repr\u00e9senter des sauts discontinus avec plus de pr\u00e9cision qu&rsquo;un polyn\u00f4me pur.<\/p>\n<p><strong>D\u00e9composition du domaine d&rsquo;apprentissage actif<\/strong>&nbsp;: Nov\u00e1k et al. (2023) ont introduit une approche s\u00e9quentielle o\u00f9 le domaine d&rsquo;entr\u00e9e est d\u00e9compos\u00e9 de mani\u00e8re it\u00e9rative en fonction du comportement du mod\u00e8le dans chaque r\u00e9gion. Il s&rsquo;agit de l&rsquo;approche la plus flexible pour les r\u00e9ponses discontinues complexes.<\/p>\n<h2>Guide de mise en \u0153uvre de Python<\/h2>\n<h3>chaos<\/h3>\n<p>Chaospy est une biblioth\u00e8que cibl\u00e9e pour les distributions PCE et de probabilit\u00e9. Il ne vise pas \u00e0 \u00eatre un framework UQ tout-en-un.<\/p>\n<pre><code class=\"language-python\">import chaospy as cp\nimport numpy as np\n\n# Independent uncertain parameters\ndistribution = cp.J(\n    cp.Uniform(0.8, 1.2),\n    cp.Normal(2.0, 0.1)\n)\n\n# Total-degree polynomial basis\norder = 3\nexpansion = cp.generate_expansion(order, distribution)\n\n# Experimental design (Sobol)\nsamples = distribution.sample(100, rule='sobol')\n\n# Model evaluations\ndef model(sample):\n    conductivity = sample[0]\n    source = sample[1]\n    return source \/ conductivity + 0.2 * conductivity**2\n\nevaluations = np.array([model(samples[:, i]) for i in range(samples.shape[1])])\n\n# Fit PCE by regression\napproximation = cp.fit_regression(expansion, samples.T, evaluations)\n\n# Extract statistics (analytical, no additional model evaluations)\nmean = cp.E(approximation, distribution)\nvariance = cp.Var(approximation, distribution)\nfirst_order = cp.Sens_m(approximation, distribution)\ntotal_order = cp.Sens_t(approximation, distribution)\n\nprint(f\"Mean: {mean}\")\nprint(f\"Standard deviation: {np.sqrt(variance)}\")\nprint(f\"First-order Sobol: {first_order}\")\nprint(f\"Total-order Sobol: {total_order}\")\n<\/code><\/pre>\n<h3>uqy<\/h3>\n<p>UQPY fournit des PCE, LARS et des utilitaires de validation \u00e9tendus.<\/p>\n<pre><code class=\"language-python\">from uqpy.distributions import MultivariateGaussian\nfrom uqpy.surrogates import HyperbolicTruncLARS, MonteCarlo\nimport numpy as np\n\n# Define distribution\ndist = MultivariateGaussian(np.zeros(5), np.eye(5))\n\n# Generate samples and run model\nsamples = dist.sample(n=500)\ny_train = np.array([model_function(x) for x in samples])\n\n# Build sparse PCE\npce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)\npce.fit(samples, y_train)\n\n# Validate on independent test points\ntest_samples = dist.sample(n=100)\ny_pred = pce.predict(test_samples)\ny_test = np.array([model_function(x) for x in test_samples])\n\n# Root mean squared error\nrmse = np.sqrt(np.mean((y_pred - y_test)**2))\nprint(f\"RMSE: {rmse}\")\n\n# Monte Carlo uncertainty propagation on the surrogate\nn_mc = 10000\nmc_samples = dist.sample(n_mc)\nmc_predictions = pce.predict(mc_samples)\n\nmc_mean = np.mean(mc_predictions)\nmc_std = np.std(mc_predictions)\nprint(f\"MC propagation mean: {mc_mean}\")\nprint(f\"MC propagation std: {mc_std}\")\n<\/code><\/pre>\n<h3>PCE r\u00e9gularis\u00e9 Scikit-learn<\/h3>\n<p>Pour les projets qui utilisent d\u00e9j\u00e0 la r\u00e9gression Scikit-Learn, Ridge ou Lasso est simple.<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom sklearn.preprocessing import PolynomialFeatures\nfrom sklearn.linear_model import Lasso\n\n# Generate Sobol samples\nN = 300\nd = 4\nfrom scipy.stats import qmc\nsampler = qmc.Sobol(d)\nsample = sampler.random(base2=np.ceil(np.log2(N)).astype(int))\n\n# Model evaluations\ny = np.array([model_function(row) for row in sample])\n\n# Polynomial features with hyperbolic truncation (manual basis selection)\npoly = PolynomialFeatures(degree=2, include_bias=False)\nPhi = poly.fit_transform(sample)\n\n# LASSO regression\nlasso = Lasso(alpha=1e-3)\nc = lasso.fit(Phi, y).coef_\n\nprint(f\"Non-zero coefficients: {np.sum(c != 0)} out of {len(c)}\")\nprint(f\"Coefficients: {c}\")\n<\/code><\/pre>\n<h2>Validation d&rsquo;un substitut PCE<\/h2>\n<p>Un substitut PCE ne doit jamais \u00eatre approuv\u00e9 sans validation. Les coefficients polynomiaux fournissent des moments exacts, mais ces moments n&rsquo;ont aucun sens si le substitut ne se rapproche pas du mod\u00e8le avec pr\u00e9cision.<\/p>\n<h3>Protocole de validation<\/h3>\n<ol>\n<li><strong>G\u00e9n\u00e9rer des points de validation<\/strong>&nbsp;: ind\u00e9pendant de la formation. Utilisez des s\u00e9quences de SOBOL ou un \u00e9chantillonnage hypercube latin.<\/li>\n<li><strong>Calculez RMSE et erreur maximale<\/strong>&nbsp;: comparez les pr\u00e9dictions PCE avec les v\u00e9ritables \u00e9valuations de mod\u00e8les aux points de validation.<\/li>\n<li><strong>Pr\u00e9cision du moment de v\u00e9rification<\/strong>&nbsp;: comparez la moyenne et la variance extraites du PCE par rapport aux estimations de Monte Carlo sur l&rsquo;ensemble de validation.<\/li>\n<li><strong>Stabilit\u00e9 de la sensibilit\u00e9 du moniteur<\/strong>&nbsp;: si les indices de SOBOL changent de mani\u00e8re significative entre l&rsquo;entra\u00eenement et la validation, le PCE n&rsquo;est pas converg\u00e9.<\/li>\n<li><strong>V\u00e9rifier les oscillations de Gibbs<\/strong>&nbsp;: tracer les pr\u00e9dictions PCE par rapport \u00e0 une grille. Les oscillations non lisses indiquent un \u00e9chec de r\u00e9ponse discontinu.<\/li>\n<\/ol>\n<h3>Surveillance de la convergence<\/h3>\n<p>Suivez l&rsquo;ordre polynomial et le nombre de points d&rsquo;entra\u00eenement. \u00c0 mesure que les deux augmentent, le RMSE devrait diminuer de mani\u00e8re monotone. Si RMSE stagne ou augmente avec un ordre plus \u00e9lev\u00e9, la base est de surajuster les donn\u00e9es d&rsquo;entra\u00eenement.<\/p>\n<pre><code class=\"language-python\"># Monitoring convergence as polynomial order increases\nfor order in [2, 3, 4, 5]:\n    expansion = cp.generate_expansion(order, distribution)\n    samples = distribution.sample(N)\n    evaluations = np.array([model(s) for s in samples])\n    pce = cp.fit_regression(expansion, samples.T, evaluations)\n    \n    # Validate\n    test = distribution.sample(N_test)\n    y_pred = np.array([pce(s) for s in test])\n    y_true = np.array([model(s) for s in test])\n    \n    rmse = np.sqrt(np.mean((y_pred - y_true)**2))\n    print(f\"Order {order}: RMSE = {rmse:.6f}\")\n<\/code><\/pre>\n<h2>erreurs courantes et comment les \u00e9viter<\/h2>\n<h3>1. Base polynomiale incompatible<\/h3>\n<p>L&rsquo;utilisation des polyn\u00f4mes de Legendre pour les entr\u00e9es gaussiennes d\u00e9truit l&rsquo;orthogonalit\u00e9. Les coefficients deviennent biais\u00e9s et l&rsquo;extraction du moment n&rsquo;est pas valide. Associez toujours la famille polynomiale \u00e0 la distribution d&rsquo;entr\u00e9e.<\/p>\n<h3>2. Surajustement de la base polynomiale<\/h3>\n<p>Une base de degr\u00e9 5 en 10 param\u00e8tres a 2&nbsp;002&nbsp;termes. Avec 2 000 points d&rsquo;entra\u00eenement, la r\u00e9gression est \u00e0 peine stable. Utilisez des crit\u00e8res d&rsquo;information (AIC, BIC) ou une validation crois\u00e9e pour s\u00e9lectionner l&rsquo;ordre polynomial.<\/p>\n<h3>3. Faire confiance aux moments PCE sans validation<\/h3>\n<p>La moyenne et la variance extraites des coefficients PCE sont des expressions math\u00e9matiques exactes. Mais ils ne sont valables que si l&rsquo;approximation polynomiale est exacte. Toujours valider par rapport aux points de test ind\u00e9pendants avant les moments de rapport.<\/p>\n<h3>4. Ignorer le ph\u00e9nom\u00e8ne de Gibbs<\/h3>\n<p>Pour les r\u00e9ponses discontinues, le polyn\u00f4me oscille pr\u00e8s des discontinuit\u00e9s. Signalez le RMSE sur une grille qui inclut les r\u00e9gions de discontinuit\u00e9. Si le RMSE est domin\u00e9 par quelques points oscillatoires, le PCE n&rsquo;est pas valide.<\/p>\n<h3>5. Supposer de la parcimonie sans v\u00e9rifier<\/h3>\n<p>La troncature lasso ou hyperbolique suppose que la r\u00e9ponse du mod\u00e8le est domin\u00e9e par des interactions d&rsquo;ordre faible. Si le vrai mod\u00e8le a de fortes interactions d&rsquo;ordre \u00e9lev\u00e9, le PCE clairsem\u00e9 leur manquera. V\u00e9rifier la parcimonie en comparant les normes de coefficient des bases compl\u00e8tes et parcimonieuses.<\/p>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>L&rsquo;expansion du chaos polynomial convertit un simulateur d\u00e9terministe en un substitut stochastique qui fournit un acc\u00e8s analytique aux statistiques de sortie, aux intervalles d&rsquo;incertitude et aux indices de sensibilit\u00e9. La m\u00e9thode excelle lorsque la r\u00e9ponse est lisse, la dimensionnalit\u00e9 est mod\u00e9r\u00e9e et le co\u00fbt de calcul est suffisamment \u00e9lev\u00e9 pour justifier la construction de substitution.<\/p>\n<h3>Flux de travail recommand\u00e9<\/h3>\n<ol>\n<li><strong>V\u00e9rifier la convergence num\u00e9rique<\/strong> du simulateur d\u00e9terministe avant uq. Une erreur de discr\u00e9tisation et une incertitude num\u00e9rique doivent \u00eatre \u00e9tablies avant la propagation.<\/li>\n<li><strong>Attribuez des distributions \u00e0 partir de donn\u00e9es exp\u00e9rimentales<\/strong> ou un jugement d&rsquo;expert document\u00e9. Ne pas utiliser par d\u00e9faut les distributions uniformes.<\/li>\n<li><strong>S\u00e9lectionnez la base polynomiale<\/strong> en faisant correspondre les distributions aux polyn\u00f4mes orthogonaux. V\u00e9rifier les conditions d&rsquo;orthonormalit\u00e9.<\/li>\n<li><strong>Choisissez une m\u00e9thode d&rsquo;estimation des coefficients<\/strong>&nbsp;: r\u00e9gression pour PCE non intrusif, quadrature pour des cas de faible dimension efficaces, collocation pour les mod\u00e8les bon march\u00e9.<\/li>\n<li><strong>Valider le substitut<\/strong> par rapport aux points de test ind\u00e9pendants et surveiller la convergence avec l&rsquo;augmentation de l&rsquo;ordre polynomial.<\/li>\n<li><strong>Signalez les moments et les indices de sensibilit\u00e9<\/strong> uniquement apr\u00e8s validation. Incluez des intervalles de confiance pour les statistiques estim\u00e9es.<\/li>\n<\/ol>\n<h3>Ce qu&rsquo;il faut \u00e9viter<\/h3>\n<ul>\n<li>Utilisation du PCE pour les r\u00e9ponses discontinues sans att\u00e9nuation<\/li>\n<li>En supposant que le PCE parcimonieux fonctionne pour chaque probl\u00e8me de grande dimension<\/li>\n<li>Signaler des moments PCE sans validation<\/li>\n<li>PCE non intrusif d\u00e9routant avec Galerkin stochastique intrusif<\/li>\n<li>Utilisation de bases polynomiales compl\u00e8tes dans les probl\u00e8mes o\u00f9 la taille de base d\u00e9passe l&rsquo;ensemble d&rsquo;entra\u00eenement<\/li>\n<\/ul>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/uncertainty-quantification-sensitivity-analysis-scientific-simulation\/\">Quantification de l&rsquo;incertitude et analyse de sensibilit\u00e9 dans la simulation scientifique<\/a> &#8211; flux de travail UQ plus large, analyse de sensibilit\u00e9 Sobol, m\u00e9thodes de Monte Carlo et outils Python UQ.<\/li>\n<li><a href=\"https:\/\/matforge.org\/monte-carlo-methods-for-scientific-simulations\/\">M\u00e9thodes de Monte-Carlo pour les simulations scientifiques<\/a> \u2014 Comparer les \u00e9chantillonnages al\u00e9atoires, QMC, LHS et les comportements de convergence PCE.<\/li>\n<li><a href=\"https:\/\/matforge.org\/machine-learning-surrogates-scientific-simulations\/\">substatives d&rsquo;apprentissage automatique pour les simulations scientifiques<\/a> &#8211; Construire et valider les r\u00e9seaux de neurones et les substituts gaussiens PCE.<\/li>\n<li><a href=\"https:\/\/matforge.org\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/\">V\u00e9rification vs validation dans les simulations scientifiques<\/a> \u2014 \u00c9tablissez une convergence num\u00e9rique avant de lancer une campagne UQ.<\/li>\n<\/ul>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Caflisch, R.E., &amp; Mosolova, N. (1998). M\u00e9thodes Monte Carlo et Quasi-Monte Carlo. Rapport UCLA CAM.<\/li>\n<li>Nov\u00e1k et al. (2023). Domaine d&rsquo;apprentissage actif Surrogate localis\u00e9e adaptative. <em>M\u00e9thodes informatiques en m\u00e9canique appliqu\u00e9e et en ing\u00e9nierie<\/em>. <a href=\"https:\/\/www.sciencedirect.com\/science\/article\/abs\/pii\/S0888327023006362\" target=\"_blank\" rel=\"nofollow noopener\">doi<\/a><\/li>\n<li>Schneider (2023). Expansion du chaos polynomial rationnel. th\u00e8se de Tum. <a href=\"https:\/\/mediatum.ub.tum.de\/doc\/1779181\/o49dteqnqdu3dcf3r6r50dqfd.manuscript_final.pdf\" target=\"_blank\" rel=\"nofollow noopener\">PDF<\/a><\/li>\n<li>Dictionnaire UQ de Helmholtz. Entr\u00e9e d&rsquo;extension du chaos polynomial. <a href=\"https:\/\/dictionary.helmholtz-uq.de\/content\/PCE.html\" target=\"_blank\" rel=\"nofollow noopener\">URL<\/a><\/li>\n<li>Centre d&rsquo;apprentissage COMSOL. Th\u00e9orie de la mod\u00e9lisation de substitution et PCE. <a href=\"https:\/\/www.comsol.com\/support\/learning-center\/course\/surrogate-modeling-theory-271\/more-on-pce-surrogate-models-97121\" target=\"_blank\" rel=\"nofollow noopener\">URL<\/a><\/li>\n<\/ul>\n<h2>Besoin d&rsquo;aide pour cr\u00e9er des substituts PCE pour vos simulations ?<\/h2>\n<p>Si vous avez des difficult\u00e9s avec l&rsquo;impl\u00e9mentation du chaos polynomial, la s\u00e9lection de base, la r\u00e9gularisation PCE clairsem\u00e9e ou la validation de substitution, nous pouvons vous aider. Nous nous sp\u00e9cialisons dans les flux de travail de quantification de l&rsquo;incertitude bas\u00e9 sur Python et pouvons vous guider, des scripts PCE de base aux pipelines de substitution de cat\u00e9gorie de production.<\/p>\n","protected":false,"raw":"<p>L'expansion du chaos polynomial est une technique de mod\u00e9lisation de substitution qui remplace une simulation co\u00fbteuse par une s\u00e9rie de polyn\u00f4mes orthogonaux dont les coefficients peuvent \u00eatre utilis\u00e9s pour estimer directement l'incertitude. Une fois install\u00e9, un substitut PCE vous donne un acc\u00e8s analytique aux moyens de sortie, aux \u00e9carts, aux intervalles de confiance et aux indices de sensibilit\u00e9 SOBOL sans ex\u00e9cuter une seule simulation suppl\u00e9mentaire.<\/p>\n<p>Cet article couvre le PCE, de la base th\u00e9orique \u00e0 la mise en \u0153uvre pratique. Vous verrez exactement comment les bases polynomiales sont s\u00e9lectionn\u00e9es, comment les coefficients sont estim\u00e9s par r\u00e9gression, quadrature ou projection, comment les techniques d'aspect sommaire \u00e9tendent le PCE \u00e0 des dimensions mod\u00e9r\u00e9es et les modes de d\u00e9faillance cassent le PCE standard. Les exemples Python inclus utilisent Chaospy, UQPY et Scikit-Learn pour afficher des flux de travail complets et valid\u00e9s.<\/p>\n<h2>Points \u00e0 retenir cl\u00e9s<\/h2>\n<ul>\n<li><strong>PCE remplace l'\u00e9chantillonnage al\u00e9atoire par une approximation d\u00e9terministe<\/strong>&nbsp;: au lieu de dessiner des milliers d'\u00e9chantillons de Monte&nbsp;Carlo, le PCE adapte un polyn\u00f4me \u00e0 la r\u00e9ponse du mod\u00e8le. Les coefficients polynomiaux fournissent alors des moments analytiques et des indices de sensibilit\u00e9.<\/li>\n<li><strong>La base polynomiale doit correspondre \u00e0 la distribution d'entr\u00e9e<\/strong>&nbsp;: legendre pour l'uniforme, hermite pour gaussienne, laguerre pour exponentielle. Une base incompatible d\u00e9truit l'orthogonalit\u00e9 et invalide toutes les estimations de coefficients.<\/li>\n<li><strong>PCE non intrusif est le choix par d\u00e9faut pour la plupart des flux de travail<\/strong>&nbsp;: vous conservez votre simulateur comme bo\u00eete noire, l'\u00e9valuez aux points d'entra\u00eenement et estimez les coefficients via la r\u00e9gression. Cela \u00e9vite de modifier les \u00e9quations du solveur.<\/li>\n<li><strong>M\u00e9thodes PCE parcimonieuses g\u00e8rent ~50&nbsp;param\u00e8tres<\/strong>&nbsp;: les grilles de troncature hyperbolique, de lasso et de smolyak r\u00e9duisent consid\u00e9rablement la taille de la base polynomiale. Ils fonctionnent lorsque la r\u00e9ponse du mod\u00e8le a des interactions dominantes d'ordre inf\u00e9rieur, mais l'hypoth\u00e8se de parcimonie doit \u00eatre v\u00e9rifi\u00e9e.<\/li>\n<li><strong>PCE n'est pas universel<\/strong>&nbsp;: les r\u00e9ponses discontinues, les \u00e9v\u00e9nements de seuil, les changements de contact et les d\u00e9faillances du solveur produisent des oscillations non physiques (le ph\u00e9nom\u00e8ne de Gibbs). Lorsque la r\u00e9ponse est discontinue, utilisez le PCE multi-\u00e9l\u00e9ments, le chaos polynomial rationnel ou un substitut hybride.<\/li>\n<\/ul>\n<h2>Comment fonctionne l'extension du chaos polynomial<\/h2>\n<p>L'expansion du chaos polynomial repr\u00e9sente une sortie de mod\u00e8le comme une somme pond\u00e9r\u00e9e des polyn\u00f4mes orthogonaux. Consid\u00e9rons une sortie scalaire Y qui d\u00e9pend d'un vecteur d'entr\u00e9e x :<\/p>\n<pre><code>Y = M(X)\n<\/code><\/pre>\n<p>L'approximation PCE remplace M(x) par un polyn\u00f4me :<\/p>\n<pre><code>Y(X) \u2248 \u03a3 c\u2096 \u03a8\u2096(X)\n<\/code><\/pre>\n<p>Ici, \u03c8\u2096 sont des polyn\u00f4mes orthogonaux multivari\u00e9s et C\u2096 sont des coefficients d\u00e9terministes. L'ensemble des polyn\u00f4mes doit \u00eatre orthogonal par rapport \u00e0 la distribution de probabilit\u00e9 d'entr\u00e9e, et les coefficients sont d\u00e9termin\u00e9s par la m\u00e9thode d'estimation choisie.<\/p>\n<h3>Polyn\u00f4mes orthogonaux et correspondance de distribution<\/h3>\n<p>La famille polynomiale est li\u00e9e directement \u00e0 la distribution d'entr\u00e9e. Ce n'est pas un choix de conception - c'est une exigence math\u00e9matique pour l'orthogonalit\u00e9.<\/p>\n<table>\n<thead>\n<tr>\n<th>Distribution<\/th>\n<th>Polyn\u00f4me orthogonal<\/th>\n<th>Normalisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Uniforme [-1, 1]<\/td>\n<td>gemme<\/td>\n<td>P\u2099(\u03be) = (1\/n!)\u00b7D\u207f\/D\u03be\u207f[(\u03be\u00b2-1)\u207f]<\/td>\n<\/tr>\n<tr>\n<td>Normale standard N(0,1)<\/td>\n<td>ermite<\/td>\n<td>H\u2099(\u03be) = (-1)\u207f\u00b7E<sup>(\u03be\u00b2\/2)\u00b7D\u207f\/D\u03be\u207f[E<\/sup>(-\u03be\u00b2\/2)]<\/td>\n<\/tr>\n<tr>\n<td>\u03bb=1 exponentiel<\/td>\n<td>laguerre<\/td>\n<td>l\u2099(\u03be) = (1\/n&nbsp;!)\u00b7e^\u03be\u00b7d\u207f\/d\u03be\u207f[\u03be\u207f]<\/td>\n<\/tr>\n<tr>\n<td>B\u00eata [a, b]<\/td>\n<td>Jacobi<\/td>\n<td>Polyn\u00f4mes de Jacobi g\u00e9n\u00e9ralis\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>poisson<\/td>\n<td>charlier<\/td>\n<td>Polyn\u00f4mes orthogonaux discrets<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La condition d'orthonormalit\u00e9 indique :<\/p>\n<pre><code>\u222b \u03a8\u1d62(\u03be) \u03a8\u2c7c(\u03be) w(\u03be) d\u03be = \u03b4\u1d62\u2c7c\n<\/code><\/pre>\n<p>o\u00f9 w(\u03be) est la densit\u00e9 de probabilit\u00e9 de la distribution d'entr\u00e9e et \u0394\u1d62\u2c7c est le delta de Kronecker. Lorsque cette condition est valable, les coefficients PCE se rapportent directement aux statistiques de sortie via l'identit\u00e9 de Parseval.<\/p>\n<h3>Construction polynomiale multivari\u00e9e<\/h3>\n<p>Lorsque les entr\u00e9es sont ind\u00e9pendantes, la base polynomiale multivari\u00e9e est un produit tenseur de polyn\u00f4mes univari\u00e9s :<\/p>\n<pre><code>\u03a8\u2096(X) = \u03a0 \u03c8\u2096\u1d62(X\u1d62)\n<\/code><\/pre>\n<p>Pour une base totale de degr\u00e9s de commande P dans des param\u00e8tres incertains, le nombre de termes est&nbsp;:<\/p>\n<pre><code>N = (d + p)! \/ (d! \u00b7 p!)\n<\/code><\/pre>\n<p>Pour 20 param\u00e8tres et ordre trois, cela produit 1 771 termes. Une r\u00e9gression stable n\u00e9cessite g\u00e9n\u00e9ralement plus de points d'entra\u00eenement que de coefficients, de sorte que la demande de calcul augmente rapidement.<\/p>\n<h2>PCE non intrusif ou intrusif<\/h2>\n<p>Il existe deux approches fondamentalement diff\u00e9rentes pour construire un PCE. L'approche non intrusive traite le simulateur comme une bo\u00eete noire. L'approche intrusive reformule les \u00e9quations r\u00e9gissants.<\/p>\n<h3>PCE non intrusif<\/h3>\n<p>Le PCE non intrusif \u00e9value le simulateur d\u00e9terministe \u00e0 des points s\u00e9lectionn\u00e9s dans l'espace d'incertitude et s'adapte \u00e0 une r\u00e9gression polynomiale. Le flux de travail&nbsp;:<\/p>\n<ol>\n<li>S\u00e9lectionnez une base polynomiale align\u00e9e avec les distributions d'entr\u00e9e.<\/li>\n<li>G\u00e9n\u00e9rez des points d'entra\u00eenement (quadrature ou \u00e9chantillonnage).<\/li>\n<li>Ex\u00e9cutez le simulateur \u00e0 ces points.<\/li>\n<li>Estimez les coefficients d'expansion.<\/li>\n<li>Valider sur des points de test ind\u00e9pendants.<\/li>\n<\/ol>\n<p>Cette approche n'ajoute aucune modification du solveur. Vous pouvez envelopper un CFD, un FEM, un champ de phase ou un mod\u00e8le mol\u00e9culaire existant et obtenir un substitut PCE sans modifier aucun code interne.<\/p>\n<h3>PCE intrusif (Galerkin stochastique)<\/h3>\n<p>Le PCE intrusif substitue l'expansion polynomiale directement dans les \u00e9quations gouvernantes et d\u00e9rive un syst\u00e8me d\u00e9terministe coupl\u00e9 pour les coefficients. Pour un mod\u00e8le simple :<\/p>\n<pre><code>\u2202u\/\u2202t = L(u) + f \u2192 \u03a3 \u2202c\u2096\u03a8\u2096\/\u2202t = L(\u03a3 c\u2096\u03a8\u2096) + f\n<\/code><\/pre>\n<p>Apr\u00e8s avoir projet\u00e9 sur chaque fonction de base, le syst\u00e8me coupl\u00e9 r\u00e9sout simultan\u00e9ment tous les coefficients. Cela peut \u00eatre plus efficace car il utilise la structure compl\u00e8te des \u00e9quations, mais cela n\u00e9cessite de modifier le solveur pour g\u00e9rer le syst\u00e8me coupl\u00e9. Pour la plupart des flux de travail de production, l'approche intrusive n'est pas pratique - l'approche de r\u00e9gression non intrusive est pr\u00e9f\u00e9r\u00e9e.<\/p>\n<h2>Comment estimer les coefficients PCE<\/h2>\n<p>La m\u00e9thode d'estimation des coefficients d\u00e9termine \u00e0 la fois la pr\u00e9cision et le co\u00fbt de calcul. Il existe trois approches principales.<\/p>\n<h3>Estimation bas\u00e9e sur la r\u00e9gression<\/h3>\n<p>L'approche de r\u00e9gression non intrusive est la plus utilis\u00e9e. Il \u00e9chantillonne les points d'entr\u00e9e, \u00e9value le mod\u00e8le et ajuste le polyn\u00f4me par r\u00e9gression lin\u00e9aire&nbsp;:<\/p>\n<pre><code>y \u2248 \u03a6 c\n<\/code><\/pre>\n<p>o\u00f9 \u03c6 est la matrice d'\u00e9valuation polynomiale et y est le vecteur des \u00e9valuations de mod\u00e8les. Si n_\u00e9chantillons \u2265 n_termes, la solution des moindres carr\u00e9s est :<\/p>\n<pre><code>c = (\u03a6\u1d40\u03a6)\u207b\u00b9 \u03a6\u1d40 y\n<\/code><\/pre>\n<p>Ceci est simple \u00e0 mettre en \u0153uvre avec les fonctionnalit\u00e9s polynomiales de Scikit-Learn&nbsp;:<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom sklearn.preprocessing import PolynomialFeatures\nfrom sklearn.linear_model import Ridge\n\n# Training data: N_samples \u00d7 N_inputs\nX_train = np.random.uniform(-1, 1, (100, 3))\n\n# Polynomial features up to degree 2\npoly = PolynomialFeatures(degree=2, include_bias=False)\nPhi = poly.fit_transform(X_train)  # 100 \u00d7 10 matrix\n\n# Ridge regression (regularization stabilizes coefficient estimation)\nmodel = Ridge(alpha=1e-4)\nc = model.fit(Phi, y_train).coef_\n<\/code><\/pre>\n<p>La r\u00e9gression avec r\u00e9gularisation (cr\u00eate, lasso) est num\u00e9riquement stable et fonctionne bien pour des dimensions mod\u00e9r\u00e9es. L'inconv\u00e9nient est que la matrice de r\u00e9gression devient mal conditionn\u00e9e lorsque l'ensemble d'apprentissage est petit par rapport \u00e0 la taille de base.<\/p>\n<h3>Estimation bas\u00e9e sur la quadrature (formule de Gauss)<\/h3>\n<p>Lorsque l'indice de coefficient k est unidimensionnel (un seul terme polynomial), le coefficient C\u2096 peut \u00eatre calcul\u00e9 par quadrature num\u00e9rique :<\/p>\n<pre><code>c\u2096 = \u222b M(X) \u03a8\u2096(X) w(X) dX \u2248 \u03a3\u1d62 M(X\u1d62) \u03a8\u2096(X\u1d62) w(X\u1d62) \/ ||\u03a8\u2096||\u00b2\n<\/code><\/pre>\n<p>Pour le PCE multivari\u00e9, des grilles en quadrature clairsem\u00e9es sont n\u00e9cessaires. Cette approche est exacte lorsque le mod\u00e8le est un polyn\u00f4me de degr\u00e9 \u2264 2p, mais il devient peu pratique dans des dimensions \u00e9lev\u00e9es car la taille de la grille en quadrature augmente de mani\u00e8re exponentielle.<\/p>\n<h3>Bas\u00e9 sur la projection (colocation stochastique)<\/h3>\n<p>La collocation stochastique construit le PCE en interpolant le mod\u00e8le aux points de collocation s\u00e9lectionn\u00e9s. Le coefficient du terme k est :<\/p>\n<pre><code>c\u2096 = \u03a3\u1d62 M(X\u1d62) \u03a8\u2096(X\u1d62) \/ \u03a8\u2096(X\u1d62)\u00b2  (diagonal weight)\n<\/code><\/pre>\n<p>La collocation \u00e9vite l'\u00e9tape d'int\u00e9gration de la quadrature et est efficace en termes de calcul lorsque des grilles clairsem\u00e9es ou des strat\u00e9gies de raffinement adaptatifs sont utilis\u00e9es. C'est l'approche pr\u00e9f\u00e9r\u00e9e lorsque le simulateur est suffisamment bon march\u00e9 pour \u00eatre \u00e9valu\u00e9 \u00e0 tous les points de quadrature.<\/p>\n<h2>M\u00e9thodes PCE rares<\/h2>\n<p>La base polynomiale compl\u00e8te se d\u00e9veloppe de mani\u00e8re combinatoire avec la dimension. Les m\u00e9thodes PCE clairsem\u00e9es r\u00e9duisent la taille de base tout en conservant la pr\u00e9cision lorsque la r\u00e9ponse du mod\u00e8le est domin\u00e9e par des interactions de faible ordre.<\/p>\n<h3>Troncage hyperbolique<\/h3>\n<p>La restriction de base hyperbolique (HBR) avec le param\u00e8tre q &lt; 1 Limites dont les indices multiples sont inclus&nbsp;:<\/p>\n<pre><code>\u2211 \u03b1\u1d62^(1\/q) \u2264 p\n<\/code><\/pre>\n<p>Lorsque Q \u2192 1, l'HBR s'approche de la base de degr\u00e9s totaux. Lorsque Q \u2192 0, il s'approche de la base de Pareto g\u00e9n\u00e9ralis\u00e9e. Le param\u00e8tre Q contr\u00f4le le compromis entre la taille et la pr\u00e9cision de base. Pour la plupart des mod\u00e8les d'ing\u00e9nierie, Q = 0,5 \u00e0 0,7 fournit une bonne compression tout en conservant des termes d'interaction importants.<\/p>\n<p>La troncature hyperbolique r\u00e9duit une base de commande de 20 param\u00e8tres, de 1&nbsp;771 \u00e0 environ 200 \u00e0 400 termes selon Q.<\/p>\n<h3>Lasso et r\u00e9gression r\u00e9gularis\u00e9e<\/h3>\n<p>Lasso (moins absolu de retrait et de s\u00e9lection) effectue une r\u00e9gression avec une p\u00e9nalit\u00e9 L1 :<\/p>\n<pre><code>min (||\u03a6c||\u00b2 + \u03bb ||c||\u2081)\n<\/code><\/pre>\n<p>La p\u00e9nalit\u00e9 L1 entra\u00eene exactement de nombreux coefficients \u00e0 z\u00e9ro, produisant une solution clairsem\u00e9e. Elastic Net combine les p\u00e9nalit\u00e9s L1 et L2 pour g\u00e9rer les pr\u00e9dicteurs corr\u00e9l\u00e9s :<\/p>\n<pre><code>min (||\u03a6c||\u00b2 + \u03bb\u2081 ||c||\u2081 + \u03bb\u2082 ||c||\u2082\u00b2)\n<\/code><\/pre>\n<p>Le PCE sparse bas\u00e9 sur Lasso est impl\u00e9ment\u00e9 dans UQPY AS <code>HyperbolicTruncLARS<\/code> (troncature hyperbolique avec r\u00e9gression du moindre angle). Le flux de travail&nbsp;:<\/p>\n<pre><code class=\"language-python\">from uqpy.surrogates import HyperbolicTruncLARS\nfrom uqpy.distributions import MultivariateGaussian, Uniform\n\n# Define distributions\ndist = MultivariateGaussian(np.zeros(5), np.eye(5))\n\n# Generate samples and run model\nsamples = dist.sample(n=500)\ny_train = model_function(samples)\n\n# Build sparse PCE with q=0.5\npce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)\npce.fit(samples, y_train)\n\n# Validate\nvalidation_samples = dist.sample(n=100)\ny_pred = pce.predict(validation_samples)\nrmse = np.sqrt(np.mean((y_pred - y_test)**2))\n<\/code><\/pre>\n<h3>Grilles clairsem\u00e9es de Smolyak<\/h3>\n<p>La construction de Smolyak combine des r\u00e8gles de quadrature univari\u00e9es \u00e0 l'aide de la formule de la grille parcise&nbsp;:<\/p>\n<pre><code>Q\u2098 = \u03a3_{|k|=m} (-1)^(m-|k|) \u00b7 \u03a0\u1d62 Q_{k\u1d62}\n<\/code><\/pre>\n<p>o\u00f9 q_d est l'op\u00e9ratrice en quadrature d-dimensionnelle et |k| = \u03c3 k\u1d62. Les grilles de Smolyak r\u00e9duisent le nombre de points multidimensionnels de la croissance exponentielle \u00e0 la croissance polynomiale dans la dimension. Ils sont plus efficaces lorsque la r\u00e9ponse est fluide et que les interactions d'ordre faible dominent.<\/p>\n<h2>Lorsque PCE est efficace<\/h2>\n<p>Le PCE converge de mani\u00e8re exponentielle pour des r\u00e9ponses fluides du mod\u00e8le. Le taux de convergence d\u00e9pend de :<\/p>\n<ul>\n<li><strong>lisse<\/strong>&nbsp;: les r\u00e9ponses analytiques convergent g\u00e9om\u00e9triquement. Les r\u00e9ponses lisses par morceaux convergent alg\u00e9briquement.<\/li>\n<li><strong>Dimensions effectives<\/strong>&nbsp;: m\u00eame avec 50&nbsp;param\u00e8tres nominaux, si seulement 5 contr\u00f4lent la r\u00e9ponse, le PCE converge sur 5&nbsp;dimensions.<\/li>\n<li><strong>Interactions de param\u00e8tres<\/strong>&nbsp;: les interactions fortes d'ordre sup\u00e9rieur augmentent la taille de base requise.<\/li>\n<li><strong>Qualit\u00e9 de conception exp\u00e9rimentale<\/strong>&nbsp;: les s\u00e9quences de SOBOL ou les grilles en quadrature clairsem\u00e9es fonctionnent mieux qu'un \u00e9chantillonnage al\u00e9atoire uniforme.<\/li>\n<\/ul>\n<h3>Contexte de r\u00e9f\u00e9rence<\/h3>\n<ul>\n<li>PCE fournit des moments analytiques et des indices SOBOL une fois ajust\u00e9s, sans aucune \u00e9valuation de mod\u00e8le suppl\u00e9mentaire.<\/li>\n<li>L'approche de r\u00e9gression traite le simulateur comme une bo\u00eete noire.<\/li>\n<li>Les m\u00e9thodes clairsem\u00e9es peuvent \u00e9tendre le PCE \u00e0 environ 50&nbsp;param\u00e8tres incertains lorsque le mod\u00e8le pr\u00e9sente des interactions clairsem\u00e9es.<\/li>\n<li>L'\u00e9cosyst\u00e8me Python UQ comprend Chaospy, UQPY, SALIB, SMT et UncertainPy.<\/li>\n<\/ul>\n<h2>PCE vs Kriging vs r\u00e9seaux neuronaux<\/h2>\n<p>PCE est un substitut parmi tant d'autres. Comprendre les compromis vous aide \u00e0 choisir la m\u00e9thode adapt\u00e9e \u00e0 votre probl\u00e8me.<\/p>\n<table>\n<thead>\n<tr>\n<th>Dimensions<\/th>\n<th>M\u00e9thode<\/th>\n<th>Donn\u00e9es n\u00e9cessaires<\/th>\n<th>interpr\u00e9tabilit\u00e9<\/th>\n<th>dimensionnalit\u00e9<\/th>\n<th>Extraction UQ<\/th>\n<th>Indices de SOBOL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>indice<\/td>\n<td>R\u00e9gression polynomiale \/ quadrature<\/td>\n<td>N_termes \u00d7 1,5<\/td>\n<td>\u00c9LEV\u00c9 (Coefficients de la carte de la variance)<\/td>\n<td>Mod\u00e9r\u00e9 (sparse s'\u00e9tend \u00e0 ~50)<\/td>\n<td>Moments analytiques exacts<\/td>\n<td>Exact (groupement de coefficients)<\/td>\n<\/tr>\n<tr>\n<td>Krige (processus gaussien)<\/td>\n<td>Interpolation bas\u00e9e sur la corr\u00e9lation<\/td>\n<td>~10-50 \u00d7 d<\/td>\n<td>Moyenne (structure de corr\u00e9lation)<\/td>\n<td>Faiblement mod\u00e9r\u00e9 (~10-30)<\/td>\n<td>Intervalles de pr\u00e9diction<\/td>\n<td>Non (d\u00e9riv\u00e9 num\u00e9rique n\u00e9cessaire)<\/td>\n<\/tr>\n<tr>\n<td>R\u00e9seaux de neurones<\/td>\n<td>Architecture profonde \/ peu profonde<\/td>\n<td>Des centaines \u00e0 des milliers<\/td>\n<td>Faible (bo\u00eete noire)<\/td>\n<td>\u00c9lev\u00e9 (100+ possibles)<\/td>\n<td>Non (pas de mod\u00e8le UQ inh\u00e9rent)<\/td>\n<td>Non (sensibilit\u00e9 par perturbation)<\/td>\n<\/tr>\n<tr>\n<td>Mod\u00e8les d'ordre r\u00e9duit<\/td>\n<td>Projection \/ orthogonale appropri\u00e9e<\/td>\n<td>sp\u00e9cifique au probl\u00e8me<\/td>\n<td>Moyenne (vecteurs de projection)<\/td>\n<td>\u00c9lev\u00e9 (Physique embarqu\u00e9e)<\/td>\n<td>Non (projection d\u00e9terministe)<\/td>\n<td>Non<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Le PCE est le seul substitut qui donne des indices analytiques exacts de SOBOL \u00e0 partir des coefficients. Le krigeage donne des intervalles de pr\u00e9diction mais n\u00e9cessite une diff\u00e9renciation num\u00e9rique pour la sensibilit\u00e9. Les r\u00e9seaux de neurones n\u00e9cessitent une sensibilit\u00e9 bas\u00e9e sur la perturbation. Les mod\u00e8les d'ordre r\u00e9duit sont des projections d\u00e9terministes.<\/p>\n<h3>Quand choisir PCE<\/h3>\n<p>Le PCE est le meilleur choix lorsque :<\/p>\n<ol>\n<li><strong>Vous avez besoin de moments analytiques et d'indices de sensibilit\u00e9<\/strong>&nbsp;: les coefficients vous donnent des indices E[Y], var(y) et SOBOL sans calcul suppl\u00e9mentaire.<\/li>\n<li><strong>La r\u00e9ponse est lisse et de faible dimension<\/strong>&nbsp;: les r\u00e9ponses analytiques convergent g\u00e9om\u00e9triquement dans le PCE.<\/li>\n<li><strong>Vous avez besoin de Monte Carlo rapide sur le substitut<\/strong>&nbsp;: une fois install\u00e9, l'\u00e9valuation du polyn\u00f4me est O(1). Ceci est inestimable pour l'analyse de fiabilit\u00e9 ou l'estimation des probabilit\u00e9s de seuil.<\/li>\n<li><strong>Le simulateur est mod\u00e9r\u00e9ment co\u00fbteux<\/strong>&nbsp;: si chaque \u00e9valuation prend quelques minutes \u00e0 quelques heures, un PCE de 100 \u00e0 500&nbsp;points est r\u00e9alisable.<\/li>\n<\/ol>\n<h3>Quand \u00e9viter le PCE<\/h3>\n<p>\u00c9vitez PCE lorsque&nbsp;:<\/p>\n<ol>\n<li><strong>La r\u00e9ponse est discontinue<\/strong>&nbsp;: le ph\u00e9nom\u00e8ne de Gibbs produit des oscillations proches des discontinuit\u00e9s. Utilisez PCE multi-\u00e9l\u00e9ments ou un substitut hybride.<\/li>\n<li><strong>Vous avez besoin d'un mod\u00e8le de grande dimension<\/strong>&nbsp;: m\u00eame le PCE clairsem\u00e9 devient instable au-del\u00e0 de ~&nbsp;50&nbsp;param\u00e8tres sans parcimonie v\u00e9rifi\u00e9e.<\/li>\n<li><strong>La r\u00e9ponse est hautement non lin\u00e9aire avec un comportement de seuil \u00e9lev\u00e9<\/strong>&nbsp;: le PCE lisse les seuils. Utilisez plut\u00f4t Monte Carlo ou QMC al\u00e9atoire.<\/li>\n<li><strong>Les donn\u00e9es sont extr\u00eamement rares<\/strong>&nbsp;: avec moins de 20&nbsp;points d'entra\u00eenement, PCE n'est pas fiable. Les surfaces de r\u00e9ponse de krige ou polynomiale peuvent \u00eatre plus robustes.<\/li>\n<\/ol>\n<h2>Le ph\u00e9nom\u00e8ne Gibbs<\/h2>\n<p>Le ph\u00e9nom\u00e8ne Gibbs est le mode de d\u00e9faillance le plus fondamental du PCE standard. Pour les r\u00e9ponses discontinues, les \u00e9v\u00e9nements de seuil, les changements de contact ou les d\u00e9faillances du solveur, l'approximation polynomiale produit des oscillations non physiques pr\u00e8s de la discontinuit\u00e9. Ceci est math\u00e9matiquement identique aux oscillations observ\u00e9es lors de l'approximation d'une fonction de pas avec une s\u00e9rie de Fourier.<\/p>\n<p>Pour une r\u00e9ponse fluide, le PCE converge rapidement. Pour une r\u00e9ponse avec une discontinuit\u00e9 \u00e0 un seul saut, le polyn\u00f4me oscille avec une amplitude proportionnelle \u00e0 la hauteur de saut et ne d\u00e9croissant que 1\/\u221aN. L'augmentation de l'ordre polynomial aggrave l'oscillation, pas meilleure.<\/p>\n<h3>Strat\u00e9gies d'att\u00e9nuation<\/h3>\n<p><strong>PCE multi-\u00e9l\u00e9ments (ME-PCE)<\/strong>&nbsp;: le domaine d'entr\u00e9e est partitionn\u00e9 en sous-r\u00e9gions. Un polyn\u00f4me s\u00e9par\u00e9 est install\u00e9 dans chaque sous-r\u00e9gion, avec une continuit\u00e9 appliqu\u00e9e aux limites. Il s'agit de l'approche la plus fiable pour les r\u00e9ponses discontinues.<\/p>\n<p><strong>Hybride du chaos-krige polynomial<\/strong>&nbsp;: un PCE capture la composante lisse de la r\u00e9ponse, tandis qu'un mod\u00e8le de krigeage capture la discontinuit\u00e9 r\u00e9siduelle. Cela met \u00e0 profit les atouts des deux m\u00e9thodes.<\/p>\n<p><strong>Chaos polynomial rationnel<\/strong>&nbsp;: les approximations de Pad\u00e9-Legendre utilisent un rapport de polyn\u00f4mes au lieu d'un seul polyn\u00f4me. La forme rationnelle peut repr\u00e9senter des sauts discontinus avec plus de pr\u00e9cision qu'un polyn\u00f4me pur.<\/p>\n<p><strong>D\u00e9composition du domaine d'apprentissage actif<\/strong>&nbsp;: Nov\u00e1k et al. (2023) ont introduit une approche s\u00e9quentielle o\u00f9 le domaine d'entr\u00e9e est d\u00e9compos\u00e9 de mani\u00e8re it\u00e9rative en fonction du comportement du mod\u00e8le dans chaque r\u00e9gion. Il s'agit de l'approche la plus flexible pour les r\u00e9ponses discontinues complexes.<\/p>\n<h2>Guide de mise en \u0153uvre de Python<\/h2>\n<h3>chaos<\/h3>\n<p>Chaospy est une biblioth\u00e8que cibl\u00e9e pour les distributions PCE et de probabilit\u00e9. Il ne vise pas \u00e0 \u00eatre un framework UQ tout-en-un.<\/p>\n<pre><code class=\"language-python\">import chaospy as cp\nimport numpy as np\n\n# Independent uncertain parameters\ndistribution = cp.J(\n    cp.Uniform(0.8, 1.2),\n    cp.Normal(2.0, 0.1)\n)\n\n# Total-degree polynomial basis\norder = 3\nexpansion = cp.generate_expansion(order, distribution)\n\n# Experimental design (Sobol)\nsamples = distribution.sample(100, rule='sobol')\n\n# Model evaluations\ndef model(sample):\n    conductivity = sample[0]\n    source = sample[1]\n    return source \/ conductivity + 0.2 * conductivity**2\n\nevaluations = np.array([model(samples[:, i]) for i in range(samples.shape[1])])\n\n# Fit PCE by regression\napproximation = cp.fit_regression(expansion, samples.T, evaluations)\n\n# Extract statistics (analytical, no additional model evaluations)\nmean = cp.E(approximation, distribution)\nvariance = cp.Var(approximation, distribution)\nfirst_order = cp.Sens_m(approximation, distribution)\ntotal_order = cp.Sens_t(approximation, distribution)\n\nprint(f\"Mean: {mean}\")\nprint(f\"Standard deviation: {np.sqrt(variance)}\")\nprint(f\"First-order Sobol: {first_order}\")\nprint(f\"Total-order Sobol: {total_order}\")\n<\/code><\/pre>\n<h3>uqy<\/h3>\n<p>UQPY fournit des PCE, LARS et des utilitaires de validation \u00e9tendus.<\/p>\n<pre><code class=\"language-python\">from uqpy.distributions import MultivariateGaussian\nfrom uqpy.surrogates import HyperbolicTruncLARS, MonteCarlo\nimport numpy as np\n\n# Define distribution\ndist = MultivariateGaussian(np.zeros(5), np.eye(5))\n\n# Generate samples and run model\nsamples = dist.sample(n=500)\ny_train = np.array([model_function(x) for x in samples])\n\n# Build sparse PCE\npce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)\npce.fit(samples, y_train)\n\n# Validate on independent test points\ntest_samples = dist.sample(n=100)\ny_pred = pce.predict(test_samples)\ny_test = np.array([model_function(x) for x in test_samples])\n\n# Root mean squared error\nrmse = np.sqrt(np.mean((y_pred - y_test)**2))\nprint(f\"RMSE: {rmse}\")\n\n# Monte Carlo uncertainty propagation on the surrogate\nn_mc = 10000\nmc_samples = dist.sample(n_mc)\nmc_predictions = pce.predict(mc_samples)\n\nmc_mean = np.mean(mc_predictions)\nmc_std = np.std(mc_predictions)\nprint(f\"MC propagation mean: {mc_mean}\")\nprint(f\"MC propagation std: {mc_std}\")\n<\/code><\/pre>\n<h3>PCE r\u00e9gularis\u00e9 Scikit-learn<\/h3>\n<p>Pour les projets qui utilisent d\u00e9j\u00e0 la r\u00e9gression Scikit-Learn, Ridge ou Lasso est simple.<\/p>\n<pre><code class=\"language-python\">import numpy as np\nfrom sklearn.preprocessing import PolynomialFeatures\nfrom sklearn.linear_model import Lasso\n\n# Generate Sobol samples\nN = 300\nd = 4\nfrom scipy.stats import qmc\nsampler = qmc.Sobol(d)\nsample = sampler.random(base2=np.ceil(np.log2(N)).astype(int))\n\n# Model evaluations\ny = np.array([model_function(row) for row in sample])\n\n# Polynomial features with hyperbolic truncation (manual basis selection)\npoly = PolynomialFeatures(degree=2, include_bias=False)\nPhi = poly.fit_transform(sample)\n\n# LASSO regression\nlasso = Lasso(alpha=1e-3)\nc = lasso.fit(Phi, y).coef_\n\nprint(f\"Non-zero coefficients: {np.sum(c != 0)} out of {len(c)}\")\nprint(f\"Coefficients: {c}\")\n<\/code><\/pre>\n<h2>Validation d'un substitut PCE<\/h2>\n<p>Un substitut PCE ne doit jamais \u00eatre approuv\u00e9 sans validation. Les coefficients polynomiaux fournissent des moments exacts, mais ces moments n'ont aucun sens si le substitut ne se rapproche pas du mod\u00e8le avec pr\u00e9cision.<\/p>\n<h3>Protocole de validation<\/h3>\n<ol>\n<li><strong>G\u00e9n\u00e9rer des points de validation<\/strong>&nbsp;: ind\u00e9pendant de la formation. Utilisez des s\u00e9quences de SOBOL ou un \u00e9chantillonnage hypercube latin.<\/li>\n<li><strong>Calculez RMSE et erreur maximale<\/strong>&nbsp;: comparez les pr\u00e9dictions PCE avec les v\u00e9ritables \u00e9valuations de mod\u00e8les aux points de validation.<\/li>\n<li><strong>Pr\u00e9cision du moment de v\u00e9rification<\/strong>&nbsp;: comparez la moyenne et la variance extraites du PCE par rapport aux estimations de Monte Carlo sur l'ensemble de validation.<\/li>\n<li><strong>Stabilit\u00e9 de la sensibilit\u00e9 du moniteur<\/strong>&nbsp;: si les indices de SOBOL changent de mani\u00e8re significative entre l'entra\u00eenement et la validation, le PCE n'est pas converg\u00e9.<\/li>\n<li><strong>V\u00e9rifier les oscillations de Gibbs<\/strong>&nbsp;: tracer les pr\u00e9dictions PCE par rapport \u00e0 une grille. Les oscillations non lisses indiquent un \u00e9chec de r\u00e9ponse discontinu.<\/li>\n<\/ol>\n<h3>Surveillance de la convergence<\/h3>\n<p>Suivez l'ordre polynomial et le nombre de points d'entra\u00eenement. \u00c0 mesure que les deux augmentent, le RMSE devrait diminuer de mani\u00e8re monotone. Si RMSE stagne ou augmente avec un ordre plus \u00e9lev\u00e9, la base est de surajuster les donn\u00e9es d'entra\u00eenement.<\/p>\n<pre><code class=\"language-python\"># Monitoring convergence as polynomial order increases\nfor order in [2, 3, 4, 5]:\n    expansion = cp.generate_expansion(order, distribution)\n    samples = distribution.sample(N)\n    evaluations = np.array([model(s) for s in samples])\n    pce = cp.fit_regression(expansion, samples.T, evaluations)\n    \n    # Validate\n    test = distribution.sample(N_test)\n    y_pred = np.array([pce(s) for s in test])\n    y_true = np.array([model(s) for s in test])\n    \n    rmse = np.sqrt(np.mean((y_pred - y_true)**2))\n    print(f\"Order {order}: RMSE = {rmse:.6f}\")\n<\/code><\/pre>\n<h2>erreurs courantes et comment les \u00e9viter<\/h2>\n<h3>1. Base polynomiale incompatible<\/h3>\n<p>L'utilisation des polyn\u00f4mes de Legendre pour les entr\u00e9es gaussiennes d\u00e9truit l'orthogonalit\u00e9. Les coefficients deviennent biais\u00e9s et l'extraction du moment n'est pas valide. Associez toujours la famille polynomiale \u00e0 la distribution d'entr\u00e9e.<\/p>\n<h3>2. Surajustement de la base polynomiale<\/h3>\n<p>Une base de degr\u00e9 5 en 10 param\u00e8tres a 2&nbsp;002&nbsp;termes. Avec 2 000 points d'entra\u00eenement, la r\u00e9gression est \u00e0 peine stable. Utilisez des crit\u00e8res d'information (AIC, BIC) ou une validation crois\u00e9e pour s\u00e9lectionner l'ordre polynomial.<\/p>\n<h3>3. Faire confiance aux moments PCE sans validation<\/h3>\n<p>La moyenne et la variance extraites des coefficients PCE sont des expressions math\u00e9matiques exactes. Mais ils ne sont valables que si l'approximation polynomiale est exacte. Toujours valider par rapport aux points de test ind\u00e9pendants avant les moments de rapport.<\/p>\n<h3>4. Ignorer le ph\u00e9nom\u00e8ne de Gibbs<\/h3>\n<p>Pour les r\u00e9ponses discontinues, le polyn\u00f4me oscille pr\u00e8s des discontinuit\u00e9s. Signalez le RMSE sur une grille qui inclut les r\u00e9gions de discontinuit\u00e9. Si le RMSE est domin\u00e9 par quelques points oscillatoires, le PCE n'est pas valide.<\/p>\n<h3>5. Supposer de la parcimonie sans v\u00e9rifier<\/h3>\n<p>La troncature lasso ou hyperbolique suppose que la r\u00e9ponse du mod\u00e8le est domin\u00e9e par des interactions d'ordre faible. Si le vrai mod\u00e8le a de fortes interactions d'ordre \u00e9lev\u00e9, le PCE clairsem\u00e9 leur manquera. V\u00e9rifier la parcimonie en comparant les normes de coefficient des bases compl\u00e8tes et parcimonieuses.<\/p>\n<h2>R\u00e9sum\u00e9 et \u00e9tapes suivantes<\/h2>\n<p>L'expansion du chaos polynomial convertit un simulateur d\u00e9terministe en un substitut stochastique qui fournit un acc\u00e8s analytique aux statistiques de sortie, aux intervalles d'incertitude et aux indices de sensibilit\u00e9. La m\u00e9thode excelle lorsque la r\u00e9ponse est lisse, la dimensionnalit\u00e9 est mod\u00e9r\u00e9e et le co\u00fbt de calcul est suffisamment \u00e9lev\u00e9 pour justifier la construction de substitution.<\/p>\n<h3>Flux de travail recommand\u00e9<\/h3>\n<ol>\n<li><strong>V\u00e9rifier la convergence num\u00e9rique<\/strong> du simulateur d\u00e9terministe avant uq. Une erreur de discr\u00e9tisation et une incertitude num\u00e9rique doivent \u00eatre \u00e9tablies avant la propagation.<\/li>\n<li><strong>Attribuez des distributions \u00e0 partir de donn\u00e9es exp\u00e9rimentales<\/strong> ou un jugement d'expert document\u00e9. Ne pas utiliser par d\u00e9faut les distributions uniformes.<\/li>\n<li><strong>S\u00e9lectionnez la base polynomiale<\/strong> en faisant correspondre les distributions aux polyn\u00f4mes orthogonaux. V\u00e9rifier les conditions d'orthonormalit\u00e9.<\/li>\n<li><strong>Choisissez une m\u00e9thode d'estimation des coefficients<\/strong>&nbsp;: r\u00e9gression pour PCE non intrusif, quadrature pour des cas de faible dimension efficaces, collocation pour les mod\u00e8les bon march\u00e9.<\/li>\n<li><strong>Valider le substitut<\/strong> par rapport aux points de test ind\u00e9pendants et surveiller la convergence avec l'augmentation de l'ordre polynomial.<\/li>\n<li><strong>Signalez les moments et les indices de sensibilit\u00e9<\/strong> uniquement apr\u00e8s validation. Incluez des intervalles de confiance pour les statistiques estim\u00e9es.<\/li>\n<\/ol>\n<h3>Ce qu'il faut \u00e9viter<\/h3>\n<ul>\n<li>Utilisation du PCE pour les r\u00e9ponses discontinues sans att\u00e9nuation<\/li>\n<li>En supposant que le PCE parcimonieux fonctionne pour chaque probl\u00e8me de grande dimension<\/li>\n<li>Signaler des moments PCE sans validation<\/li>\n<li>PCE non intrusif d\u00e9routant avec Galerkin stochastique intrusif<\/li>\n<li>Utilisation de bases polynomiales compl\u00e8tes dans les probl\u00e8mes o\u00f9 la taille de base d\u00e9passe l'ensemble d'entra\u00eenement<\/li>\n<\/ul>\n<h2>Guides connexes<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/uncertainty-quantification-sensitivity-analysis-scientific-simulation\/\">Quantification de l'incertitude et analyse de sensibilit\u00e9 dans la simulation scientifique<\/a> - flux de travail UQ plus large, analyse de sensibilit\u00e9 Sobol, m\u00e9thodes de Monte Carlo et outils Python UQ.<\/li>\n<li><a href=\"https:\/\/matforge.org\/monte-carlo-methods-for-scientific-simulations\/\">M\u00e9thodes de Monte-Carlo pour les simulations scientifiques<\/a> \u2014 Comparer les \u00e9chantillonnages al\u00e9atoires, QMC, LHS et les comportements de convergence PCE.<\/li>\n<li><a href=\"https:\/\/matforge.org\/machine-learning-surrogates-scientific-simulations\/\">substatives d'apprentissage automatique pour les simulations scientifiques<\/a> - Construire et valider les r\u00e9seaux de neurones et les substituts gaussiens PCE.<\/li>\n<li><a href=\"https:\/\/matforge.org\/verification-vs-validation-in-scientific-simulations-a-practical-guide\/\">V\u00e9rification vs validation dans les simulations scientifiques<\/a> \u2014 \u00c9tablissez une convergence num\u00e9rique avant de lancer une campagne UQ.<\/li>\n<\/ul>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Caflisch, R.E., &amp; Mosolova, N. (1998). M\u00e9thodes Monte Carlo et Quasi-Monte Carlo. Rapport UCLA CAM.<\/li>\n<li>Nov\u00e1k et al. (2023). Domaine d'apprentissage actif Surrogate localis\u00e9e adaptative. <em>M\u00e9thodes informatiques en m\u00e9canique appliqu\u00e9e et en ing\u00e9nierie<\/em>. <a href=\"https:\/\/www.sciencedirect.com\/science\/article\/abs\/pii\/S0888327023006362\" target=\"_blank\" rel=\"nofollow noopener\">doi<\/a><\/li>\n<li>Schneider (2023). Expansion du chaos polynomial rationnel. th\u00e8se de Tum. <a href=\"https:\/\/mediatum.ub.tum.de\/doc\/1779181\/o49dteqnqdu3dcf3r6r50dqfd.manuscript_final.pdf\" target=\"_blank\" rel=\"nofollow noopener\">PDF<\/a><\/li>\n<li>Dictionnaire UQ de Helmholtz. Entr\u00e9e d'extension du chaos polynomial. <a href=\"https:\/\/dictionary.helmholtz-uq.de\/content\/PCE.html\" target=\"_blank\" rel=\"nofollow noopener\">URL<\/a><\/li>\n<li>Centre d'apprentissage COMSOL. Th\u00e9orie de la mod\u00e9lisation de substitution et PCE. <a href=\"https:\/\/www.comsol.com\/support\/learning-center\/course\/surrogate-modeling-theory-271\/more-on-pce-surrogate-models-97121\" target=\"_blank\" rel=\"nofollow noopener\">URL<\/a><\/li>\n<\/ul>\n<h2>Besoin d'aide pour cr\u00e9er des substituts PCE pour vos simulations ?<\/h2>\n<p>Si vous avez des difficult\u00e9s avec l'impl\u00e9mentation du chaos polynomial, la s\u00e9lection de base, la r\u00e9gularisation PCE clairsem\u00e9e ou la validation de substitution, nous pouvons vous aider. Nous nous sp\u00e9cialisons dans les flux de travail de quantification de l'incertitude bas\u00e9 sur Python et pouvons vous guider, des scripts PCE de base aux pipelines de substitution de cat\u00e9gorie de production.<\/p>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 13<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>L&rsquo;expansion du chaos polynomial est une technique de mod\u00e9lisation de substitution qui remplace une simulation co\u00fbteuse par une s\u00e9rie de polyn\u00f4mes orthogonaux dont les coefficients peuvent \u00eatre utilis\u00e9s pour estimer directement l&rsquo;incertitude. Une fois install\u00e9, un substitut PCE vous donne un acc\u00e8s analytique aux moyens de sortie, aux \u00e9carts, aux intervalles de confiance et aux [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"fr_FR","_original_post":"https:\/\/matforge.org\/?p=536","iawp_total_views":1,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1220","post","type-post","status-publish","format-standard","hentry","category-fipy-documentation-examples-development","fr-FR"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Expansion du chaos polynomial : substituts rapides pour la propagation de l&#039;incertitude - matforge.org<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Expansion du chaos polynomial : substituts rapides pour la propagation de l&#039;incertitude - matforge.org\" \/>\n<meta property=\"og:description\" content=\"Reading Time:  13 minutesL&rsquo;expansion du chaos polynomial est une technique de mod\u00e9lisation de substitution qui remplace une simulation co\u00fbteuse par une s\u00e9rie de polyn\u00f4mes orthogonaux dont les coefficients peuvent \u00eatre utilis\u00e9s pour estimer directement l&rsquo;incertitude. Une fois install\u00e9, un substitut PCE vous donne un acc\u00e8s analytique aux moyens de sortie, aux \u00e9carts, aux intervalles de confiance et aux [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-21T14:28:43+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Expansion du chaos polynomial : substituts rapides pour la propagation de l&rsquo;incertitude\",\"datePublished\":\"2026-08-21T14:28:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/\"},\"wordCount\":3712,\"commentCount\":0,\"articleSection\":[\"FIPY : documentation, exemples &amp; D\u00e9veloppement\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/\",\"name\":\"Expansion du chaos polynomial : substituts rapides pour la propagation de l'incertitude - matforge.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-08-21T14:28:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/fr\\\/polynomial-chaos-expansions-surrogate-methods\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expansion du chaos polynomial : substituts rapides pour la propagation de l&#8217;incertitude\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Expansion du chaos polynomial : substituts rapides pour la propagation de l'incertitude - matforge.org","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/","og_locale":"fr_FR","og_type":"article","og_title":"Expansion du chaos polynomial : substituts rapides pour la propagation de l'incertitude - matforge.org","og_description":"Reading Time:  13 minutesL&rsquo;expansion du chaos polynomial est une technique de mod\u00e9lisation de substitution qui remplace une simulation co\u00fbteuse par une s\u00e9rie de polyn\u00f4mes orthogonaux dont les coefficients peuvent \u00eatre utilis\u00e9s pour estimer directement l&rsquo;incertitude. Une fois install\u00e9, un substitut PCE vous donne un acc\u00e8s analytique aux moyens de sortie, aux \u00e9carts, aux intervalles de confiance et aux [&hellip;]","og_url":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/","og_site_name":"matforge.org","article_published_time":"2026-08-21T14:28:43+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Elena Markovska","Dur\u00e9e de lecture estim\u00e9e":"21 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Expansion du chaos polynomial : substituts rapides pour la propagation de l&rsquo;incertitude","datePublished":"2026-08-21T14:28:43+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/"},"wordCount":3712,"commentCount":0,"articleSection":["FIPY : documentation, exemples &amp; D\u00e9veloppement"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/","url":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/","name":"Expansion du chaos polynomial : substituts rapides pour la propagation de l'incertitude - matforge.org","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-08-21T14:28:43+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"breadcrumb":{"@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/fr\/polynomial-chaos-expansions-surrogate-methods\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/"},{"@type":"ListItem","position":2,"name":"Expansion du chaos polynomial : substituts rapides pour la propagation de l&#8217;incertitude"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=1220"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1220\/revisions"}],"predecessor-version":[{"id":1370,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/1220\/revisions\/1370"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=1220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=1220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=1220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}