Reading Time: 13 minutes

L’expansion du chaos polynomial est une technique de modélisation de substitution qui remplace une simulation coûteuse par une série de polynômes orthogonaux dont les coefficients peuvent être utilisés pour estimer directement l’incertitude. Une fois installé, un substitut PCE vous donne un accès analytique aux moyens de sortie, aux écarts, aux intervalles de confiance et aux indices de sensibilité SOBOL sans exécuter une seule simulation supplémentaire.

Cet article couvre le PCE, de la base théorique à la mise en œuvre pratique. Vous verrez exactement comment les bases polynomiales sont sélectionnées, comment les coefficients sont estimés par régression, quadrature ou projection, comment les techniques d’aspect sommaire étendent le PCE à des dimensions modérées et les modes de défaillance cassent le PCE standard. Les exemples Python inclus utilisent Chaospy, UQPY et Scikit-Learn pour afficher des flux de travail complets et validés.

Points à retenir clés

  • PCE remplace l’échantillonnage aléatoire par une approximation déterministe : au lieu de dessiner des milliers d’échantillons de Monte Carlo, le PCE adapte un polynôme à la réponse du modèle. Les coefficients polynomiaux fournissent alors des moments analytiques et des indices de sensibilité.
  • La base polynomiale doit correspondre à la distribution d’entrée : legendre pour l’uniforme, hermite pour gaussienne, laguerre pour exponentielle. Une base incompatible détruit l’orthogonalité et invalide toutes les estimations de coefficients.
  • PCE non intrusif est le choix par défaut pour la plupart des flux de travail : vous conservez votre simulateur comme boîte noire, l’évaluez aux points d’entraînement et estimez les coefficients via la régression. Cela évite de modifier les équations du solveur.
  • Méthodes PCE parcimonieuses gèrent ~50 paramètres : les grilles de troncature hyperbolique, de lasso et de smolyak réduisent considérablement la taille de la base polynomiale. Ils fonctionnent lorsque la réponse du modèle a des interactions dominantes d’ordre inférieur, mais l’hypothèse de parcimonie doit être vérifiée.
  • PCE n’est pas universel : les réponses discontinues, les événements de seuil, les changements de contact et les défaillances du solveur produisent des oscillations non physiques (le phénomène de Gibbs). Lorsque la réponse est discontinue, utilisez le PCE multi-éléments, le chaos polynomial rationnel ou un substitut hybride.

Comment fonctionne l’extension du chaos polynomial

L’expansion du chaos polynomial représente une sortie de modèle comme une somme pondérée des polynômes orthogonaux. Considérons une sortie scalaire Y qui dépend d’un vecteur d’entrée x :

Y = M(X)

L’approximation PCE remplace M(x) par un polynôme :

Y(X) ≈ Σ cₖ Ψₖ(X)

Ici, ψₖ sont des polynômes orthogonaux multivariés et Cₖ sont des coefficients déterministes. L’ensemble des polynômes doit être orthogonal par rapport à la distribution de probabilité d’entrée, et les coefficients sont déterminés par la méthode d’estimation choisie.

Polynômes orthogonaux et correspondance de distribution

La famille polynomiale est liée directement à la distribution d’entrée. Ce n’est pas un choix de conception – c’est une exigence mathématique pour l’orthogonalité.

Distribution Polynôme orthogonal Normalisation
Uniforme [-1, 1] gemme Pₙ(ξ) = (1/n!)·Dⁿ/Dξⁿ[(ξ²-1)ⁿ]
Normale standard N(0,1) ermite Hₙ(ξ) = (-1)ⁿ·E(ξ²/2)·Dⁿ/Dξⁿ[E(-ξ²/2)]
λ=1 exponentiel laguerre lₙ(ξ) = (1/n !)·e^ξ·dⁿ/dξⁿ[ξⁿ]
Bêta [a, b] Jacobi Polynômes de Jacobi généralisés
poisson charlier Polynômes orthogonaux discrets

