Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions MyIA.AI.Notebooks/Probas/PyMC/PyMC-2-Gaussian-Mixtures.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1033,14 +1033,14 @@
"\n",
"Le modèle de mélange à 2 composantes a été échantillonné avec un algorithme hybride : NUTS pour les paramètres continus (poids, moyennes, ecarts-types) et BinaryGibbsMetropolis pour les assignations discretes (z).\n",
"\n",
"La lecture de diagnostic (`az.summary`, ajoutee apres `pm.sample`) quantifie le warning committe par l'echantillonneur :\n",
"- **86 divergences** NUTS apres tuning ;\n",
"- **R-hat max = 1.020** (sur `mu_components[0]`, juste au-dessus du seuil 1.01) ;\n",
"- **ESS bulk min = 284** (toutes chaines confondues, suffisant) — le warning ESS de PyMC porte sur l'ESS *par chaine* (< 100 pour certains parametres), une inefficacite au niveau de la chaine, pas un manque global de tirages.\n",
"La lecture de diagnostic (`az.summary`, ajoutee apres `pm.sample`) quantifie le warning committe par l'echantillonneur (sortie re-executee par #12778) :\n",
"- **439 divergences** NUTS apres tuning (cinq fois plus qu'avant la re-execution : 86 -> 439) ;\n",
"- **R-hat max = 1.030** (sur `mu_components[0]` et `mu_components[1]`, au-dessus du seuil 1.01) ;\n",
"- **ESS bulk min = 250** (toutes chaines confondues, **limite**) -- le warning ESS de PyMC porte sur l'ESS *par chaine* (< 100 pour certains parametres), une inefficacite au niveau de la chaine, pas un manque global de tirages.\n",
"\n",
"Le r_hat de `mu_components[0]` legerement au-dessus de 1.01 est la signature du **label switching** : les etiquettes des composantes permutent au cours de l'echantillonnage, rendant le paysage posterior multimodal. Les deux moyennes ne sont donc pas totalement identifiables — c'est cela, et non un manque de tirages, qui fait re-descendre le diagnostic sous le seuil.\n",
"Le r_hat a 1.030 combine a 439 divergences est la signature d'un **label switching marque** : les etiquettes des composantes permutent au cours de l'echantillonnage, rendant le paysage posterior multimodal, et les trajectoires NUTS qui traversent les vallees entre modes accumulent les divergences (chaque divergence = un point ou le gradient est trop abrupt pour l'integrateur leapfrog). Le facteur 5 sur les divergences entre deux tirages du meme modele temoigne d'une sensibilite au seed/initialisation, caracteristique des posteriors multimodaux non identifies. Les deux moyennes ne sont donc pas totalement identifiables -- c'est cela, et non un manque de tirages, qui empeche le diagnostic d'atteindre le seuil.\n",
"\n",
"Malgre cette non-identifiabilite (legere), les estimations ponctuelles restent interpretables :\n",
"Compte tenu de cette non-identifiabilite marquee, les estimations ponctuelles restent interpretables **uniquement apres permutation des labels** (les composantes ne sont identifiees que par leur moyenne relative, pas par leur indice) :\n",
"- La composante \"normale\" capture les trajets de 11 a 20 minutes\n",
"- La composante \"exceptionnelle\" capture les trajets de 28 a 35 minutes\n",
"- Les 3 observations extremes (28, 32, 35 min) correspondent bien aux evenements extraordinaires\n",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,32 @@
csharp_sha: f7d507ae2ac763906e13d6ba61240219f5193ab4
content_python_sha: d097e445246d572e6a5e758b31e5c98587b7d29174d6c55596e949e4874da28b
content_csharp_sha: 193d1a1aa8d5a5fe5da8159efcba581bcbc402afb68247a3c3e14d78f380a76a
- date: "2026-08-28"
by: myia-po-2026:CoursIA-2
python_sha: 9cfd2a2fd4971f898fc156767770f45427c6b8e8
csharp_sha: f7d507ae2ac763906e13d6ba61240219f5193ab4
content_python_sha: cd7456ba906f7fafe38411af38e48278ef8682ec0dab56de805ba3ff6dfdfe9c
content_csharp_sha: 193d1a1aa8d5a5fe5da8159efcba581bcbc402afb68247a3c3e14d78f380a76a
- date: "2026-08-28"
by: myia-po-2026:CoursIA-2
python_sha: 43dd723671556866dbf5324eb29ccd1e3eb9c705
csharp_sha: f7d507ae2ac763906e13d6ba61240219f5193ab4
content_python_sha: 13ea4c5eeed3fff1733f4582d7b75f2583e2dfa54e9cafeaa1afd448d2168d66
content_csharp_sha: 193d1a1aa8d5a5fe5da8159efcba581bcbc402afb68247a3c3e14d78f380a76a
known_differences:
- '2026-08-21 (rebaseline asymetrique myia-po-2024:CoursIA-2) : PR #12065 corrige heading_in_list cote C# (Infer-2-Gaussian-Mixtures.ipynb, 1 finding) tandis que le jumeau Python (PyMC-2-Gaussian-Mixtures.ipynb) etait deja a 0 finding. La convergence unilaterale est legitime (cf ai-01 arbitrage 2026-08-21 15:00Z, DM msg-20260821T130006-lc9u2c) : la parite reelle s''ameliore, elle n''est pas enshrinee. Aucun strip outille en attente (probe banner 0, papermill 0, machine paths 0).'
- 'Socle pedagogique commun : melanges de distributions gaussiennes (GMM) modelise dans les deux stacks.'
- 'Moteurs d''inference distincts : C# Infer.NET = inference deterministe approchee (Expectation Propagation / Variational
Message Passing, modele compile en code d''inference) ; Python PyMC = echantillonnage MCMC (NUTS/HMC par defaut) + ADVI
(variationnel) sur backend PyTensor. Memes concepts, paradigmes d''inference differents.'
- '2026-08-28 (drift unilateral myia-po-2026:CoursIA-2, PR #13283) : correction derive prose cellule 18 cote Python seul
(markdown d''interpretation de l''echantillonnage GMM, post-re-execution #12778) — les sorties az.summary reellement
committees par le notebook ont 439 divergences / R-hat max 1.030 / ESS bulk min 250 sur mu_components, et la prose
annonce 86 / 1.020 / 284 (avec jugements "leger" / "limite" / "suffisant"). PR #13283 corrige les 3 valeurs + 3
jugements re-tires (label switching MARQUE plus "leger", non-identifiabilite MARQUEE plus "leger", ESS LIMITE
plus "suffisant"). Jumeau C# (Infer-2) inchange : il n''a pas ete touche par #12778 (Infer.NET = moteur EP/VMP
deterministe, pas de stochasticite NUTS/ArviZ). Mouvement unilateral legitime (parity_level native-both, moteurs
distincts : drift documente ne touche que la sortie d''un moteur, et le markdown qui la decrit dans la stack
concernee). Aucun strip outille en attente (probe banner 0, papermill 0, machine paths 0). B.0 OK : body PR #13283
documente diagnostic derive C.4 categorie c (moteur upstream) + verdict CAUSE_FIXED. Refs: Fixes #13277,
See #12778 #12476 #13275.'
Loading