Quantitative Analysis / 定量分析
4. Probability and Statistics /
12. Fundamentals of Probability /
13. Random Variables / 確率変数
-
確率質量関数、累積分布関数、および期待値
- 離散型確率変数: サイコロの目、成功回数、人数、件数など
- 連続型確率変数: 身長、体重、温度、株価収益率、誤差項など
- 確率質量関数(離散型)
- 確率密度関数(連続型)
- 累積分布関数(離散型/連続型): ある値以下になる確率 → ある値以上になる確率(分位点・VaR・パーセンタイルなど)
-
平均、分散、歪度、尖度(母集団モーメント)
- 平均: μ
- 中心モーメント(確率変数 X - 平均 μの形になっているから)
- 分散: σ
- 歪度:
- 尖度:
-
確率密度関数、分位関数、および線形変換
- 確率密度関数(連続型)
- 分位関数: 累積分布関数 (CDF) の逆関数
14. Cmmon Univariate Random Variables / 一般的な単変量確率変数
-
一様分布、ベルヌーイ分布、二項分布、ポアソン分布
-
正規分布、対数正規分布
- 正規分布: 母分散が既知の母平均の推定・検定
- 用途: 資産によるリターンのモデルなど
- 信頼区間: 実際の結果がその範囲内に一定の割合で収まると予想される範囲
(95%信頼区間とは、確率変数が95%の確率で収まると予想される範囲) - 標準正規分布(z分布)
- 標準化: 確率変数の観測値をそのz値に変換するプロセス
- 標準正規分布の累積分布関数値
- 対数正規分布: 資産価値のモデルなど(負の値を取らないため)
- 検定方向の確認
問題文の表現 求める確率 種類 $X > a$ 右側だけ 右片側 $X \ge a$ 右側だけ 右片側 $X < a$ 左側だけ 左片側 $X \le a$ 左側だけ 左片側 $a < X < b$ 真ん中の範囲 区間確率 $X < a$ または $X > b$ 左右の外側 両側 平均から±何σ以上離れる 左右の外側 両側 絶対値で $ |Z | > a$ 左右の外側 両側 -
追加の分布
- スチューデントのt分布
- 用途: 母分散が未知の母平均の推定・検定
- カイ二乗分布
- 用途: 正規分布に従う母集団の分散の推定・検定
- F分布
- 用途: 2つの分散の比、または複数グループの平均の差
- 指数分布
- 用途: ある事象が起こるまでの待ち時間
- ベータ分布
- 用途: 確率・割合の不確実性
- 混合分布
- 用途: 複数の集団・状態が混ざったデータ
- スチューデントのt分布
-
分布の用途とユースケース
分布 主に扱うもの 用途 ユースケース 正規分布 平均 $\mu$ 母分散既知の母平均の推定・検定 平均身長、平均収益率 t分布 平均 $\mu$ 母分散未知の母平均の推定・検定 少標本で平均を検定する カイ二乗分布 分散 $\sigma^2$ 母分散の推定・検定 製品品質のばらつき検定 F分布 分散比 2つの分散比較、分散分析、回帰分析の有意性検定 ANOVA、回帰モデル全体のF検定 指数分布 待ち時間 次のイベントが起きるまでの時間 企業が債務不履行に陥るまでの時間など ベータ分布 確率・割合 成功確率$p$の推定、ベイズ推定の事前分布 デフォルト確率、回収率などのモデリング(信用リスクモデル) 混合分布 複数集団の混合 異なる性質の集団が混ざったデータの表現 文系・理系の点数分布、好況・不況のリターン分布
15. Multivariate Random Variables / 多変量確率変数
- 二変量分布の周辺分布と条件付き分布
- 確率行列を用いて確率質量関数を表現する
- 多変量確率変数: 確率変数のベクトル、ベクトルはn個の確率変数の次元
- 離散二変量確率変数の周辺分布と条件付き分布
- 周辺分布
- 条件付き分布
- 確率行列を用いて確率質量関数を表現する
- 二変量確率分布のモーメント
- 二変量確率関数の期待値
- 確率変数間の共分散と相関
- 共分散$\sigma$: 2つの確率変数のそれぞれの期待値からの偏差の積の期待値
- 相関係数: 2つの確率変数の共分散 / 2つの確率変数の標準偏差の積
- 二変量確率変数のモーメントの挙動
1. - 独立同分布の確率変数
- n個の独立同分布の確率変数の合計の期待値: $nμ$
- n個の独立同分布の確率変数の合計の分散: $nσ^2$
5. Sample Moments and Hypothesis Testing /
16. Sample Moments / サンプルモーメント
- 平均、分散、標準偏差の推定
- 分布のモーメント推定
17. Hypothesis Testing / 仮説検定
-
仮説検定の基礎
- 帰無仮説: 真であると仮定される母集団パラメータの値を指定するもの
- 対立仮説: 帰無仮説を棄却すべき検定統計量の値を指定するもの
- 検定統計量: 標本データから計算される値
- 臨界値: 帰無仮説を棄却すべきかどうかを判断するために、検定統計量の値と比較される値
比較 Z検定 t検定 使う場面 母分散が既知 母分散が未知 分母 σ / √n s / √n 使う分布 標準正規分布 t分布 自由度 なし n - 1 小標本での扱い 母分散既知なら使用可 母分散未知なら使用 実務・試験でよく使う 母分散既知の理論問題 母分散未知の平均検定 検定 有意水準 α 棄却域 Zの臨界値 検定統計量による帰無仮説の棄却条件 両側検定 5% 左右2.5%ずつ ±1.96 $|Z| > 1.96$、つまり $Z < -1.96\$ または \$Z > 1.96$ 右片側検定 5% 右側5% 1.645 $Z > 1.645$ 左片側検定 5% 左側5% -1.645 $Z < -1.645$ 両側検定 1% 左右0.5%ずつ ±2.576 $|Z| > 2.576$、つまり $Z < -2.576\$ または \$Z > 2.576$ 問題文の表現 対立仮説 検定 異なるか H₁: μ ≠ μ₀ 両側検定 差があるか H₁: μ ≠ μ₀ 両側検定 大きいか H₁: μ > μ₀ 右片側検定 増加したか H₁: μ > μ₀ 右片側検定 小さいか H₁: μ < μ₀ 左片側検定 減少したか H₁: μ < μ₀ 左片側検定 - 第一種過誤と第二種過誤
- 第一種過誤:帰無仮説が実際には正しいにもかかわらず、それを棄却してしまうこと。
- 第二種過誤:帰無仮説が実際には誤りであるにもかかわらず、それを棄却しないこと。
-
仮説検定の結果
- Z検定の検定統計量
$\frac{\bar{X}-\mu_0}{\sigma/\sqrt{n}}$ - t検定の検定統計量
$\frac{\bar{X}-\mu_0}{s/\sqrt{n}}$ - 対応のある2標本の平均差の検定の検定統計量
$\frac{(\bar{X}-\bar{Y})-\Delta_0}{\sqrt{\frac{s_X^2+s_Y^2-2\operatorname{cov}(X,Y)}{n}}}$
- Z検定の検定統計量
| 検定 | 対象 | 母分散 | 検定統計量 | 従う分布 |
|---|---|---|---|---|
| 1標本Z検定 | 1つの母平均 | 既知 | $\frac{\bar{X}-\mu_0}{\sigma/\sqrt{n}}$ | 標準正規分布 |
| 1標本t検定 | 1つの母平均 | 未知 | $\frac{\bar{X}-\mu_0}{s/\sqrt{n}}$ | 自由度 $n-1$ のt分布 |
| 2標本Z検定 | 2つの母平均の差 | 既知 | $\frac{(\bar{X}_1-\bar{X}_2)-\Delta_0}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}$ | 標準正規分布 |
| 2標本t検定 | 2つの母平均の差 | 未知・等分散 | $\frac{(\bar{X}_1-\bar{X}_2)-\Delta_0}{s_p\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}$ | 自由度 $n_1+n_2-2$ のt分布 |
| Welchのt検定 | 2つの母平均の差 | 未知・不等分散 | $\frac{(\bar{X}_1-\bar{X}_2)-\Delta_0}{\sqrt{\frac{s_1^2}{n_1}+\frac{s_2^2}{n_2}}}$ | 近似的に自由度 $\nu$ のt分布 |
| 対応のある2標本t検定 | 2つの母平均の差 | 未知・対応あり | $\frac{(\bar{X}-\bar{Y})-\Delta_0}{\sqrt{\frac{s_X^2+s_Y^2-2\operatorname{cov}(X,Y)}{n}}}$ | 自由度 $n-1$ のt分布 |
6. Regression Analysis / 回帰分析
18. Linear Regression / 線形回帰
-
回帰分析
- 回帰分析: 従属変数(または目的変数)と呼ばれる1つの変数の変化が、独立変数(または説明変数)と呼ばれる1つ以上の他の変数の変化によってどのように説明できるかを測定する
- 線形方程式
-
単回帰分析の場合:
$$
Y = \beta_0 + \beta_1 X + \varepsilon
$$ -
重回帰分析の場合:
$$
Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon
$$記号 意味 $Y$ 従属変数・目的変数 $X$ 独立変数・説明変数 $\beta_0$ 切片 $\beta_1, \beta_2, \cdots, \beta_k$ 回帰係数 $\varepsilon$ 誤差項
-
-
最小二乗推定
- 最小二乗法(OLS)推定: 二乗残差(すなわち誤差項)を最小化するために、パラメータαとβを推定する
- ダミー変数
- 決定係数($R^2$)
- OLS パラメータ推定の主要な前提条件
- 生存バイアス
- 同時生バイアス
- 省略変数
- 減衰バイアス
-
仮説検定(線形回帰の回帰係数の仮説検定)
- 信頼区間:
- p値:
- t値: t表と自由度n-2
19. Regression with Multiple Explanatory Variables / 複数の説明変数を用いた回帰分析
- 重回帰分析
- 上記: ポートフォリオの収益率などに使用される
- 線形回帰における適合度指標
-
総平方和
-
説明平方和
-
残差平方和
-
決定係数
-
調整済み決定係数
指標 日本語 数式 意味 $TSS$ 総平方和 $\sum(Y_i - \bar{Y})^2$ $Y$ の総変動 $ESS$ 説明平方和 $\sum(\hat{Y}_i - \bar{Y})^2$ モデルで説明できた変動 $RSS$ 残差平方和 $\sum(Y_i - \hat{Y}_i)^2$ モデルで説明できなかった変動 $R^2$ 決定係数 $\frac{ESS}{TSS}=1-\frac{RSS}{TSS}$ 総変動のうち説明できた割合 -
F検定: 複数の説明変数をまとめて見たとき、目的変数 Y を本当に説明できているのか?
項目 内容 F統計量 重回帰モデル全体の有意性を調べる統計量 帰無仮説 すべての回帰係数が0 対立仮説 少なくとも1つの回帰係数が0ではない 公式 $F = \frac{ESS/k}{RSS/(n-k-1)}$ $R^2$ との関係 $F = \frac{R^2/k}{(1-R^2)/(n-k-1)}$ t検定との違い t検定は個別係数、F検定はモデル全体 説明変数が1つの場合 $F = t^2$
-
20. Regression Diagnostics / 回帰診断
20.1 異分散性と多重共線性
異分散性とは
-
等分散性:
すべての観測値で残差の分散が一定であること=
どのデータ点でも、回帰直線からのズレ方がだいたい同じくらい -
異分散性:
残差の分散が一定でないこと=
たとえば、Xが小さいときはデータが回帰直線の近くに集まっているが、Xが大きくなるとデータが大きく広がるようなケース例 異分散が起きそうな理由 企業規模と利益 大企業ほど利益のばらつきが大きい 株価水準と価格変動 価格が高い銘柄ほど変動額が大きい ポートフォリオ規模と損益 運用額が大きいほど損益の絶対額が大きい リスク資産比率とリターン リスク資産比率が高いほどリターンのばらつきが大きい - 無条件異分散性
- 条件付き異分散性
-
異分散性の検出方法
-
異分散性の補正
多重共線性
- 多重共線性の検出方法
- 多重共線性の補正
20.2 モデル仕様
省略変数バイアス
バイアス・バリアンスのトレードオフ
-
バイアス: モデルの仮定がズレていることによる誤差(e.g. 説明変数が少ない or 足りていない)
-
バリアンス: データが少し変わるだけで、推定結果が大きく変わってしまう不安定さ(e.g. 説明変数が多い)
モデル 特徴 バイアス バリアンス 大きいモデル 説明変数が多い 低い 高い 小さいモデル 説明変数が少ない 高い 低い
残差プロット
OLSがBLUE(Best Linear Unbiased Estimator)になる条件
7. Forecasting, Correlation, and Machine Learning / 予測、相関、および機械学習
21. Stationary Time Series / 定常時系列
21.1 共分散時系列
共分散定常性
- 共分散定常性が成り立つ条件
- 平均が一定
- 分散が一定
- 共分散がラグだけで決まる
- 自己相関(ACF)
- 偏自己相関(PACF)
- ホワイトノイズ: 完全にランダムなデータ
予測できる部分はすべてモデルが説明し尽くし、残った説明できない部分だけが残差になるのが理想
その結果、残差はホワイトノイズになる
21.2 自己回帰モデルと移動平均モデル
| 項目 | ARモデル | MAモデル |
|---|---|---|
| 名前 | Auto Regressive | Moving Average |
| 現在を決めるもの | 過去の値 | 過去の誤差 |
| AR(1) | $Y_t=\phi Y_{t-1}+\varepsilon_t$ | $Y_t=\varepsilon_t+\theta\varepsilon_{t-1}$ |
| 記憶しているもの | 過去の観測値 | 過去のショック |
21.3 自己回帰移動平均モデル
| モデル | ACF | PACF |
|---|---|---|
| AR(1) | 徐々に減衰 | ラグ1で切れる |
| MA(1) | ラグ1で切れる | 徐々に減衰 |
| ARMA | 両方とも徐々に減衰 |
Box-Pierce検定とLjung-Box検定
- 目的: 残差に自己相関が残っていないか
- 帰無仮説: 残差に自己相関はない = 残差はホワイトノイズ
- 対立仮説: 少なくとも1つ自己相関がある
- 検定統計量Q > 臨界値
→ 帰無仮説棄却
→ 残差に自己相関あり
→ モデル不十分
22. Non-Stationary Time Series / 非定常時系列
22.1 時間的傾向
時間の経過に伴い平均が増加・減少する
22.2 季節性
一定周期で繰り返すパターン
22.3 単位根(ランダムウォーク)
22.3 ランダムウォークと単位根
ランダムウォーク(Random Walk)
| 項目 | 内容 |
|---|---|
| 定義 | 現在値 = 前期値 + ランダムショック |
| 数式 | $Y_t = Y_{t-1} + \varepsilon_t$ |
| 特徴 | 過去のショックが永久に残る |
| 平均回帰 | しない |
| 分散 | 時間とともに増加 |
| 定常性 | 非定常(共分散定常ではない) |
| AR(1)との関係 | $\phi = 1$ の特殊なAR(1) |
単位根(Unit Root)
| 項目 | 内容 |
|---|---|
| 定義 | ARモデルの係数が1である状態 |
| 数式 | $Y_t = \phi Y_{t-1} + \varepsilon_t,\ \phi = 1$ |
| 意味 | ショックの影響が消えず累積する |
| ランダムウォークとの関係 | FRMではほぼ同義として扱う |
| 問題点 | AR・MA・ARMAを直接適用できない |
ランダムウォークの展開
$$
Y_t = Y_0 + \varepsilon_1 + \varepsilon_2 + \cdots + \varepsilon_t
$$
- 現在値は初期値と過去すべてのショックの累積で決まる
- 一度発生したショックは将来にわたって影響を与え続ける
単位根系列をそのまま分析する問題点
| 問題 | 内容 |
|---|---|
| 平均回帰しない | 長期平均へ戻る性質がない |
| 分散が増加する | 時間とともにばらつきが大きくなる |
| 見せかけの回帰 | 無関係な系列同士でも高い相関が現れる |
| ARMA推定が不安定 | 推定量が通常の分布に従わない |
解決方法:差分化(Differencing)
一次差分
$$
\Delta Y_t = Y_t - Y_{t-1}
$$
ランダムウォークの場合
$$
Y_t = Y_{t-1} + \varepsilon_t
$$
より
$$
\Delta Y_t = \varepsilon_t
$$
となる。
- 単位根系列 → 定常系列へ変換可能
- トレンドや季節性の除去にも有効
- 差分後も非定常なら二次差分を検討
- 定常系列への過剰な差分化(Overdifferencing)は避ける
時系列データに単位根が含まれているかどうかをテストする方法
-
拡張ディッキー・フラー検定(ADF: Augmented Dickey-Fuller)検定
- 目的: 系列に単位根が存在するかを検定する
- 回帰式
$\Delta Y_t = \gamma Y_{t-1}
+
\delta_0
+
\delta_1 t
+
\lambda_1\Delta Y_{t-1}
+\cdots+
\lambda_p\Delta Y_{t-p}
+
\varepsilon_t
$
| 仮説 | 内容 |
|---|---|
| 帰無仮説 $H_0$ | $\gamma = 0$(単位根あり・ランダムウォーク) |
| 対立仮説 $H_1$ | $\gamma < 0$(定常系列) |
ADF検定の判定
| 結果 | 解釈 |
|---|---|
| 帰無仮説を棄却できない | 単位根あり(非定常) |
| 帰無仮説を棄却 | 単位根なし(定常) |
FRM頻出ポイント
- ランダムウォーク = 「今日 = 昨日 + 誤差」
- 単位根 = 「AR係数が1」
- 単位根系列は非定常
- 差分化で定常化する
- ADF検定の帰無仮説は「単位根あり」
23. Measuring Retururns, Valatility, and Correlation / リターン、ボラティリティ、および相関の測定
23.1 リターンとボラティリティの定義
| 概念 | 覚えること |
|---|---|
| 単純リターン | $(P_t-P_{t-1})/P_{t-1}$ |
| 対数リターン | $\ln(P_t/P_{t-1})$ |
| 対数リターンの特徴 | 足し算できる |
| ボラティリティ | リターンの標準偏差 |
| 分散 | ボラティリティの二乗 |
| n期間平均 | $n\mu$ |
| n期間分散 | $n\sigma^2$ |
| n期間ボラティリティ | $\sqrt{n}\sigma$ |
| 年率化 | ボラティリティは$√時間$で増える |
| インプライドボラティリティ | オプション価格から逆算する将来予想 |
| ブラック・ショールズ・マートン(BSM)モデル | 入力(現在価格, 行使価格, 満期, 金利, ボラティリティ) |
| VIX(市場の恐怖指数) | S&P500の30日先の予想ボラティリティ |
23.2 正規分布と非正規分布
ジャルク・ベラ検定(JB: Jarque-Bera Test)
-
目的: データが正規分布に従うかどうかを検定する
-
着目する指標
- 歪度(Skewness, $S$)
- 尖度(Kurtosis, $K$)
-
検定統計量
$$
JB=(T-1)\left(
\frac{\hat S^2}{6}
+
\frac{(\hat K-3)^2}{24}
\right)
$$
| 記号 | 内容 |
|---|---|
| $T$ | サンプル数 |
| $\hat S$ | 標本歪度 |
| $\hat K$ | 標本尖度 |
| 仮説 | 内容 |
|---|---|
| 帰無仮説 $H_0$ | $S=0$ かつ $K=3$(正規分布) |
| 対立仮説 $H_1$ | $S \neq 0$ または $K \neq 3$(非正規分布) |
| 判定 | 内容 |
|---|---|
| $JB > \chi^2_{2,\alpha}$ | 帰無仮説を棄却(非正規分布) |
| $JB \leq \chi^2_{2,\alpha}$ | 帰無仮説を棄却できない(正規分布と矛盾しない) |
-
従う分布
- 自由度2のカイ二乗分布
| 有意水準 | 臨界値 |
|---|---|
| 5% | 5.99 |
| 1% | 9.21 |
歪度(Skewness)
- 目的: 分布の左右の非対称性を測る
| 歪度 | 分布の形 |
|---|---|
| $S=0$ | 左右対称 |
| $S>0$ | 右裾が長い(右に歪む) |
| $S<0$ | 左裾が長い(左に歪む) |
尖度(Kurtosis)
- 目的: 分布の裾の厚さを測る
| 尖度 | 分布の特徴 |
|---|---|
| $K=3$ | 正規分布 |
| $K>3$ | 裾が厚い(極端値が発生しやすい) |
| $K<3$ | 裾が薄い |
- 超過尖度(Excess Kurtosis)
$$
\text{Excess Kurtosis}=K-3
$$
| 超過尖度 | 解釈 |
|---|---|
| $0$ | 正規分布 |
| $>0$ | 厚い裾(Fat Tail) |
| $<0$ | 薄い裾 |
パワーロー(Power Law)
- 目的: 金融リターンのような厚い裾を持つ分布を表現する
- 確率分布
$$
P(X>x)=kx^{-\alpha}
$$
| 記号 | 内容 |
|---|---|
| $k$ | 定数 |
| $\alpha$ | テール指数 |
| $x$ | 閾値 |
-
特徴
- 正規分布よりも裾が厚い
- 極端な損失や利益が発生しやすい
- 金融市場のリターンによく見られる
| 分布 | 裾の厚さ |
|---|---|
| 正規分布 | 薄い |
| t分布 | 厚い |
| パワーロー分布 | 非常に厚い |
23.3 相関関係と依存性
2つの変数間の関係(依存性)を測る指標
| 指標 | 測るもの | 非線形対応 | 外れ値耐性 |
|---|---|---|---|
| Pearson(ピアソン) | 線形関係 | × | 弱い |
| Spearman(スペアマン) | 順位関係 | ○ | 強い |
| Kendall τ(ケンドール) | 順位の一致度 | ○ | 強い |
24. Simulation and Boostrapping / シミュレーションとブートストラップ
24.1 Monte Carlo Simulation and Sampling Error Reduction / モンテカルロシミュレーションとサンプリング誤差削減
| 概念 | 覚えること |
|---|---|
| モンテカルロシミュレーション | 仮定した確率分布から乱数を発生させ、結果を何度も計算する |
| DGP | Data Generating Process、データ生成過程 |
| レプリケーション | シミュレーションの繰り返し回数 |
| 出力変数 | シミュレーションによって得られる結果 |
| 母集団モーメント | 平均、分散、歪度、尖度など、分布の特徴 |
| サンプリング誤差 | 乱数サンプルの偏りによる推定誤差 |
| 標準誤差 | 推定値のばらつき |
| 分散削減手法 | 少ない計算回数で標準誤差を小さくする工夫 |
| 対立変数法 | 反対方向の乱数を使ってブレを打ち消す |
| コントロール変数法 | 既知の値を持つ類似変数で推定値を補正する |
モンテカルロシミュレーションの基本手順
-
目的: 将来起こりうる結果を大量に作り、結果の分布を推定する
-
考え方
- 1つの答えを出すのではなく、可能な結果の分布を作る
- 平均、分散、分位点、VaRなどを近似できる
- 金融では、オプション価格、ストレステスト、資本要件、ポートフォリオリスクなどに使われる
| ステップ | 内容 |
|---|---|
| 1 | 仮定したDGPからランダムな入力データを生成する |
| 2 | 入力データを使って関心のある統計量・関数を計算する |
| 3 | ステップ1と2を$N$回繰り返す |
| 4 | 得られた結果から平均、分散、分位点などを推定する |
| 5 | 標準誤差を計算し、推定精度を評価する |
入力データと出力データ
- 第$i$回目のランダム入力データ
$$
x_i=[x_{1i},x_{2i},...,x_{ni}]
$$
| 記号 | 内容 |
|---|---|
| $x_i$ | 第$i$回目のシナリオ |
| $x_{1i},x_{2i},...,x_{ni}$ | そのシナリオで使う複数の入力変数 |
| $g(x_i)$ | 入力データから結果を計算する関数 |
| $g_i$ | 第$i$回目の出力結果 |
- 出力結果
$$
g_i=g(x_i)
$$
- $N$回繰り返すと、次のような出力結果が得られる
$$
g_1,g_2,...,g_N
$$
期待値の近似
- 目的: 真の期待値を、シミュレーション平均で近似する
$$
E[g(X)] \approx \frac{1}{N}\sum_{i=1}^{N}g_i
$$
| 記号 | 内容 |
|---|---|
| $E[g(X)]$ | 本来知りたい期待値 |
| $g_i$ | 第$i$回目のシミュレーション結果 |
| $N$ | レプリケーション回数 |
ポートフォリオの終了資本の例
- 初期資本を$C_0$、1年後のリターンを$r$とすると、1年後の資本は次の通り
$$
C_1=C_0(1+r)
$$
| 項目 | 内容 |
|---|---|
| $C_0$ | 初期資本 |
| $r$ | 1年間のリターン |
| $C_1$ | 1年後の終了資本 |
- モンテカルロでは、$r$を1つに固定しない
- 複数のリターンシナリオを発生させる
$$
r_1,r_2,...,r_N
$$
- それぞれについて終了資本を計算する
$$
C_{1,i}=C_0(1+r_i)
$$
- その結果、終了資本の分布が得られる
$$
C_{1,1},C_{1,2},...,C_{1,N}
$$
母集団モーメントの推定
- 目的: シミュレーション結果から分布の特徴を推定する
| モーメント | 内容 | 金融での意味 |
|---|---|---|
| 平均 | 中心的な値 | 期待リターン |
| 分散 | ばらつき | リスク |
| 標準偏差 | 分散の平方根 | ボラティリティ |
| 歪度 | 左右の非対称性 | 下方リスクの偏り |
| 尖度 | 裾の厚さ | 極端な損失の起こりやすさ |
- リスク管理では、平均だけでなく分位点も重要
| 指標 | 内容 |
|---|---|
| 5%分位点 | 悪い方から5%目の結果 |
| 1%分位点 | 悪い方から1%目の結果 |
| VaR | 一定確率で発生しうる最大損失 |
モンテカルロの標準誤差
- 目的: シミュレーション平均の推定精度を測る
- 標準誤差
$$
SE=\frac{s}{\sqrt{N}}
$$
| 記号 | 内容 |
|---|---|
| $SE$ | 標準誤差 |
| $s$ | シミュレーション結果の標準偏差 |
| $N$ | レプリケーション回数 |
| レプリケーション回数 | 標準誤差 |
|---|---|
| $N$ | $s/\sqrt{N}$ |
| $4N$ | $s/(2\sqrt{N})$ |
| $100N$ | $s/(10\sqrt{N})$ |
-
重要なポイント
- $N$を4倍にすると、標準誤差は半分になる
- $N$を100倍にすると、標準誤差は10分の1になる
- 精度を上げるには、多くの計算が必要になる
標準誤差の計算例
- 平均終了資本: $110$
- 標準偏差: $14.80$
- レプリケーション回数: $N=100$
$$
SE=\frac{14.80}{\sqrt{100}}
=\frac{14.80}{10}
=1.48
$$
- レプリケーション回数を$N=400$に増やす
$$
SE=\frac{14.80}{\sqrt{400}}
=\frac{14.80}{20}
=0.74
$$
| $N$ | 標準誤差 |
|---|---|
| 100 | $1.48$ |
| 400 | $0.74$ |
対立変数法(Antithetic Variates)
-
目的: 反対方向の乱数を使って、サンプリング誤差を小さくする
-
考え方
- 乱数$u$を使ったら、同時に$-u$も使う
- 良すぎるシナリオと悪すぎるシナリオをペアにする
- 偶然の偏りを打ち消しやすくなる
| 元の乱数 | 対立変数 |
|---|---|
| $u$ | $-u$ |
| $0.8$ | $-0.8$ |
| $1.2$ | $-1.2$ |
| $-0.5$ | $0.5$ |
- 相関
$$
corr(u,-u)=-1
$$
対立変数法で分散が下がる理由
- 2つのシミュレーション結果の平均
$$
\bar{x} =
\frac{x_1+x_2}{2}
$$
- 平均の分散
$$
Var(\bar{x}) =
\frac{
Var(x_1)+Var(x_2)+2Cov(x_1,x_2)
}{4}
$$
| ケース | 共分散 | 分散への影響 |
|---|---|---|
| 独立した乱数 | $Cov(x_1,x_2)=0$ | 分散削減効果は小さい |
| 対立変数 | $Cov(x_1,x_2)<0$ | 分散が小さくなりやすい |
-
ポイント
- 対立変数では、2つの結果が逆方向に動きやすい
- そのため、共分散が負になりやすい
- 負の共分散が平均の分散を小さくする
コントロール変数法(Control Variates)
-
目的: 既知の値を持つ類似変数を使って、推定値を補正する
-
考え方
- 本当に知りたい変数$x$の真の値は分からない
- しかし、よく似た変数$y$の真の値は分かっている
- $y$を使って、$x$のシミュレーション誤差を補正する
| 記号 | 内容 |
|---|---|
| $x$ | 本当に知りたい変数 |
| $\hat{x}$ | モンテカルロで推定した$x$ |
| $y$ | 真の値が分かっている類似変数 |
| $\hat{y}$ | モンテカルロで推定した$y$ |
| $x^*$ | 補正後の推定値 |
- 補正式
$$
x^*=y+(\hat{x}-\hat{y})
$$
コントロール変数法が有効な条件
- 補正後の分散
$$
Var(x^*) =
Var(\hat{x})+Var(\hat{y})-2Cov(\hat{x},\hat{y})
$$
- コントロール変数法が有効になる条件
$$
Var(x^*)<Var(\hat{x})
$$
- つまり、
$$
Var(\hat{y})-2Cov(\hat{x},\hat{y})<0
$$
- 整理すると、
$$
Cov(\hat{x},\hat{y})>\frac{Var(\hat{y})}{2}
$$
| 条件 | 意味 |
|---|---|
| $\hat{x}$と$\hat{y}$の相関が高い | 補正効果が大きい |
| $\hat{x}$と$\hat{y}$の相関が低い | 補正効果が小さい |
| 共分散が十分に大きい | サンプリング誤差を削減できる |
24.2 Bootstrapping and Random Number Generation / ブートストラップと乱数生成
| 概念 | 覚えること |
|---|---|
| ブートストラップ | 過去データから置換ありで再抽出する方法 |
| i.i.d.ブートストラップ | 観測値を1つずつランダムに再抽出する |
| CBB | 連続した観測ブロックを再抽出する |
| 置換あり | 一度選んだデータを戻して、再び選べるようにする |
| PRNG | 疑似乱数生成器 |
| シード値 | 乱数列を再現するための初期値 |
| 構造変化 | 過去データの性質が現在と変わってしまうこと |
ブートストラップ手法
-
目的: 実際の過去データを使って、疑似的なサンプルを作る
-
考え方
- 確率分布を仮定しない
- 過去データからランダムに再抽出する
- 置換ありで抽出するため、同じ観測値が複数回選ばれることがある
| 方法 | 乱数の元 |
|---|---|
| モンテカルロ | 仮定した確率分布 |
| ブートストラップ | 実際の過去データ |
モンテカルロとブートストラップの違い
| 項目 | モンテカルロ | ブートストラップ |
|---|---|---|
| 乱数の元 | 仮定した分布 | 過去データ |
| 分布の仮定 | 必要 | 基本的に不要 |
| 例 | 正規分布からリターンを生成 | 過去リターンから再抽出 |
| 強み | 将来シナリオを自由に設計できる | 実データに基づく |
| 弱み | 分布仮定が間違うと危険 | 過去にない事象を表現しにくい |
i.i.d.ブートストラップ
- 目的: 観測値が独立していると仮定して、1つずつ再抽出する
- i.i.d.の意味
| 用語 | 内容 |
|---|---|
| independent | 観測値が互いに独立 |
| identically distributed | 同じ分布から発生している |
- 過去データ
$$
x_1,x_2,...,x_{10}
$$
- ブートストラップサンプルの例
| シミュレーション | 抽出された観測値 |
|---|---|
| 1回目 | ${x_2,x_7,x_9}$ |
| 2回目 | ${x_2,x_5,x_{10}}$ |
| 3回目 | ${x_1,x_1,x_8}$ |
-
ポイント
- 同じ観測値が複数回選ばれてよい
- これは置換ありサンプリングだから
- 観測値が独立している場合には有効
i.i.d.ブートストラップの弱点
- 金融データでは、観測値が独立でないことが多い
- 特に、ボラティリティには時系列依存がある
| 現象 | 内容 |
|---|---|
| ボラティリティ・クラスタリング | 変動が大きい時期には、大きい変動が続きやすい |
| 時系列依存 | 前後のデータが互いに関係している |
| i.i.d.抽出の問題 | 1つずつバラバラに抽出すると、時系列のつながりが壊れる |
円形ブロックブートストラップ(CBB: Circular Block Bootstrap)
-
目的: 時系列依存をある程度保ったまま、ブートストラップする
-
考え方
- 観測値を1つずつではなく、連続したブロックで抽出する
- 最後の観測値まで行ったら、最初の観測値に戻る
- そのため「円形」と呼ばれる
-
過去データ
$$
x_1,x_2,...,x_{10}
$$
- ブロックサイズを3とする場合
| ブロック | 中身 |
|---|---|
| 1 | ${x_1,x_2,x_3}$ |
| 2 | ${x_2,x_3,x_4}$ |
| 3 | ${x_3,x_4,x_5}$ |
| 8 | ${x_8,x_9,x_{10}}$ |
| 9 | ${x_9,x_{10},x_1}$ |
| 10 | ${x_{10},x_1,x_2}$ |
-
ポイント
- 連続したデータをまとめて抽出する
- 短期的な時系列依存を保ちやすい
- 金融時系列では、i.i.d.より自然な場合がある
CBBのブロックサイズ
- ブロックサイズは、時系列依存を反映できる程度に大きくする
- ただし、大きすぎるとブロック数が少なくなる
- 目安として、サンプルサイズ$n$に対して次が使われる
$$
\text{Block Size} \approx \sqrt{n}
$$
| ブロックサイズ | 問題 |
|---|---|
| 小さすぎる | 時系列依存を保てない |
| 大きすぎる | 作れるブロック数が少なくなる |
| $\sqrt{n}$程度 | 実務上の目安 |
ブートストラップが効果的でない状況
| 状況 | なぜ問題か |
|---|---|
| 現在の市場環境が過去と大きく違う | 過去データを再抽出しても現在を表せない |
| 構造変化が起きた | 古いデータの意味が変わってしまう |
| 過去にない危機を評価したい | 過去データに存在しないため再現できない |
| サンプル数が少ない | 同じデータの使い回しになりやすい |
-
例
- 金融危機前の低ボラティリティデータだけでVaRを推定すると、危機時の損失を過小評価しやすい
- 金利水準が構造的に変わった場合、古い金利データをそのまま使うと現在の市場を表せない
疑似乱数生成(PRNG: Pseudo-Random Number Generator)
-
目的: コンピュータでランダムに見える数値列を生成する
-
特徴
- 完全な乱数ではない
- 数式やアルゴリズムによって作られる
- 同じシード値を使えば、同じ乱数列を再現できる
| 用語 | 内容 |
|---|---|
| PRNG | 疑似乱数生成器 |
| pseudo | 本物ではないが、それらしく見えるという意味 |
| 一様乱数 | 0から1の間で均等に発生する乱数 |
| シード値 | 乱数列を決める初期値 |
- 一般的に、PRNGはまず一様乱数を生成する
$$
U(0,1)
$$
- 必要に応じて、正規分布や$t$分布などに変換する
シード値のメリット
| メリット | 内容 |
|---|---|
| 再現性 | 同じシミュレーション結果を後から再現できる |
| モデル比較 | 同じ乱数を使って複数モデルを比較できる |
| 規制対応 | リスク計算の根拠を再現できる |
| クラスター計算 | 複数マシンで同じ乱数シナリオを共有できる |
-
重要なポイント
- シード値を固定すると、同じ乱数列が出る
- シード値を変えると、異なる乱数列が出る
- 金融リスク管理では、再現性が重要になる
シミュレーション手法の欠点
| 欠点 | 内容 |
|---|---|
| DGPの仕様ミス | 入力分布やモデル仮定が間違うと、結果も間違う |
| 計算コスト | 精度を上げるには大量のレプリケーションが必要 |
| 分布仮定のリスク | 正規分布を仮定すると、ファットテールを過小評価しやすい |
| 過去データ依存 | ブートストラップでは、過去にない事象を表現しにくい |
DGPの仕様ミス
- DGP: Data Generating Process、データ生成過程
- 意味: データがどのようなルールで発生していると仮定するか
例えば、リターンが正規分布に従うと仮定する場合、
$$
r \sim N(\mu,\sigma^2)
$$
と書ける。
| 仮定 | 問題 |
|---|---|
| リターンが正規分布に従う | 実際にはファットテールがある可能性 |
| 分散が一定 | 実際にはボラティリティが変化する可能性 |
| 観測値が独立 | 実際には時系列依存がある可能性 |
-
ポイント
- シミュレーション回数を増やしても、DGPが間違っていれば正しい結果にはならない
- 「たくさん計算したから正しい」とは限らない
- 金融では、分布仮定の誤りがリスクの過小評価につながりやすい
25. Machine-Larning Methods / 機械学習法
25.1 機械学習とデータ準備
機械学習と計量経済学の違い
| 項目 | 計量経済学 | 機械学習 |
|---|---|---|
| 目的 | 仮説検証・説明 | 予測精度向上 |
| モデル選択 | 人間が決定 | データが決定 |
| 理論 | 経済・金融理論を重視 | 必須ではない |
| 関数形 | 主に線形 | 非線形も扱える |
| 重視するもの | 統計的有意性、誤差分析 | 予測精度 |
用語の対応
| 計量経済学 | 機械学習 |
|---|---|
| Independent Variable | Feature(特徴量) |
| Dependent Variable | Label / Target |
| Observation | Sample |
| Estimation | Training |
機械学習の3種類
教師あり学習(Supervised Learning)
- ラベル付きデータを用いる
- 目的:予測
例
- 住宅価格予測
- 株価予測
- 勝敗予測
教師なし学習(Unsupervised Learning)
- ラベルなしデータを用いる
- 目的:パターン発見・構造理解
例
- クラスタリング
- 異常検知
- 次元削減
強化学習(Reinforcement Learning)
- 試行錯誤による学習
- 目的:報酬最大化
例
- 大口取引執行
- デリバティブヘッジ
- ポートフォリオ運用
データの前処理
標準化(Standardization)
平均を0、分散を1に変換する。
$$
z =
\frac{x-\mu}{\sigma}
$$
特徴
- 平均 = 0
- 分散 = 1
- 外れ値に比較的強い
- 最も一般的な方法
正規化(Normalization)
最小値を0、最大値を1に変換する。
$$
x^{*} =
\frac{x-x^{min}}
{x^{max}-x^{min}}
$$
特徴
- 値は0~1になる
- 外れ値の影響を受けやすい
標準化と正規化
| 項目 | 標準化 | 正規化 |
|---|---|---|
| 平均 | 0 | 一定でない |
| 分散 | 1 | 一定でない |
| 範囲 | 制限なし | 0~1 |
| 外れ値耐性 | 強い | 弱い |
データクリーニング
欠損値
対応方法
- 観測値を削除
- 平均値補完
- 中央値補完
- 他変数から推定
外れ値
- 平均から数標準偏差離れた観測値
- 必要に応じて除去または補正
重複データ
- 同じ観測値を削除する
記録の不一致
例
- Tokyo
- TOKYO
- tokyo
- 東京
→ 表記を統一する
不要データ
予測に寄与しない変数を削除する。
例
- ID
- システム内部番号
FRM試験向け暗記事項
- 計量経済学 = 説明(Explain)
- 機械学習 = 予測(Predict)
- 教師あり学習 = ラベルあり
- 教師なし学習 = ラベルなし
- 強化学習 = 報酬最大化
- 標準化 = 平均0・分散1
- 正規化 = 最小0・最大1
- 機械学習では「統計的有意性」よりも「予測精度」を重視する。
25.2 主成分分析とK平均クラスタリング(教師なし学習)
PCA(Principal Component Analysis:主成分分析)
- 目的
- 多数の相関した特徴量を、少数の互いに無相関な主成分へ変換し、次元削減を行う
- 特徴
- 主成分は元の変数の線形結合
- 情報量(分散)をできるだけ保持したまま特徴量数を削減できる
- 教師なし学習における代表的な次元削減手法
- 金融での利用例
- イールドカーブの変動分析
- 第1主成分:Parallel Shift(平行移動)
- 第2主成分:Twist(短期・長期金利の逆方向変動)
- 第3主成分:Butterfly(中期ゾーン中心の変動)
- 複数の金利系列の変動は、少数の主成分でほぼ説明できる
- イールドカーブの変動分析
K-means Clustering(K平均クラスタリング)
-
目的
- データを似た特徴を持つグループ(クラスタ)に分類する
-
アルゴリズム
- クラスタ数 $K$ を決める
- 重心(Centroid)をランダムに配置する
- 各データを最も近い重心へ割り当てる
- 割り当てられたデータの平均位置へ重心を更新する
- 重心が変化しなくなるまで繰り返す
-
距離尺度
- ユークリッド距離
$$
d_E=
\sqrt{
\sum_{i=1}^{m}
(x_{iQ}-x_{iP})^2
}
$$- マンハッタン距離
$$
d_M=
\sum_{i=1}^{m}
|x_{iQ}-x_{iP}|
$$ -
評価指標
- Inertia(慣性)
$$
Inertia=
\sum_{j=1}^{n}
d_j^2
$$- 各データ点と重心との距離の二乗和
- 小さいほどクラスタリング性能が良い
-
最適なクラスタ数の決定方法
-
Elbow Method(エルボー法)
- Inertiaの減少が緩やかになる点を最適な$K$とする
-
Silhouette Coefficient(シルエット係数)
- 値が大きいほどクラスタ分離が良好
- 最も高いスコアを与える$K$を採用する
-
Elbow Method(エルボー法)
| 手法 | PCA | K-means |
|---|---|---|
| 目的 | 次元削減 | クラスタリング |
| 出力 | 主成分 | クラスタ |
| 教師データ | 不要 | 不要 |
| 主な評価指標 | 寄与率 | Inertia、Silhouette係数 |
| 金融での利用例 | イールドカーブ分析 | 顧客分類、銘柄分類 |
25.3 予測手法とサンプル分割
過少学習(Underfitting)と過学習(Overfitting)
| 項目 | 過少学習(Underfitting) | 過学習(Overfitting) |
|---|---|---|
| 原因 | モデルが単純すぎる | モデルが複雑すぎる |
| 学習データ誤差 | 大きい | 非常に小さい |
| 未知データ誤差 | 大きい | 大きい |
| Bias(バイアス) | 高い | 低い |
| Variance(分散) | 低い | 高い |
| 問題点 | 重要なパターンを捉えられない | ノイズまで学習してしまう |
| 対策 | 特徴量追加、モデルの複雑化 | 特徴量削減、正則化、データ増加 |
バイアス・分散トレードオフ
モデルを複雑にすると、
- Bias(偏り)は減少する
- Variance(予測のばらつき)は増加する
ため、総誤差はU字型となり、最適な複雑さのモデルが存在する。
学習データ・検証データ・テストデータ
| データ | 用途 |
|---|---|
| Training Set(訓練データ) | モデルのパラメータ推定 |
| Validation Set(検証データ) | 複数モデルの比較・選択 |
| Test Set(テストデータ) | 選択したモデルの最終評価 |
理想的なモデルは、
$$
Training\ Error \approx Test\ Error
$$
となるモデルであり、未知データに対する予測性能(Generalization)が高い。
一般的なデータ分割比率は、
| データ | 割合 |
|---|---|
| Training | 2/3 |
| Validation | 1/6 |
| Test | 1/6 |
クロスセクションデータと時系列データ
| データ | 分割方法 |
|---|---|
| クロスセクションデータ | ランダムに分割可能 |
| 時系列データ | 過去→Validation→未来の順に分割 |
時系列データでは未来の情報を学習に利用してはいけない。
k-fold Cross Validation
データ数が少ない場合に利用する手法。
データを $k$ 個の部分集合に分割し、
- $k-1$ 個で学習
- 残り1個で検証
を $k$ 回繰り返し、その平均誤差で性能を評価する。
一般的には、
$$
k=5
\quad または \quad
k=10
$$
が利用される。
交差検証誤差は、
$$
CV\ Error=
\frac{1}{k}
\sum_{i=1}^{k}
Error_i
$$
で求められる。
Leave-One-Out Cross Validation(LOOCV)
各データ点を1回ずつ検証用データとして利用する手法。
$$
k=n
$$
となる特殊な k-fold Cross Validation である。
FRM試験の暗記ポイント
- Underfitting = High Bias、Low Variance
- Overfitting = Low Bias、High Variance
- Training Set = パラメータ推定
- Validation Set = モデル選択
- Test Set = 最終評価
- 時系列データは時間順に分割する
- 小標本では k-fold Cross Validation を利用する
- LOOCV は $k=n$ の場合である
25.4 強化学習と自然言語処理
強化学習(Reinforcement Learning)
- 目的:試行錯誤を通じて報酬を最大化する意思決定ルール(Policy)を学習する
- 金融分野の応用例
- デリバティブのヘッジ
- 自動売買戦略
- 大口取引の執行最適化
- 強化学習の主要要素
| 要素 | 内容 |
|---|---|
| State ($S$) | 現在の環境や状況 |
| Action ($A$) | 実行する行動 |
| Reward ($R$) | 行動の結果得られる報酬 |
-
行動価値関数(Q値)
$$
Q(S,A)
$$- 状態 $S$ において行動 $A$ を取ることの期待価値
- 最適行動は Q値が最大となる行動
$$
V(S)\max_A
\left(
Q(S,A)
\right)
$$ -
Exploration と Exploitation
| 手法 | 内容 |
|---|---|
| Exploration(探索) | 未知の行動を試す |
| Exploitation(活用) | 現時点で最善の行動を選択する |
- 学習が進むにつれて Exploration の割合は減少し、Exploitation の割合が増加する
Q値の更新方法
-
モンテカルロ法(Monte Carlo Method)
- 最終的な報酬を用いてQ値を更新する
$$
Q_{new}(S,A)Q_{old}(S,A)
+
\alpha
\left(
RQ_{old}(S,A)
\right)
$$ -
時間差分学習(Temporal Difference Learning)
- 現在の報酬と次状態の価値を利用して更新する
- 1ステップ先のみを考慮する
$$
Q_{new}(S,A)Q_{old}(S,A)
+
\alpha
\left(
R
+
V(S')Q_{old}(S,A)
\right)
$$
| 手法 | 特徴 |
|---|---|
| モンテカルロ法 | 最終結果まで観測して学習 |
| TD学習 | 次の1ステップのみで学習 |
- 深層強化学習(Deep Reinforcement Learning)
- ニューラルネットワークを利用してQ値を推定する手法
- 状態数が膨大な問題に適用される
自然言語処理(Natural Language Processing: NLP)
- 人間の言語(文章・音声)を解析する機械学習手法
- 主な用途
- 会計不正検知
- ニュースや決算資料の感情分析
- 文書分類
- メッセージの意図判定
NLPの前処理
| 手法 | 内容 | 例 |
|---|---|---|
| Tokenization | 単語への分割 | "Hello World" → "hello", "world" |
| Stopword Removal | 意味の薄い単語を除去 | the, has, a |
| Stemming | 語幹へ変換 | arguing → argu |
| Lemmatization | 原形へ変換 | worse → bad |
| N-gram | 複数単語をまとめて扱う | exceed analyst expectations |
- Bag of Words
- 文書を単語の集合として扱う手法
- N-gram を除き、単語の順序は考慮しない
感情分析(Sentiment Analysis)
- 文書全体をポジティブ・ネガティブ・中立に分類する
- 感情辞書を用いて単語数を集計する
| ポジティブ語 | ネガティブ語 |
|---|---|
| grow | concern |
| increase | disappoint |
| rise | decrease |
| relief | decline |
- 課題
- 単語単独では文脈を考慮できない
- 否定表現や皮肉表現の判定は難しい
FRM試験で覚えるポイント
- 強化学習 = 「報酬最大化のための試行錯誤学習」
- Q値 = 「状態と行動の組み合わせの価値」
- Exploration = 新しい行動を試す
- Exploitation = 現在最善の行動を選択する
- モンテカルロ法 = 最終結果から学習
- TD学習 = 1ステップ先を見て学習
- Stemming = 語幹化(実在しない単語になることがある)
- Lemmatization = 原形化(辞書に存在する単語になる)
- Bag of Words = 単語順序を無視する表現方法
26. Machine Learning and Prediction / 機械学習と予測
26.1 カテゴリ変数、正則化、およびロジスティック回帰
カテゴリ変数(Categorical Variables)
機械学習では、文字列などのカテゴリデータを数値へ変換(エンコーディング)する必要がある。
| カテゴリ変数 | 手法 | 特徴 |
|---|---|---|
| 順序なし(Nominal) | One-Hot Encoding | 各カテゴリを0/1のダミー変数で表現 |
| 順序あり(Ordinal) | Ordinal Encoding | 順位に応じて0,1,2,...を割り当てる |
例
One-Hot Encoding
| 居住地 | 東京 | 神奈川 | 千葉 |
|---|---|---|---|
| 東京 | 1 | 0 | 0 |
| 神奈川 | 0 | 1 | 0 |
| 千葉 | 0 | 0 | 1 |
Ordinal Encoding
| 年収 | 値 |
|---|---|
| 500万円未満 | 0 |
| 500〜1000万円 | 1 |
| 1000万円以上 | 2 |
正則化(Regularization)
正則化とは、モデルが複雑になりすぎることを防ぎ、過学習(Overfitting)を抑制する手法である。
目的
- モデルを単純化する
- テストデータへの予測性能を向上させる
- 回帰係数を小さくする(Shrinkage)
損失関数は、
「残差平方和(RSS)+ペナルティ項」
$$
L=RSS+\lambda\sum_{i=1}^{m}\beta_i^2
$$
(Ridge)
$$
L=RSS+\lambda\sum_{i=1}^{m}|\beta_i|
$$
(LASSO)
から構成される。
$$
RSS=\sum_{i=1}^{n}(y_i-\hat{y}_i)^2
$$
Ridge回帰(L2正則化)
損失関数
$$
L=RSS+\lambda\sum_{i=1}^{m}\beta_i^2
$$
特徴
- 回帰係数を小さくする
- 係数は0にはならない
- 全ての特徴量を残したまま過学習を抑える
- 解析的に解を求められる
LASSO(L1正則化)
損失関数
$$
L=RSS+\lambda\sum_{i=1}^{m}|\beta_i|
$$
特徴
- 回帰係数を小さくする
- 不要な係数を0にできる
- 自動的に特徴量選択(Feature Selection)を行う
- 数値最適化により解を求める
- $\lambda$が大きいほど削除される特徴量が増える
Ridge・LASSO・Elastic Net比較
| 手法 | ペナルティ | 係数を0にする | 特徴量選択 |
|---|---|---|---|
| Ridge | $\sum \beta_i^2$ | × | × |
| LASSO | $\sum | \beta_i | $ |
| Elastic Net | L1+L2 | ○(一部) | ○ |
Elastic NetはRidgeとLASSOを組み合わせた手法であり、それぞれの長所を利用できる。
ロジスティック回帰(Logistic Regression)
ロジスティック回帰は、0/1(二値分類)を予測するモデルである。
利用例
- ローンを延滞するか
- 保険に加入するか
- 倒産するか
線形回帰では予測値が0〜1を超える可能性があるため、分類問題には適さない。
シグモイド関数(Logistic Function)
まず線形結合を計算する。
$$
y=\alpha+\beta_1x_1+\beta_2x_2+\beta_3x_3
$$
その後、シグモイド関数で確率へ変換する。
$$
P
\frac{1}
{1+e^{-y}}
$$
特徴
- 出力は必ず0〜1
- 確率として解釈できる
- S字型(Sigmoid Curve)
パラメータ推定
ロジスティック回帰は線形モデルではないため、通常の最小二乗法(OLS)は利用できない。
代わりに**最尤法(Maximum Likelihood Estimation; MLE)**を用いて、
$$
\sum_{y_j=1}
\log(P_j)
+
\sum_{y_j=0}
\log(1-P_j)
$$
となる対数尤度関数を最大化することで係数を推定する。
分類方法(Threshold)
推定した確率$P$に対して閾値$Z$を設定し、分類を行う。
$$
\hat{y}=1 \quad \text{if } P \ge Z
$$
$$
\hat{y}=0 \quad \text{if } P < Z
$$
通常は
$$
Z=0.5
$$
を用いるが、誤判定コストが異なる場合は変更する。
例(銀行融資)
- 貸してはいけない人へ貸す損失:非常に大きい
- 貸せる人へ貸さない損失:比較的小さい
この場合は、
$$
Z=0.1
$$
など低めに設定し、安全側で判定することもある。
モデル評価
連続値を予測するモデルでは、テストデータに対して平均二乗予測誤差(MSFE)が用いられる。
$$
MSFE=\frac{1}{n_{test}}\sum_{i=1}^{n_{test}}(y_i-\hat{y}_i)^2
$$
また、
- Mean Absolute Forecast Error(MAFE)
- Mean Squared Forecast Error(MSFE)
なども代表的な評価指標である。
FRM試験で重要なポイント
- One-Hot Encodingは順序のないカテゴリ変数を数値化する手法
- 順序のあるカテゴリはOrdinal Encodingを用いる
- 正則化は過学習を防ぐために係数へペナルティを与える
- Ridgeは係数を縮小するが0にはならない
- LASSOは不要な係数を0にし、特徴量選択を行う
- Elastic NetはRidgeとLASSOの組み合わせ
- ロジスティック回帰は0/1分類問題に用いられる
- ロジスティック回帰はシグモイド関数で確率を出力する
- パラメータ推定にはOLSではなく最尤法(MLE)を用いる
- 閾値(Threshold)は誤判定コストに応じて設定する
26.2 決定木、アンサンブル学習、K近傍法、およびサポートベクターマシン
教師あり学習の代表的なアルゴリズム(決定木、アンサンブル学習、K近傍法、サポートベクターマシン)について学ぶ
| 手法 | 覚えること |
|---|---|
| 決定木(Decision Tree) | Yes/Noの質問を繰り返して分類・予測する教師あり学習 |
| CART | Classification And Regression Tree(分類・回帰木) |
| ホワイトボックスモデル | 判断根拠を人が解釈しやすい |
| Root Node | 木の最上位のノード(最初の質問) |
| Decision Node | 分岐を行う途中のノード |
| Terminal Node(Leaf) | 最終的な分類・予測結果 |
| Information Gain(情報利得) | 分割によって不純度がどれだけ減少したかを表す指標 |
| Entropy | データの乱雑さ(0:完全分類、1:最も混在) |
| Gini Impurity | データの不純度。決定木ではよく使用される評価指標 |
| 良い分割 | Information Gainが最大(GiniやEntropyが最も減少)となる分割 |
| 連続変数 | Information Gainが最大となる閾値で分割する |
| 決定木の終了条件 | 全特徴量を使い切る、または葉ノードがPure Setになる |
| Pure Set | すべて同じクラスのみで構成された集合 |
| 過学習対策 | Pre-pruning(途中停止)・Post-pruning(不要枝削除) |
Information Gain の考え方
- 良い質問ほどデータをきれいに分類できる
- 分割前後の不純度(EntropyやGini)の減少量を Information Gain と呼ぶ
- 最も Information Gain が大きい特徴量が次の分岐に選ばれる
Entropy
データの乱雑さを表す。
$$
Entropy=-\sum_i p_i\log_2(p_i)
$$
- 完全分類:Entropy = 0
- 半分ずつ混在:Entropy = 1
Gini Impurity
決定木で最もよく利用される不純度指標。
$$
Gini=1-\sum_i p_i^2
$$
- Gini が小さいほど分類性能が高い
- Information Gain = 分割前 Gini − 分割後 Gini
アンサンブル学習(Ensemble Learning)
複数の学習器を組み合わせて精度・汎化性能を向上させる手法。
| 手法 | 特徴 |
|---|---|
| Bagging | ブートストラップ標本から複数の決定木を作成し平均・多数決を取る |
| Bootstrap | 復元抽出(同じデータを重複して抽出可能) |
| Out-of-Bag | Baggingで抽出されなかったデータ。モデル評価に利用可能 |
| Pasting | 非復元抽出(重複なし) |
| Random Forest | Baggingに加えて特徴量もランダム抽出し木同士の相関を下げる |
| Boosting | 前モデルの誤りを重点的に学習し精度を向上させる |
| Gradient Boosting | 前モデルの残差を学習する |
| AdaBoost | 誤分類されたデータの重みを大きくして学習する |
Bagging と Random Forest の違い
| Bagging | Random Forest |
|---|---|
| データのみランダム抽出 | データ+特徴量もランダム抽出 |
| 木同士が似やすい | 木同士の相関を減らせる |
| 分散を低下させる | 分散低下+さらに高精度 |
K近傍法(K-Nearest Neighbors:KNN)
| 項目 | 内容 |
|---|---|
| 学習方法 | 教師あり学習 |
| 特徴 | 学習を行わず、予測時に近傍データを探索する(Lazy Learner) |
| 分類方法 | 最も近いK個のデータの多数決または平均値で予測 |
| Kが小さい | 低バイアス・高分散(過学習しやすい) |
| Kが大きい | 高バイアス・低分散(単純化し過ぎる) |
| Kの経験則 | $K\approx\sqrt{n}$ |
サポートベクターマシン(Support Vector Machine:SVM)
| 項目 | 内容 |
|---|---|
| 学習方法 | 教師あり学習 |
| 目的 | クラス間を最大マージンで分離する境界を求める |
| マージン | クラス間の境界幅(広いほど汎化性能が高い) |
| サポートベクトル | 境界に最も近いデータ点。境界を決定する重要なデータ |
| 高次元データ | 特徴量が多い問題でも高性能 |
| 超平面(Hyperplane) | 特徴量が$n$個なら$(n-1)$次元の分離面 |
FRM試験で覚えるポイント
- 決定木:Information Gain(Entropy・Gini)が最大となるように分岐する。
- 決定木の弱点:過学習しやすく、Pre-pruning・Post-pruningで対策する。
- Bagging:ブートストラップ標本で多数の木を作り平均する。
- Random Forest:特徴量もランダム抽出し、木同士の相関を下げる。
- Boosting:前モデルの誤りを次のモデルが学習する。
- KNN:近いデータK個で多数決(Lazy Learner)。
- SVM:マージンを最大化する超平面を求める分類手法。
26.3 ニューラルネットワークとモデル性能
26.3 ニューラルネットワークとモデル性能
ニューラルネットワーク(Neural Networks)
| 項目 | 覚えること |
|---|---|
| ニューラルネットワーク(ANN) | 人間の脳を模倣した機械学習モデル。非線形な関係を学習できる。 |
| 基本構造 | 入力層(Input Layer)→ 隠れ層(Hidden Layer)→ 出力層(Output Layer) |
| 重み(Weight) | 入力変数の重要度を表す係数。 |
| バイアス(Bias) | 切片に相当し、ニューロンが発火しやすさを調整する。 |
| ノードの計算 | $z=b+\sum_{j=1}^{m}w_jx_j$ |
| 活性化関数 | 非線形性を導入する関数。代表例:Sigmoid、ReLU、tanh |
| バックプロパゲーション | 誤差を逆伝播しながら重み・バイアスを更新する学習方法。 |
| 勾配降下法(Gradient Descent) | 損失関数を最小化する方向へパラメータを更新するアルゴリズム。 |
| 学習率(Learning Rate) | 1回の更新幅を決めるハイパーパラメータ。大きすぎると発散、小さすぎると収束が遅い。 |
| 過学習対策 | 検証データの損失が悪化し始めた時点で学習を停止する(Early Stopping)。 |
モデル性能評価(Confusion Matrix)
| 実際\予測 | Positive | Negative |
|---|---|---|
| Positive | TP(True Positive) | FN(False Negative) |
| Negative | FP(False Positive) | TN(True Negative) |
| 指標 | 式 | 意味 |
|---|---|---|
| Accuracy(正解率) | $\dfrac{TP+TN}{TP+TN+FP+FN}$ | 全体の正解率 |
| Precision(適合率) | $\dfrac{TP}{TP+FP}$ | 陽性と予測したもののうち正解だった割合 |
| Recall(再現率・感度) | $\dfrac{TP}{TP+FN}$ | 実際の陽性をどれだけ検出できたか |
| Error Rate(誤分類率) | $\dfrac{FP+FN}{TP+TN+FP+FN}$ | 全体の誤分類率 |
ROC曲線とAUC
| 項目 | 覚えること |
|---|---|
| ROC曲線 | 真陽性率(TPR)と偽陽性率(FPR)の関係を表す曲線。 |
| AUC | ROC曲線下面積。分類性能を表す代表的な指標。 |
| AUC = 1 | 完全な分類性能 |
| AUC = 0.5 | ランダム予測と同等 |
| AUC < 0.5 | ランダム以下の性能 |
ロジスティック回帰とニューラルネットワークの比較
| 観点 | ロジスティック回帰 | ニューラルネットワーク |
|---|---|---|
| モデル | 線形分類モデル | 非線形分類モデル |
| 解釈性 | 高い(ホワイトボックス) | 低い(ブラックボックス) |
| 表現力 | 比較的低い | 高い |
| 過学習 | 比較的起きにくい | 起きやすい(隠れ層が多いほど) |
| 性能評価 | Accuracy・Precision・Recall・ROC/AUCなどで比較する |
ポイント
- ニューラルネットワークが常に優れているとは限らない。
- Accuracy・Precision・Recallは改善・悪化する指標が異なる場合があり、総合的に評価する必要がある。
- モデル比較では、検証データ(Validation Sample)の性能を重視する。
FRM試験で覚えるポイント
- ニューラルネットワーク = 入力層 → 隠れ層 → 出力層
- ノードの出力は 重み付き和 + バイアス
- 活性化関数は非線形性を導入する役割
- バックプロパゲーションで重みを更新する
- 勾配降下法は損失関数を最小化する
- 学習率は更新幅を決めるハイパーパラメータ
- 過学習対策としてEarly Stoppingを利用する
- 混同行列からAccuracy・Precision・Recall・Error Rateを計算できる
- ROC曲線・AUCは分類モデル全体の性能評価に用いられる
- モデル比較では、訓練データではなく検証データの性能を重視する