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 :
- Sélectionnez une base polynomiale alignée avec les distributions d’entrée.
- Générez des points d’entraînement (quadrature ou échantillonnage).
- Exécutez le simulateur à ces points.
- Estimez les coefficients d’expansion.
- 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 :
- 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.
- La réponse est lisse et de faible dimension : les réponses analytiques convergent géométriquement dans le PCE.
- 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.
- 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 :
- 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.
- 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.
- 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.
- 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
- Générer des points de validation : indépendant de la formation. Utilisez des séquences de SOBOL ou un échantillonnage hypercube latin.
- Calculez RMSE et erreur maximale : comparez les prédictions PCE avec les véritables évaluations de modèles aux points de validation.
- 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.
- 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é.
- 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é
- 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.
- Attribuez des distributions à partir de données expérimentales ou un jugement d’expert documenté. Ne pas utiliser par défaut les distributions uniformes.
- Sélectionnez la base polynomiale en faisant correspondre les distributions aux polynômes orthogonaux. Vérifier les conditions d’orthonormalité.
- 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é.
- Valider le substitut par rapport aux points de test indépendants et surveiller la convergence avec l’augmentation de l’ordre polynomial.
- 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
- Quantification de l’incertitude et analyse de sensibilité dans la simulation scientifique – flux de travail UQ plus large, analyse de sensibilité Sobol, méthodes de Monte Carlo et outils Python UQ.
- Méthodes de Monte-Carlo pour les simulations scientifiques — Comparer les échantillonnages aléatoires, QMC, LHS et les comportements de convergence PCE.
- substatives d’apprentissage automatique pour les simulations scientifiques – Construire et valider les réseaux de neurones et les substituts gaussiens PCE.
- Vérification vs validation dans les simulations scientifiques — Établissez une convergence numérique avant de lancer une campagne UQ.
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.