σμ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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • 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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Roteiro de Matrix Decompositions›Módulo 2 · SVD e posto baixo›Tópico 2.2·~50 minIntermediário

Aproximação de posto baixo

Posição no roteiroMódulo 2 de 5 · Tópico 2 de 2
2.2 Aproximação de posto baixo
—Nota do lab— / 100XP total—Sequência—

Ficar com a parte da matriz que importa

A SVD escreve uma matriz como soma de camadas de posto um, A=∑iσiuiviTA=\sum_i\sigma_i\mathbf u_i\mathbf v_i^{T}A=∑i​σi​ui​viT​, da maior para a menor. Manter apenas as kkk primeiras camadas dá Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^{T}Ak​=Uk​Σk​VkT​, uma matriz de posto kkk. O teorema de Eckart-Young diz que esse truncamento é a melhor aproximação de posto kkk que existe, seja o erro medido pela norma de Frobenius ou pela norma espectral. Nenhuma escolha esperta de kkk direções supera as kkk primeiras direções singulares.

Ak=∑i=1kσiuiviT,∥A−Ak∥F=∑i>kσi2,∥A−Ak∥2=σk+1A_k=\sum_{i=1}^{k}\sigma_i\mathbf u_i\mathbf v_i^{T},\qquad \lVert A-A_k\rVert_F=\sqrt{\sum_{i>k}\sigma_i^{2}},\qquad \lVert A-A_k\rVert_2=\sigma_{k+1}Ak​=i=1∑k​σi​ui​viT​,∥A−Ak​∥F​=i>k∑​σi2​​,∥A−Ak​∥2​=σk+1​(1)

O erro são exatamente os valores singulares descartados, então a parte do tamanho ao quadrado mantida é ∑i≤kσi2/∑iσi2\sum_{i\le k}\sigma_i^2\big/\sum_i\sigma_i^2∑i≤k​σi2​/∑i​σi2​, muitas vezes chamada variância explicada quando AAA são dados centrados. Uma aproximação de posto kkk de uma matriz m×nm\times nm×n precisa de apenas k(m+n+1)k(m+n+1)k(m+n+1) números em vez de mnmnmn, e por isso posto baixo também é compressão. Em finanças, as camadas com σi\sigma_iσi​ pequeno são sobretudo ruído amostral, então truncá-las é limpar, e kkk é escolhido por um limiar sobre a parte mantida ou por um salto nos valores singulares.

Valores singulares 10, 6, 3, 1Suponha que uma matriz tenha valores singulares 10, 6, 3, 1. Seus quadrados são 100, 36, 9, 1, somando 146. A melhor aproximação de posto 2 mantém 100+36=136100+36=136100+36=136 de 146, ou seja, 93,2%93{,}2\%93,2%, e seu erro de Frobenius é 9+1=10≈3,16\sqrt{9+1}=\sqrt{10}\approx3{,}169+1​=10​≈3,16; seu erro espectral é σ3=3\sigma_3=3σ3​=3. A melhor aproximação de posto 1 tem erro espectral σ2=6\sigma_2=6σ2​=6. Para uma matriz 1000×2501000\times2501000×250, o posto 5 precisa de 5×(1000+250+1)=62555\times(1000+250+1)=62555×(1000+250+1)=6255 números em vez de 250 000.
  • Eckart-Young: truncar a SVD em kkk termos é a melhor aproximação de posto kkk nas duas normas.
  • Erro: Frobenius ∑i>kσi2\sqrt{\sum_{i>k}\sigma_i^2}∑i>k​σi2​​, espectral σk+1\sigma_{k+1}σk+1​.
  • Armazenamento: k(m+n+1)k(m+n+1)k(m+n+1) números em vez de mnmnmn.
Escolher k é um julgamentoNenhuma regra está livre de suposições. Uma parcela fixa como 90%90\%90% é simples mas arbitrária, um salto visível nos valores singulares é natural quando existe, e no contexto da covariância mais adiante nesta habilidade, a borda de Marchenko-Pastur dá um limiar fundamentado entre sinal e ruído. Qualquer que seja o critério, verifique a escolha fora da amostra: o posto que melhor explica os dados de treino não é o que melhor prevê os novos.

Lab: o que é avaliado

  • O erro de Frobenius15 pts
  • A parte mantida15 pts
  • Uma aproximação de posto um15 pts
  • Armazenamento de uma matriz de posto baixo10 pts
  • O teorema de Eckart-Young15 pts
  • Comprimir uma matriz15 pts
  • Por que o truncamento limpa15 pts
0/ 7 respondidas
Tarefas
1Resposta numérica15 ptsSem resposta

Uma matriz tem valores singulares 10, 6, 3 e 1. Qual é o erro de Frobenius da sua melhor aproximação de posto 2? Dê com duas casas decimais.

error=error =error=aceito: ± 0.02
2Resposta numérica15 ptsSem resposta

Para a mesma matriz, que porcentagem da norma de Frobenius ao quadrado a aproximação de posto 2 mantém? Dê com uma casa decimal.

kept=kept =kept=aceito: ± 0.1
3Matriz · vetor15 ptsSem resposta

A matriz simétrica A=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​) tem valores singulares 3 e 1, com direção dominante u=v=(1,1)/2\mathbf u=\mathbf v=(1,1)/\sqrt2u=v=(1,1)/2​. Calcule sua melhor aproximação de posto um A1=3 uvTA_1=3\,\mathbf u\mathbf v^{T}A1​=3uvT.

A1=A_1 =A1​=
4Resposta numérica10 ptsSem resposta

Uma matriz 1000×2501000\times2501000×250 é aproximada com posto 5 por UkU_kUk​, Σk\Sigma_kΣk​ e VkV_kVk​. Quantos números é preciso armazenar, com k(m+n+1)k(m+n+1)k(m+n+1)?

numbers=numbers =numbers=aceito: ± 0.5
5Escolha15 ptsSem resposta

O que enuncia o teorema de Eckart-Young?

6Ordenar os passos15 ptsSem resposta

Coloque em ordem os passos de uma aproximação de posto baixo.

Arraste para reordenar, ou foque um item, Espaço para levantá-lo, setas para movê-lo e Espaço para soltá-lo.

  1. 1Medir o erro ou a parte da variância mantida
  2. 2Escolher kkk a partir dos valores singulares
  3. 3Calcular a SVD da matriz
  4. 4Reconstruir Ak=UkΣkVkTA_k=U_k\Sigma_kV_k^{T}Ak​=Uk​Σk​VkT​ com os kkk primeiros termos
7Explicar com palavras15 ptsSem resposta

Em uma ou duas frases, diga por que descartar os valores singulares pequenos de uma matriz de retornos pode remover ruído.

Modo matemáticaEntrada por teclado ou LaTeXTarefa 1 de 7 · Ctrl ⏎ para verificar

Entre para executar o seu código.

Todas as aulas são gratuitas para ler. Crie uma conta ou entre para executar código, rodar os testes e enviar este lab.

  • IDE no navegador com terminal bash — nada para instalar
  • Correção instantânea, XP e o seu lugar no roteiro
Criar uma contaEntrar
OU
Continuar com o GitHub