La condition d’orthonormalité indique :

∫ Ψᵢ(ξ) Ψⱼ(ξ) w(ξ) dξ = δᵢⱼ

où w(ξ) est la densité de probabilité de la distribution d’entrée et Δᵢⱼ est le delta de Kronecker. Lorsque cette condition est valable, les coefficients PCE se rapportent directement aux statistiques de sortie via l’identité de Parseval.

Construction polynomiale multivariée

Lorsque les entrées sont indépendantes, la base polynomiale multivariée est un produit tenseur de polynômes univariés :

Ψₖ(X) = Π ψₖᵢ(Xᵢ)

Pour une base totale de degrés de commande P dans des paramètres incertains, le nombre de termes est :

N = (d + p)! / (d! · p!)

Pour 20 paramètres et ordre trois, cela produit 1 771 termes. Une régression stable nécessite généralement plus de points d’entraînement que de coefficients, de sorte que la demande de calcul augmente rapidement.

PCE non intrusif ou intrusif

Il existe deux approches fondamentalement différentes pour construire un PCE. L’approche non intrusive traite le simulateur comme une boîte noire. L’approche intrusive reformule les équations régissants.

PCE non intrusif

Le PCE non intrusif évalue le simulateur déterministe à des points sélectionnés dans l’espace d’incertitude et s’adapte à une régression polynomiale. Le flux de travail :

  1. Sélectionnez une base polynomiale alignée avec les distributions d’entrée.
  2. Générez des points d’entraînement (quadrature ou échantillonnage).
  3. Exécutez le simulateur à ces points.
  4. Estimez les coefficients d’expansion.
  5. Valider sur des points de test indépendants.

Cette approche n’ajoute aucune modification du solveur. Vous pouvez envelopper un CFD, un FEM, un champ de phase ou un modèle moléculaire existant et obtenir un substitut PCE sans modifier aucun code interne.

PCE intrusif (Galerkin stochastique)

Le PCE intrusif substitue l’expansion polynomiale directement dans les équations gouvernantes et dérive un système déterministe couplé pour les coefficients. Pour un modèle simple :

∂u/∂t = L(u) + f → Σ ∂cₖΨₖ/∂t = L(Σ cₖΨₖ) + f

Après avoir projeté sur chaque fonction de base, le système couplé résout simultanément tous les coefficients. Cela peut être plus efficace car il utilise la structure complète des équations, mais cela nécessite de modifier le solveur pour gérer le système couplé. Pour la plupart des flux de travail de production, l’approche intrusive n’est pas pratique – l’approche de régression non intrusive est préférée.

Comment estimer les coefficients PCE

La méthode d’estimation des coefficients détermine à la fois la précision et le coût de calcul. Il existe trois approches principales.

Estimation basée sur la régression

L’approche de régression non intrusive est la plus utilisée. Il échantillonne les points d’entrée, évalue le modèle et ajuste le polynôme par régression linéaire :

y ≈ Φ c

où φ est la matrice d’évaluation polynomiale et y est le vecteur des évaluations de modèles. Si n_échantillons ≥ n_termes, la solution des moindres carrés est :

c = (ΦᵀΦ)⁻¹ Φᵀ y

Ceci est simple à mettre en œuvre avec les fonctionnalités polynomiales de Scikit-Learn :

import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import Ridge

# Training data: N_samples × N_inputs
X_train = np.random.uniform(-1, 1, (100, 3))

# Polynomial features up to degree 2
poly = PolynomialFeatures(degree=2, include_bias=False)
Phi = poly.fit_transform(X_train)  # 100 × 10 matrix

# Ridge regression (regularization stabilizes coefficient estimation)
model = Ridge(alpha=1e-4)
c = model.fit(Phi, y_train).coef_

La régression avec régularisation (crête, lasso) est numériquement stable et fonctionne bien pour des dimensions modérées. L’inconvénient est que la matrice de régression devient mal conditionnée lorsque l’ensemble d’apprentissage est petit par rapport à la taille de base.

Estimation basée sur la quadrature (formule de Gauss)

Lorsque l’indice de coefficient k est unidimensionnel (un seul terme polynomial), le coefficient Cₖ peut être calculé par quadrature numérique :

cₖ = ∫ M(X) Ψₖ(X) w(X) dX ≈ Σᵢ M(Xᵢ) Ψₖ(Xᵢ) w(Xᵢ) / ||Ψₖ||²

Pour le PCE multivarié, des grilles en quadrature clairsemées sont nécessaires. Cette approche est exacte lorsque le modèle est un polynôme de degré ≤ 2p, mais il devient peu pratique dans des dimensions élevées car la taille de la grille en quadrature augmente de manière exponentielle.

Basé sur la projection (colocation stochastique)

La collocation stochastique construit le PCE en interpolant le modèle aux points de collocation sélectionnés. Le coefficient du terme k est :

cₖ = Σᵢ M(Xᵢ) Ψₖ(Xᵢ) / Ψₖ(Xᵢ)²  (diagonal weight)

La collocation évite l’étape d’intégration de la quadrature et est efficace en termes de calcul lorsque des grilles clairsemées ou des stratégies de raffinement adaptatifs sont utilisées. C’est l’approche préférée lorsque le simulateur est suffisamment bon marché pour être évalué à tous les points de quadrature.

Méthodes PCE rares

La base polynomiale complète se développe de manière combinatoire avec la dimension. Les méthodes PCE clairsemées réduisent la taille de base tout en conservant la précision lorsque la réponse du modèle est dominée par des interactions de faible ordre.

Troncage hyperbolique

La restriction de base hyperbolique (HBR) avec le paramètre q < 1 Limites dont les indices multiples sont inclus :

∑ αᵢ^(1/q) ≤ p

Lorsque Q → 1, l’HBR s’approche de la base de degrés totaux. Lorsque Q → 0, il s’approche de la base de Pareto généralisée. Le paramètre Q contrôle le compromis entre la taille et la précision de base. Pour la plupart des modèles d’ingénierie, Q = 0,5 à 0,7 fournit une bonne compression tout en conservant des termes d’interaction importants.

La troncature hyperbolique réduit une base de commande de 20 paramètres, de 1 771 à environ 200 à 400 termes selon Q.

Lasso et régression régularisée

Lasso (moins absolu de retrait et de sélection) effectue une régression avec une pénalité L1 :

min (||Φc||² + λ ||c||₁)

La pénalité L1 entraîne exactement de nombreux coefficients à zéro, produisant une solution clairsemée. Elastic Net combine les pénalités L1 et L2 pour gérer les prédicteurs corrélés :

min (||Φc||² + λ₁ ||c||₁ + λ₂ ||c||₂²)

Le PCE sparse basé sur Lasso est implémenté dans UQPY AS HyperbolicTruncLARS (troncature hyperbolique avec régression du moindre angle). Le flux de travail :

from uqpy.surrogates import HyperbolicTruncLARS
from uqpy.distributions import MultivariateGaussian, Uniform

# Define distributions
dist = MultivariateGaussian(np.zeros(5), np.eye(5))

# Generate samples and run model
samples = dist.sample(n=500)
y_train = model_function(samples)

# Build sparse PCE with q=0.5
pce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)
pce.fit(samples, y_train)

# Validate
validation_samples = dist.sample(n=100)
y_pred = pce.predict(validation_samples)
rmse = np.sqrt(np.mean((y_pred - y_test)**2))

Grilles clairsemées de Smolyak

La construction de Smolyak combine des règles de quadrature univariées à l’aide de la formule de la grille parcise :

Qₘ = Σ_{|k|=m} (-1)^(m-|k|) · Πᵢ Q_{kᵢ}

où q_d est l’opératrice en quadrature d-dimensionnelle et |k| = σ kᵢ. Les grilles de Smolyak réduisent le nombre de points multidimensionnels de la croissance exponentielle à la croissance polynomiale dans la dimension. Ils sont plus efficaces lorsque la réponse est fluide et que les interactions d’ordre faible dominent.

Lorsque PCE est efficace

Le PCE converge de manière exponentielle pour des réponses fluides du modèle. Le taux de convergence dépend de :

  • lisse : les réponses analytiques convergent géométriquement. Les réponses lisses par morceaux convergent algébriquement.
  • Dimensions effectives : même avec 50 paramètres nominaux, si seulement 5 contrôlent la réponse, le PCE converge sur 5 dimensions.
  • Interactions de paramètres : les interactions fortes d’ordre supérieur augmentent la taille de base requise.
  • Qualité de conception expérimentale : les séquences de SOBOL ou les grilles en quadrature clairsemées fonctionnent mieux qu’un échantillonnage aléatoire uniforme.

Contexte de référence

  • PCE fournit des moments analytiques et des indices SOBOL une fois ajustés, sans aucune évaluation de modèle supplémentaire.
  • L’approche de régression traite le simulateur comme une boîte noire.
  • Les méthodes clairsemées peuvent étendre le PCE à environ 50 paramètres incertains lorsque le modèle présente des interactions clairsemées.
  • L’écosystème Python UQ comprend Chaospy, UQPY, SALIB, SMT et UncertainPy.

PCE vs Kriging vs réseaux neuronaux

PCE est un substitut parmi tant d’autres. Comprendre les compromis vous aide à choisir la méthode adaptée à votre problème.

Dimensions Méthode Données nécessaires interprétabilité dimensionnalité Extraction UQ Indices de SOBOL
indice Régression polynomiale / quadrature N_termes × 1,5 ÉLEVÉ (Coefficients de la carte de la variance) Modéré (sparse s’étend à ~50) Moments analytiques exacts Exact (groupement de coefficients)
Krige (processus gaussien) Interpolation basée sur la corrélation ~10-50 × d Moyenne (structure de corrélation) Faiblement modéré (~10-30) Intervalles de prédiction Non (dérivé numérique nécessaire)
Réseaux de neurones Architecture profonde / peu profonde Des centaines à des milliers Faible (boîte noire) Élevé (100+ possibles) Non (pas de modèle UQ inhérent) Non (sensibilité par perturbation)
Modèles d’ordre réduit Projection / orthogonale appropriée spécifique au problème Moyenne (vecteurs de projection) Élevé (Physique embarquée) Non (projection déterministe) Non

Le PCE est le seul substitut qui donne des indices analytiques exacts de SOBOL à partir des coefficients. Le krigeage donne des intervalles de prédiction mais nécessite une différenciation numérique pour la sensibilité. Les réseaux de neurones nécessitent une sensibilité basée sur la perturbation. Les modèles d’ordre réduit sont des projections déterministes.

Quand choisir PCE

Le PCE est le meilleur choix lorsque :

  1. Vous avez besoin de moments analytiques et d’indices de sensibilité : les coefficients vous donnent des indices E[Y], var(y) et SOBOL sans calcul supplémentaire.
  2. La réponse est lisse et de faible dimension : les réponses analytiques convergent géométriquement dans le PCE.
  3. Vous avez besoin de Monte Carlo rapide sur le substitut : une fois installé, l’évaluation du polynôme est O(1). Ceci est inestimable pour l’analyse de fiabilité ou l’estimation des probabilités de seuil.
  4. Le simulateur est modérément coûteux : si chaque évaluation prend quelques minutes à quelques heures, un PCE de 100 à 500 points est réalisable.

Quand éviter le PCE

Évitez PCE lorsque :

  1. La réponse est discontinue : le phénomène de Gibbs produit des oscillations proches des discontinuités. Utilisez PCE multi-éléments ou un substitut hybride.
  2. Vous avez besoin d’un modèle de grande dimension : même le PCE clairsemé devient instable au-delà de ~ 50 paramètres sans parcimonie vérifiée.
  3. La réponse est hautement non linéaire avec un comportement de seuil élevé : le PCE lisse les seuils. Utilisez plutôt Monte Carlo ou QMC aléatoire.
  4. Les données sont extrêmement rares : avec moins de 20 points d’entraînement, PCE n’est pas fiable. Les surfaces de réponse de krige ou polynomiale peuvent être plus robustes.

Le phénomène Gibbs

Le phénomène Gibbs est le mode de défaillance le plus fondamental du PCE standard. Pour les réponses discontinues, les événements de seuil, les changements de contact ou les défaillances du solveur, l’approximation polynomiale produit des oscillations non physiques près de la discontinuité. Ceci est mathématiquement identique aux oscillations observées lors de l’approximation d’une fonction de pas avec une série de Fourier.

Pour une réponse fluide, le PCE converge rapidement. Pour une réponse avec une discontinuité à un seul saut, le polynôme oscille avec une amplitude proportionnelle à la hauteur de saut et ne décroissant que 1/√N. L’augmentation de l’ordre polynomial aggrave l’oscillation, pas meilleure.

Stratégies d’atténuation

PCE multi-éléments (ME-PCE) : le domaine d’entrée est partitionné en sous-régions. Un polynôme séparé est installé dans chaque sous-région, avec une continuité appliquée aux limites. Il s’agit de l’approche la plus fiable pour les réponses discontinues.

Hybride du chaos-krige polynomial : un PCE capture la composante lisse de la réponse, tandis qu’un modèle de krigeage capture la discontinuité résiduelle. Cela met à profit les atouts des deux méthodes.

Chaos polynomial rationnel : les approximations de Padé-Legendre utilisent un rapport de polynômes au lieu d’un seul polynôme. La forme rationnelle peut représenter des sauts discontinus avec plus de précision qu’un polynôme pur.

Décomposition du domaine d’apprentissage actif : Novák et al. (2023) ont introduit une approche séquentielle où le domaine d’entrée est décomposé de manière itérative en fonction du comportement du modèle dans chaque région. Il s’agit de l’approche la plus flexible pour les réponses discontinues complexes.

Guide de mise en œuvre de Python

chaos

Chaospy est une bibliothèque ciblée pour les distributions PCE et de probabilité. Il ne vise pas à être un framework UQ tout-en-un.

import chaospy as cp
import numpy as np

# Independent uncertain parameters
distribution = cp.J(
    cp.Uniform(0.8, 1.2),
    cp.Normal(2.0, 0.1)
)

# Total-degree polynomial basis
order = 3
expansion = cp.generate_expansion(order, distribution)

# Experimental design (Sobol)
samples = distribution.sample(100, rule='sobol')

# Model evaluations
def model(sample):
    conductivity = sample[0]
    source = sample[1]
    return source / conductivity + 0.2 * conductivity**2

evaluations = np.array([model(samples[:, i]) for i in range(samples.shape[1])])

# Fit PCE by regression
approximation = cp.fit_regression(expansion, samples.T, evaluations)

# Extract statistics (analytical, no additional model evaluations)
mean = cp.E(approximation, distribution)
variance = cp.Var(approximation, distribution)
first_order = cp.Sens_m(approximation, distribution)
total_order = cp.Sens_t(approximation, distribution)

print(f"Mean: {mean}")
print(f"Standard deviation: {np.sqrt(variance)}")
print(f"First-order Sobol: {first_order}")
print(f"Total-order Sobol: {total_order}")

uqy

UQPY fournit des PCE, LARS et des utilitaires de validation étendus.

from uqpy.distributions import MultivariateGaussian
from uqpy.surrogates import HyperbolicTruncLARS, MonteCarlo
import numpy as np

# Define distribution
dist = MultivariateGaussian(np.zeros(5), np.eye(5))

# Generate samples and run model
samples = dist.sample(n=500)
y_train = np.array([model_function(x) for x in samples])

# Build sparse PCE
pce = HyperbolicTruncLARS(distribution=dist, q=0.5, p=3)
pce.fit(samples, y_train)

# Validate on independent test points
test_samples = dist.sample(n=100)
y_pred = pce.predict(test_samples)
y_test = np.array([model_function(x) for x in test_samples])

# Root mean squared error
rmse = np.sqrt(np.mean((y_pred - y_test)**2))
print(f"RMSE: {rmse}")

# Monte Carlo uncertainty propagation on the surrogate
n_mc = 10000
mc_samples = dist.sample(n_mc)
mc_predictions = pce.predict(mc_samples)

mc_mean = np.mean(mc_predictions)
mc_std = np.std(mc_predictions)
print(f"MC propagation mean: {mc_mean}")
print(f"MC propagation std: {mc_std}")

PCE régularisé Scikit-learn

Pour les projets qui utilisent déjà la régression Scikit-Learn, Ridge ou Lasso est simple.

import numpy as np
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import Lasso

# Generate Sobol samples
N = 300
d = 4
from scipy.stats import qmc
sampler = qmc.Sobol(d)
sample = sampler.random(base2=np.ceil(np.log2(N)).astype(int))

# Model evaluations
y = np.array([model_function(row) for row in sample])

# Polynomial features with hyperbolic truncation (manual basis selection)
poly = PolynomialFeatures(degree=2, include_bias=False)
Phi = poly.fit_transform(sample)

# LASSO regression
lasso = Lasso(alpha=1e-3)
c = lasso.fit(Phi, y).coef_

print(f"Non-zero coefficients: {np.sum(c != 0)} out of {len(c)}")
print(f"Coefficients: {c}")

Validation d’un substitut PCE

Un substitut PCE ne doit jamais être approuvé 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èle avec précision.

Protocole de validation

  1. Générer des points de validation : indépendant de la formation. Utilisez des séquences de SOBOL ou un échantillonnage hypercube latin.
  2. Calculez RMSE et erreur maximale : comparez les prédictions PCE avec les véritables évaluations de modèles aux points de validation.
  3. Précision du moment de vérification : comparez la moyenne et la variance extraites du PCE par rapport aux estimations de Monte Carlo sur l’ensemble de validation.
  4. Stabilité de la sensibilité du moniteur : si les indices de SOBOL changent de manière significative entre l’entraînement et la validation, le PCE n’est pas convergé.
  5. Vérifier les oscillations de Gibbs : tracer les prédictions PCE par rapport à une grille. Les oscillations non lisses indiquent un échec de réponse discontinu.

Surveillance de la convergence

Suivez l’ordre polynomial et le nombre de points d’entraînement. À mesure que les deux augmentent, le RMSE devrait diminuer de manière monotone. Si RMSE stagne ou augmente avec un ordre plus élevé, la base est de surajuster les données d’entraînement.

# Monitoring convergence as polynomial order increases
for order in [2, 3, 4, 5]:
    expansion = cp.generate_expansion(order, distribution)
    samples = distribution.sample(N)
    evaluations = np.array([model(s) for s in samples])
    pce = cp.fit_regression(expansion, samples.T, evaluations)
    
    # Validate
    test = distribution.sample(N_test)
    y_pred = np.array([pce(s) for s in test])
    y_true = np.array([model(s) for s in test])
    
    rmse = np.sqrt(np.mean((y_pred - y_true)**2))
    print(f"Order {order}: RMSE = {rmse:.6f}")

erreurs courantes et comment les éviter

1. Base polynomiale incompatible

L’utilisation des polynômes de Legendre pour les entrées gaussiennes détruit l’orthogonalité. Les coefficients deviennent biaisés et l’extraction du moment n’est pas valide. Associez toujours la famille polynomiale à la distribution d’entrée.

2. Surajustement de la base polynomiale

