σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Particle filtering and non-stationary time series›Module 2 · Filtres particulaires›Sujet 2.2·~1 h 5 minAvancé

Le filtre particulaire bootstrap

Position dans le parcoursModule 2 sur 3 · Sujet 2 sur 5
2.2 Le filtre particulaire bootstrap
—Score du lab— / 100XP total—Série—

Un nuage qui suit l'état

Un filtre particulaire garde la croyance sur l'état caché sous forme d'un nuage de NNN particules. Chaque particule est une valeur possible de l'état et porte un poids qui dit sa plausibilité. Aucune courbe en cloche n'est supposée : le nuage peut prendre n'importe quelle forme. Chaque jour suit le même cycle. Propager : déplacer chaque particule avec le mouvement aléatoire du modèle. Pondérer : donner à chaque particule un poids égal à la vraisemblance de l'observation du jour pour cette particule. Estimer : la moyenne filtrée est la moyenne pondérée des particules. Rééchantillonner : tirer un nouveau nuage où les bonnes particules sont copiées et les mauvaises disparaissent.

xt(i)=xt−1(i)+q z(i),w(i)=p(yt∣xt(i)),m^t=∑iw~(i)xt(i),p^(yt)=1N∑iw(i)x_t^{(i)}=x_{t-1}^{(i)}+\sqrt q\,z^{(i)},\quad w^{(i)}=p(y_t\mid x_t^{(i)}),\quad \hat m_t=\sum_i\tilde w^{(i)}x_t^{(i)},\quad \hat p(y_t)=\frac1N\sum_i w^{(i)}xt(i)​=xt−1(i)​+q​z(i),w(i)=p(yt​∣xt(i)​),m^t​=i∑​w~(i)xt(i)​,p^​(yt​)=N1​i∑​w(i)(1)

On l'appelle filtre bootstrap parce que la proposition est la plus simple : la transition du modèle lui-même. Le poids d'une particule est alors exactement la vraisemblance. La recette marche pour tout modèle que l'on peut simuler vers l'avant et dont on sait évaluer la vraisemblance de l'observation : états non linéaires, queues épaisses, volatilité cachée, là où le filtre de Kalman n'a pas de réponse exacte. Le prix est l'aléa. Deux exécutions avec des nombres aléatoires différents donnent des réponses un peu différentes, et l'erreur diminue comme 1/N1/\sqrt N1/N​. En pratique on fixe la graine aléatoire pour pouvoir reproduire une exécution.

Un cycle avec quatre particulesAprès la propagation, les quatre particules sont en −1,0,1,2-1,0,1,2−1,0,1,2 et l'on observe y=1y=1y=1 avec r=1r=1r=1. Les vraisemblances valent 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242 (la densité normale, avec le facteur 1/2π1/\sqrt{2\pi}1/2π​) et les poids 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. La moyenne filtrée est 0,8850{,}8850,885. La vraisemblance moyenne, 0,2340{,}2340,234, estime la probabilité de l'observation, et la somme des logarithmes de ces moyennes sur tous les jours est la log-vraisemblance du modèle. Pour rééchantillonner, on tire des uniformes 0,05, 0,5, 0,6, 0,90{,}05,\ 0{,}5,\ 0{,}6,\ 0{,}90,05, 0,5, 0,6, 0,9 et on les cherche dans les poids cumulés 0,058, 0,316, 0,742, 10{,}058,\ 0{,}316,\ 0{,}742,\ 10,058, 0,316, 0,742, 1. Ils choisissent les particules 1,3,3,41,3,3,41,3,3,4 : le nouveau nuage est −1,1,1,2-1,1,1,2−1,1,1,2 avec des poids égaux 0,250{,}250,25 et une moyenne de 0,750{,}750,75.
  • Quatre étapes par jour : propager, pondérer, estimer, rééchantillonner.
  • Poids = vraisemblance : seule l'étape de pondération regarde l'observation du jour.
  • Tout modèle que l'on sait simuler : il traite les cas non linéaires et non gaussiens au prix d'une erreur aléatoire d'ordre 1/N1/\sqrt N1/N​.
À quel point proche de Kalman ?Sur le modèle de bêta d'Apple, où Kalman est exact, un filtre bootstrap à 500500500 particules s'en écarte de 0,0160{,}0160,016 en moyenne, et à 200020002000 particules de 0,00650{,}00650,0065. Multiplier les particules par quatre a à peu près divisé l'erreur par deux, comme le prédit 1/N1/\sqrt N1/N​.

Lab : ce qui est noté

  • Le poids d'une particule15 pts
  • La moyenne filtrée15 pts
  • Vraisemblance de l'observation15 pts
  • Après le rééchantillonnage10 pts
  • Quelle étape utilise les données10 pts
  • Le cycle quotidien10 pts
  • Associer le vocabulaire10 pts
  • Pourquoi les particules battent Kalman ici15 pts
0/ 8 traités
Exercices
1Réponse numérique15 ptsSans réponse

Les quatre particules en −1,0,1,2-1,0,1,2−1,0,1,2 ont des vraisemblances 0,054, 0,242, 0,399, 0,2420{,}054,\ 0{,}242,\ 0{,}399,\ 0{,}2420,054, 0,242, 0,399, 0,242, de somme 0,9370{,}9370,937. Quel est le poids normalisé de la particule en 111 ? Donnez trois décimales.

w=w =w=accepté : ± 0.002
2Réponse numérique15 ptsSans réponse

Les particules −1,0,1,2-1,0,1,2−1,0,1,2 ont pour poids 0,058, 0,258, 0,426, 0,2580{,}058,\ 0{,}258,\ 0{,}426,\ 0{,}2580,058, 0,258, 0,426, 0,258. Quelle est la moyenne filtrée, moyenne pondérée des particules ? Donnez trois décimales.

m=m =m=accepté : ± 0.003
3Réponse numérique15 ptsSans réponse

Les vraisemblances des quatre particules ont pour somme 0,9370{,}9370,937. Le filtre estime la probabilité de l'observation par leur moyenne. Que vaut-elle ? Donnez trois décimales.

p=p =p=accepté : ± 0.002
4Réponse numérique10 ptsSans réponse

Le rééchantillonnage a choisi les particules −1, 1, 1, 2-1,\ 1,\ 1,\ 2−1, 1, 1, 2, chacune de poids 0,250{,}250,25. Quelle est la moyenne du nouveau nuage ?

m=m =m=accepté : ± 0.005
5Choix10 ptsSans réponse

Dans le filtre bootstrap, quelle étape regarde l'observation du jour ?

6Remettre les étapes dans l'ordre10 ptsSans réponse

Mettez dans l'ordre les étapes d'un jour du filtre bootstrap.

Faites glisser pour réordonner, ou placez le focus sur un élément, Espace pour le soulever, les flèches pour le déplacer et Espace pour le déposer.

  1. 1Rééchantillonner le nuage
  2. 2Déplacer chaque particule avec le mouvement aléatoire du modèle
  3. 3Prendre la moyenne pondérée comme estimation
  4. 4Pondérer chaque particule par la vraisemblance de l'observation
7Associer10 ptsSans réponse

Associez chaque terme à son sens.

Choisissez le partenaire de chaque élément de gauche.

Particule
Poids
Propager
Rééchantillonner
8Expliquer avec des mots15 ptsSans réponse

En une ou deux phrases, expliquez pourquoi un filtre particulaire peut servir quand le modèle est non linéaire ou non gaussien, alors que le filtre de Kalman ne le peut pas.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 8 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub