σμ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 スキル›モジュール 1 · 固有値とスペクトル›トピック 1.2·~50 分中級

べき乗法

スキル上の位置モジュール 1/5 · トピック 2/3
1.2 べき乗法
—ラボスコア— / 100合計XP—連続日数—

繰り返しの掛け算で支配的な方向を見つける

1000×10001000\times10001000×1000 の行列で特性多項式を解くのは現実的ではなく、しばしば最大の固有対だけ(たとえば第1主成分)が必要です。べき乗法は行列とベクトルの積だけでそれを求めます。任意のベクトル x0\mathbf x_0x0​ から始め、xk+1=Axk/∥Axk∥\mathbf x_{k+1}=A\mathbf x_k/\lVert A\mathbf x_k\rVertxk+1​=Axk​/∥Axk​∥ を繰り返します。掛けるたびに支配的な固有ベクトル方向の成分が他より大きく伸びるので、十分な回数の後にはベクトルがその方向を向きます。

xk+1=Axk∥Axk∥,λ≈xkTAxkxkTxk,ek∝∣λ2λ1∣k\mathbf x_{k+1}=\frac{A\mathbf x_k}{\lVert A\mathbf x_k\rVert},\qquad \lambda\approx\frac{\mathbf x_k^{T}A\mathbf x_k}{\mathbf x_k^{T}\mathbf x_k},\qquad e_k\propto\Big|\frac{\lambda_2}{\lambda_1}\Big|^{k}xk+1​=∥Axk​∥Axk​​,λ≈xkT​xk​xkT​Axk​​,ek​∝​λ1​λ2​​​k(1)

x0=c1v1+c2v2+⋯\mathbf x_0=c_1\mathbf v_1+c_2\mathbf v_2+\cdotsx0​=c1​v1​+c2​v2​+⋯ と固有ベクトルで展開します。kkk 回後には係数が λik\lambda_i^kλik​ 倍されるので、2番目と1番目の比は (λ2/λ1)k(\lambda_2/\lambda_1)^k(λ2​/λ1​)k です。∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣ で、初期ベクトルが v1\mathbf v_1v1​ 方向の成分を持てば収束し、速さは ∣λ2/λ1∣|\lambda_2/\lambda_1|∣λ2​/λ1​∣ で決まります。固有値が近いと収束は遅くなります。正規化はオーバーフローを防ぐだけで、重要なのは方向です。固有値の推定にはレイリー商を使います。次の固有対は、対称行列 AAA から λ1v1v1T\lambda_1\mathbf v_1\mathbf v_1^{T}λ1​v1​v1T​ を引いて繰り返し、これを収縮(デフレーション)と呼びます。

手計算で数ステップA=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​)(固有値3と1、支配的な固有ベクトルは (1,1)(1,1)(1,1))を考えます。x0=(1,0)\mathbf x_0=(1,0)x0​=(1,0) から始めると Ax0=(2,1)A\mathbf x_0=(2,1)Ax0​=(2,1) で、(2,1)(2,1)(2,1) のレイリー商は (2,1)⋅(5,4)5=145=2.8\frac{(2,1)\cdot(5,4)}{5}=\frac{14}{5}=2.85(2,1)⋅(5,4)​=514​=2.8 とすでに3に近い値です。次の積は A(2,1)=(5,4)A(2,1)=(5,4)A(2,1)=(5,4) で、ほぼ (1,1)(1,1)(1,1) の方向です。誤差は1回ごとに ∣λ2/λ1∣=1/3|\lambda_2/\lambda_1|=1/3∣λ2​/λ1​∣=1/3 倍になるので、10−610^{-6}10−6 まで縮めるには 3k≥1063^k\ge10^63k≥106 となる k=13k=13k=13 が必要です。
  • 更新:AAA を掛けてノルムで割ることを繰り返す。1回あたり行列ベクトル積1回のコスト。
  • 速さ:誤差は ∣λ2/λ1∣k|\lambda_2/\lambda_1|^k∣λ2​/λ1​∣k で減る。上位の固有値が近いと収束は遅い。
  • 条件:∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣ という差と、v1\mathbf v_1v1​ に直交しない初期ベクトル。
同じ発想がウェブページの順位付けに使われるべき乗法はPageRankの背後にある手法で、共分散行列が巨大であったり明示的に作られず積 AxA\mathbf xAx しか使えなかったりする場合に、何千もの資産の第1主成分を安く計算する方法でもあります。完全な分解を行うライブラリのルーチンは約 n3n^3n3 回の演算ですが、べき乗法の1ステップは密行列でも n2n^2n2 です。

ラボ:採点される内容

  • 何に収束するか15点
  • レイリー商20点
  • 収束比10点
  • 反復回数15点
  • アルゴリズムの順序15点
  • 遅い・失敗する場合15点
  • なぜ正規化するか10点
0/ 7問回答済み
問題
1選択15点未回答

∣λ1∣>∣λ2∣|\lambda_1|>|\lambda_2|∣λ1​∣>∣λ2​∣ のとき、べき乗法は(向きとして)どのベクトルに収束しますか。

2数値で答える20点未回答

A=(2112)A=\begin{pmatrix}2&1\\1&2\end{pmatrix}A=(21​12​)、x=(2,1)\mathbf x=(2,1)x=(2,1) のとき xTAx / xTx\mathbf x^{T}A\mathbf x\,/\,\mathbf x^{T}\mathbf xxTAx/xTx を計算してください。

Rayleighquotient=Rayleigh quotient =Rayleighquotient=許容:± 0.01
3数値で答える10点未回答

固有値が3と1の行列で、べき乗法の1ステップごとに誤差は何倍になりますか。

ratio=ratio =ratio=許容:± 0.005
4数値で答える15点未回答

1ステップごとの比が1/3のとき、誤差を少なくとも 10610^{6}106 分の1にする最小の整数 kkk(3k≥1063^k\ge10^63k≥106)はいくつですか。

k=k =k=許容:± 0.01
5手順を並べ替える15点未回答

べき乗法の手順を正しい順に並べてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1ノルムで割って単位ベクトルにする
  2. 2レイリー商を固有値として報告する
  3. 3零でないベクトルから始める
  4. 4向きが変わらなくなるまで繰り返す
  5. 5ベクトルに行列を掛ける
6選択15点未回答

単純なべき乗法の収束が遅い、または収束しない場面をすべて選んでください。

7言葉で説明する10点未回答

各掛け算のあとにノルムで割る理由を1〜2文で述べてください。

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

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

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

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