Une base de degré 5 en 10 paramètres a 2 002 termes. Avec 2 000 points d’entraînement, la régression est à peine stable. Utilisez des critères d’information (AIC, BIC) ou une validation croisée pour sélectionner l’ordre polynomial.

3. Faire confiance aux moments PCE sans validation

La moyenne et la variance extraites des coefficients PCE sont des expressions mathématiques exactes. Mais ils ne sont valables que si l’approximation polynomiale est exacte. Toujours valider par rapport aux points de test indépendants avant les moments de rapport.

4. Ignorer le phénomène de Gibbs

Pour les réponses discontinues, le polynôme oscille près des discontinuités. Signalez le RMSE sur une grille qui inclut les régions de discontinuité. Si le RMSE est dominé par quelques points oscillatoires, le PCE n’est pas valide.

5. Supposer de la parcimonie sans vérifier

La troncature lasso ou hyperbolique suppose que la réponse du modèle est dominée par des interactions d’ordre faible. Si le vrai modèle a de fortes interactions d’ordre élevé, le PCE clairsemé leur manquera. Vérifier la parcimonie en comparant les normes de coefficient des bases complètes et parcimonieuses.

Résumé et étapes suivantes

L’expansion du chaos polynomial convertit un simulateur déterministe en un substitut stochastique qui fournit un accès analytique aux statistiques de sortie, aux intervalles d’incertitude et aux indices de sensibilité. La méthode excelle lorsque la réponse est lisse, la dimensionnalité est modérée et le coût de calcul est suffisamment élevé pour justifier la construction de substitution.

Flux de travail recommandé

  1. Vérifier la convergence numérique du simulateur déterministe avant uq. Une erreur de discrétisation et une incertitude numérique doivent être établies avant la propagation.
  2. Attribuez des distributions à partir de données expérimentales ou un jugement d’expert documenté. Ne pas utiliser par défaut les distributions uniformes.
  3. Sélectionnez la base polynomiale en faisant correspondre les distributions aux polynômes orthogonaux. Vérifier les conditions d’orthonormalité.
  4. Choisissez une méthode d’estimation des coefficients : régression pour PCE non intrusif, quadrature pour des cas de faible dimension efficaces, collocation pour les modèles bon marché.
  5. Valider le substitut par rapport aux points de test indépendants et surveiller la convergence avec l’augmentation de l’ordre polynomial.
  6. Signalez les moments et les indices de sensibilité uniquement après validation. Incluez des intervalles de confiance pour les statistiques estimées.

Ce qu’il faut éviter

  • Utilisation du PCE pour les réponses discontinues sans atténuation
  • En supposant que le PCE parcimonieux fonctionne pour chaque problème de grande dimension
  • Signaler des moments PCE sans validation
  • PCE non intrusif déroutant avec Galerkin stochastique intrusif
  • Utilisation de bases polynomiales complètes dans les problèmes où la taille de base dépasse l’ensemble d’entraînement

Guides connexes

Références

  • Caflisch, R.E., & Mosolova, N. (1998). Méthodes Monte Carlo et Quasi-Monte Carlo. Rapport UCLA CAM.
  • Novák et al. (2023). Domaine d’apprentissage actif Surrogate localisée adaptative. Méthodes informatiques en mécanique appliquée et en ingénierie. doi
  • Schneider (2023). Expansion du chaos polynomial rationnel. thèse de Tum. PDF
  • Dictionnaire UQ de Helmholtz. Entrée d’extension du chaos polynomial. URL
  • Centre d’apprentissage COMSOL. Théorie de la modélisation de substitution et PCE. URL

Besoin d’aide pour créer des substituts PCE pour vos simulations ?

Si vous avez des difficultés avec l’implémentation du chaos polynomial, la sélection de base, la régularisation PCE clairsemée ou la validation de substitution, nous pouvons vous aider. Nous nous spécialisons dans les flux de travail de quantification de l’incertitude basé sur Python et pouvons vous guider, des scripts PCE de base aux pipelines de substitution de catégorie de production.