σμ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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • 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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Matrix Decompositions スキル›モジュール 2 · SVDと低ランク›トピック 2.1·~1 時間中級

特異値分解

スキル上の位置モジュール 2/5 · トピック 1/2
2.1 特異値分解
—ラボスコア— / 100合計XP—連続日数—

どの行列も回転・伸縮・回転の合成

固有分解は正方行列が必要で、それでも失敗することがあります。特異値分解はどんな行列(長方形でも)にも使えます。A=UΣVTA=U\Sigma V^{T}A=UΣVT で、UUU と VVV は直交行列、Σ\SigmaΣ は非負の対角成分 σ1≥σ2≥⋯≥0\sigma_1\ge\sigma_2\ge\cdots\ge0σ1​≥σ2​≥⋯≥0(特異値)を持つ対角行列です。幾何学的には、AAA はまず VTV^{T}VT で回転し、各軸 iii を σi\sigma_iσi​ 倍し、最後に UUU で回転します。単位円は、特異値を半軸とする楕円になります。

A=UΣVT,σi=λi(ATA),∥A∥F2=∑iσi2,κ(A)=σ1σmin⁡A=U\Sigma V^{T},\qquad \sigma_i=\sqrt{\lambda_i(A^{T}A)},\qquad \lVert A\rVert_F^{2}=\sum_i\sigma_i^{2},\qquad \kappa(A)=\frac{\sigma_1}{\sigma_{\min}}A=UΣVT,σi​=λi​(ATA)​,∥A∥F2​=i∑​σi2​,κ(A)=σmin​σ1​​(1)

VVV の列は ATAA^{T}AATA の固有ベクトル、UUU の列は AATAA^{T}AAT の固有ベクトルで、固有値は σi2\sigma_i^2σi2​ です。つまりSVDは ATAA^{T}AATA に対するスペクトル定理ですが、その積を実際に作らずに計算します。積を作ると条件数が2乗になり、桁の半分を失うからです。事実は簡単に読み取れます。ランクは非零の特異値の個数、∥A∥2=σ1\lVert A\rVert_2=\sigma_1∥A∥2​=σ1​ は最大の伸び、フロベニウスノルムの2乗は特異値の2乗和、正方行列では ∣det⁡A∣=∏σi|\det A|=\prod\sigma_i∣detA∣=∏σi​、条件数 σ1/σmin⁡\sigma_1/\sigma_{\min}σ1​/σmin​ は AAA が誤差をどれだけ増幅しうるかを表します。m≥nm\ge nm≥n の m×nm\times nm×n データ行列では、完全な UUU は m×mm\times mm×m、Σ\SigmaΣ は m×nm\times nm×n、VVV は n×nn\times nn×n です。

2×2の例A=(3045)A=\begin{pmatrix}3&0\\4&5\end{pmatrix}A=(34​05​) を考えます。ATA=(25202025)A^{T}A=\begin{pmatrix}25&20\\20&25\end{pmatrix}ATA=(2520​2025​) の固有値は45と5なので、特異値は σ1=45≈6.708\sigma_1=\sqrt{45}\approx6.708σ1​=45​≈6.708、σ2=5≈2.236\sigma_2=\sqrt5\approx2.236σ2​=5​≈2.236 です。検算:σ12+σ22=50=9+16+25=∥A∥F2\sigma_1^2+\sigma_2^2=50=9+16+25=\lVert A\rVert_F^2σ12​+σ22​=50=9+16+25=∥A∥F2​、σ1σ2=15=∣det⁡A∣\sigma_1\sigma_2=15=|\det A|σ1​σ2​=15=∣detA∣。条件数は σ1/σ2=3\sigma_1/\sigma_2=3σ1​/σ2​=3 です。もし σ2\sigma_2σ2​ が 0.0010.0010.001 なら条件数は約6700となり、Ax=bA\mathbf x=\mathbf bAx=b を解くと4桁近く失われます。
  • SVD:どの行列も直交行列 UUU, VVV と非負で降順の特異値により UΣVTU\Sigma V^{T}UΣVT と書ける。
  • 事実:ランクは非零の σi\sigma_iσi​ の個数、∥A∥F2=∑σi2\lVert A\rVert_F^2=\sum\sigma_i^2∥A∥F2​=∑σi2​、∣det⁡A∣=∏σi|\det A|=\prod\sigma_i∣detA∣=∏σi​。
  • 条件数:σ1/σmin⁡\sigma_1/\sigma_{\min}σ1​/σmin​。大きいと解が不安定で逆行列も信頼できない。
リターンから成分までを1回の呼び出しでXXX が平均を引いた T×NT\times NT×N のリターン行列なら、その共分散は XTX/(T−1)X^{T}X/(T-1)XTX/(T−1) なので、XXX の右特異ベクトルが主方向、σi2/(T−1)\sigma_i^2/(T-1)σi2​/(T−1) がその方向の分散です。XXX に直接SVDを施す方が、共分散行列を固有分解するよりPCAを正確に求められ、N>TN>TN>T でも動作します。

ラボ:採点される内容

  • 最大の特異値20点
  • フロベニウスの恒等式10点
  • 特異値の積10点
  • 完全SVDのサイズ15点
  • 特異値と固有値15点
  • 条件数15点
  • なぜAᵀAを固有分解しないのか15点
0/ 7問回答済み
問題
1数値で答える20点未回答

ATA=(25202025)A^{T}A=\begin{pmatrix}25&20\\20&25\end{pmatrix}ATA=(2520​2025​) であるとき、A=(3045)A=\begin{pmatrix}3&0\\4&5\end{pmatrix}A=(34​05​) の最大特異値を小数第3位まで求めてください。

sigma1=sigma_1 =sigma1​=許容:± 0.01
2数値で答える10点未回答

同じ AAA について、全成分の2乗和は σ12+σ22\sigma_1^2+\sigma_2^2σ12​+σ22​ に等しくなります。∥A∥F2\lVert A\rVert_F^{2}∥A∥F2​ はいくつですか。

Frobeniussquared=Frobenius squared =Frobeniussquared=許容:± 0.01
3数値で答える10点未回答

同じ AAA について、積 σ1σ2\sigma_1\sigma_2σ1​σ2​ は ∣det⁡A∣|\det A|∣detA∣ に等しくなります。いくつですか。

product=product =product=許容:± 0.01
4空欄を埋める15点未回答

データ行列 AAA は5行3列です。完全SVD A=UΣVTA=U\Sigma V^{T}A=UΣVT の各因子のサイズを埋めてください。

U: ×,Σ: ×,V: ×\displaystyle U:\ \htmlData{blank=a}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}\times\htmlData{blank=a}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}},\qquad \Sigma:\ \htmlData{blank=a}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}\times\htmlData{blank=b}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}},\qquad V:\ \htmlData{blank=b}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}\times\htmlData{blank=b}{\phantom{\rule[-0.35em]{2.4em}{1.35em}}}U: ×,Σ: ×,V: ×
5選択15点未回答

AAA の特異値は固有値とどう関係しますか。

6数値で答える15点未回答

特異値が6、3、0.5の行列の条件数はいくつですか。

kappa=kappa =kappa=許容:± 0.01
7言葉で説明する15点未回答

AAA のSVDを計算する方が ATAA^{T}AATA を固有分解するより数値的に良い理由を1〜2文で述べてください。

数学モードキーボードまたは LaTeX で入力問題1/7 · Ctrl ⏎ で確認

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける