σμ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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • 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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de Hidden Markov Models›Módulo 2 · Los algoritmos centrales›Tema 2.1·~1 hAvanzado

El algoritmo forward

Posición en la rutaMódulo 2 de 3 · Tema 1 de 4
2.1 El algoritmo forward
—Puntuación del lab— / 100XP total—Racha—

¿Qué tan probable es lo que vimos?

Supongamos que vimos los movimientos Pequeño, Grande, Grande. ¿Qué tan probable es esa secuencia con nuestro modelo? Podríamos listar todos los caminos ocultos (Tranquilo-Tranquilo-Tranquilo, Tranquilo-Tranquilo-Tormentoso, etc.), calcular la probabilidad de cada uno y sumarlas. Con KKK estados y TTT días son KTK^{T}KT caminos, demasiados. El algoritmo forward hace la misma suma en T⋅K2T\cdot K^{2}T⋅K2 pasos reutilizando el trabajo. Guarda un número αt(j)\alpha_t(j)αt​(j): la probabilidad de las primeras ttt observaciones y de estar en el estado jjj el día ttt.

α1(j)=πjBj(o1),αt(j)=[∑iαt−1(i)Aij]Bj(ot),P(o1,…,oT)=∑jαT(j)\alpha_1(j)=\pi_jB_j(o_1),\qquad \alpha_t(j)=\Big[\sum_i\alpha_{t-1}(i)A_{ij}\Big]B_j(o_t),\qquad P(o_1,\dots,o_T)=\sum_j\alpha_T(j)α1​(j)=πj​Bj​(o1​),αt​(j)=[i∑​αt−1​(i)Aij​]Bj​(ot​),P(o1​,…,oT​)=j∑​αT​(j)(1)

Lea la recurrencia con palabras: para estar en el estado jjj hoy, se venía de algún estado iii ayer (suma sobre iii con la probabilidad de transición) y luego el estado de hoy produjo la observación de hoy. Dividir αt\alpha_tαt​ por su total da las probabilidades filtradas, su creencia sobre el estado de hoy dados los datos hasta hoy. Un problema práctico: multiplicar muchos números pequeños da números que tienden a cero. Así que en cada paso se divide por el total ctc_tct​ y se guarda. El log de la probabilidad de los datos es entonces simplemente la suma de los ln⁡ct\ln c_tlnct​.

Pequeño, Grande, GrandeDía 1: α1=(0,6⋅0,9, 0,4⋅0,3)=(0,54, 0,12)\alpha_1=(0{,}6\cdot0{,}9,\ 0{,}4\cdot0{,}3)=(0{,}54,\ 0{,}12)α1​=(0,6⋅0,9, 0,4⋅0,3)=(0,54, 0,12), total c1=0,66c_1=0{,}66c1​=0,66. Día 2 (un movimiento grande): Tranquilo recibe (0,54⋅0,9+0,12⋅0,2)⋅0,1=0,051(0{,}54\cdot0{,}9+0{,}12\cdot0{,}2)\cdot0{,}1=0{,}051(0,54⋅0,9+0,12⋅0,2)⋅0,1=0,051 y Tormentoso (0,54⋅0,1+0,12⋅0,8)⋅0,7=0,105(0{,}54\cdot0{,}1+0{,}12\cdot0{,}8)\cdot0{,}7=0{,}105(0,54⋅0,1+0,12⋅0,8)⋅0,7=0,105, total 0,1560{,}1560,156, así que la probabilidad filtrada de Tormentoso es 0,105/0,156=0,6730{,}105/0{,}156=0{,}6730,105/0,156=0,673. El día 3 da α3=(0,00669, 0,06237)\alpha_3=(0{,}00669,\ 0{,}06237)α3​=(0,00669, 0,06237). La probabilidad de toda la secuencia es 0,00669+0,06237=0,06910{,}00669+0{,}06237=0{,}06910,00669+0,06237=0,0691 y su log es −2,673-2{,}673−2,673.
  • Algoritmo forward: suma sobre todos los caminos ocultos en T⋅K2T\cdot K^{2}T⋅K2 pasos en vez de KTK^{T}KT.
  • Probabilidades filtradas: normalice αt\alpha_tαt​ para obtener su creencia sobre el estado de hoy con los datos hasta hoy.
  • Escalado: divida por ctc_tct​ en cada paso y sume los ln⁡ct\ln c_tlnct​ para evitar el desbordamiento por defecto.

Lab: qué se califica

  • El primer valor forward15 pts
  • El total del primer día10 pts
  • Filtrado tras dos días15 pts
  • La probabilidad de la secuencia15 pts
  • La log-verosimilitud10 pts
  • Qué ahorra el algoritmo forward10 pts
  • Emparejar el vocabulario10 pts
  • Por qué se reescalan los valores15 pts
0/ 8 respondidos
Ejercicios
1Respuesta numérica15 ptsSin responder

El día 1 muestra un movimiento pequeño. ¿Cuánto vale α1(T)=πT BT(p)\alpha_1(T)=\pi_T\,B_T(p)α1​(T)=πT​BT​(p) con πT=0,6\pi_T=0{,}6πT​=0,6 y BT(p)=0,9B_T(p)=0{,}9BT​(p)=0,9?

a=a =a=aceptado: ± 0.005
2Respuesta numérica10 ptsSin responder

Con α1=(0,54, 0,12)\alpha_1=(0{,}54,\ 0{,}12)α1​=(0,54, 0,12), ¿cuánto vale el total c1c_1c1​, la probabilidad de la primera observación?

c=c =c=aceptado: ± 0.005
3Respuesta numérica15 ptsSin responder

Tras las observaciones Pequeño y Grande, α2=(0,051, 0,105)\alpha_2=(0{,}051,\ 0{,}105)α2​=(0,051, 0,105). ¿Cuál es la probabilidad filtrada del estado tormentoso, 0,105/(0,051+0,105)0{,}105/(0{,}051+0{,}105)0,105/(0,051+0,105)? Dé tres decimales.

p=p =p=aceptado: ± 0.003
4Respuesta numérica15 ptsSin responder

El día 3, α3=(0,00669, 0,06237)\alpha_3=(0{,}00669,\ 0{,}06237)α3​=(0,00669, 0,06237). ¿Cuál es la probabilidad de toda la secuencia Pequeño, Grande, Grande, la suma de α3\alpha_3α3​? Dé cuatro decimales.

p=p =p=aceptado: ± 0.0003
5Respuesta numérica10 ptsSin responder

¿Cuál es el logaritmo natural de la probabilidad 0,06910{,}06910,0691 de la secuencia? Dé dos decimales.

l=l =l=aceptado: ± 0.02
6Elección10 ptsSin responder

¿Qué nos permite evitar el algoritmo forward?

7Emparejar10 ptsSin responder

Empareje cada término con su significado.

Elige la pareja de cada elemento de la izquierda.

αt(j)\alpha_t(j)αt​(j)
Probabilidad filtrada
ctc_tct​
∑jαT(j)\sum_j\alpha_T(j)∑j​αT​(j)
8Explicar con palabras15 ptsSin responder

En una o dos frases, explique por qué una implementación real del algoritmo forward divide por ctc_tct​ en cada paso.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 8 · Ctrl ⏎ para comprobar

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub