Level II Contents

【CFA Level II】Quantitative Methods

サイト運営者
サイト運営者
今回は、Study Session 3 「Quantitative Methods」を勉強しましょう!
今回の内容

【Reading 4】単回帰分析の導入
(Introduction to Linear Regression)

【Reading 5】重回帰分析
(Multiple Regression)

【Reading 6】時系列分析
(Time-Series Analysis)

【Reading 7】機械学習
(Machine Learning)

【Reading 8】ビッグデータプロジェクト
(Big Data Projects)

【Reading 9】確率的アプローチ:シナリオ分析、決定木分析、ミュレーション(Excerpt from “Probabilistic Approaches: Scenario Analysis, Decision Trees, and Simulations”)

CFA受験ガイドブック(計量分析)

Contents

【R4】単回帰分析(Introduction to Linear Regression)

先ず簡単にこのReadingで学ぶ内容を記載させて頂きます。最初に読んだときはチンプンカンプンだと思いますが、少しずつ慣れていきましょう。

さて、最初の項目では、標本の共分散(Sample covariance)とその相関係数(Sample Correlation)の計算方法を学習します。そして、その相関係数が統計学的に有意に0で無いかを検定する方法を学びます。

勉強仲間(男)
勉強仲間(男)
レベルIでも学んだ共分散の考え方やt値を利用した検定ですね!

次の単回帰直線の項目では、従属変数(\(Y_i\))と独立変数(\(X_i\))の二つの確率変数(random variables)を使って、直線モデルを構築することを覚えます。そして、独立変数等の係数が統計的に有意に機能するかをt検定で判定することを学習します。

後輩
後輩
二つの事象を一次関数の直線モデルで表現するので!そして、そのモデルが機能するかを確認するわけですね!

最後に、ANOVA tableの意味を理解します。そこでは推定した回帰モデルが統計的に有意に正しいかをt検定、F検定で判断します。

サイト運営者
サイト運営者
複雑な事を言っているように見えるけど、一度理解したら実は結構単純な事を言っているだけです。頑張りましょう!早速内容に入りましょう。

標本の共分散(Sample covariance)

それでは早速、共分散をどのように計算するかについて学びましょう。二つの確率変数XとYの共分散は以下の数式で表現します。

\[
Cov_{XY} = \frac{1}{n – 1} \displaystyle \sum_{i = 1}^n
{(X_i – \overline{X})(Y_{i} – \overline{Y})}
\]

共分散とは、2変数の関係の強さを表す指標の一つです。

n組のデータ、\((X_1,Y_1),(X_2,Y_2),,(X_n,Y_n)\)があるとき、これらの平均\(\overline{X},\overline{Y}\)と2変数の差の積和をn(標本数)-1で割った値が共分散になります。

共分散の符号がプラスの時は2つのデータは同じ方向に動き、マイナスの場合は逆方向に動くことを示しています。

数値は平均値との乖離具合の大きさを示しますが、中々解釈が難しいです。そのため、実務では次で説明する相関係数へと変形をします。

あなた
あなた
突然数式が出てきて良く分からないです。
サイト運営者
サイト運営者
あまり複雑に考えなくてもいいです。ここでは先ず、共分散の計算方法符号が意味するところを覚えておきましょう!

標本の相関係数

標本の相関係数は、以下の数式で表現されます。
\[
r_{XY} = \frac{Cov_{XY}}{(s_{X})(s_{Y})}
\]
\(s_X, s_Y\)はそれぞれXとYの標準偏差です。

つまり、標本の相関係数は、共分散とXとYの標準偏差から求めることが出来るわけです。

あなた
あなた
良く分からないけど、相関係数は共分散とそれぞれの標準偏差から求めることが出来るということかな?
サイト運営者
サイト運営者
その通り!この関係式は覚えておこう!

ちなみに相関係数\(r\)は、-1から1の間で数値をとります。それぞれの意味合いは以下の通りです。共分散と異なり、非常に分かりやすいですよね。

相関係数(r) 解釈
r = 1 完全に正の相関有り
0 < r < 1 正の相関有り
r = 0 相関無し
-1 < r < 0 負の相関有り
r = -1 完全に負の相関有り
サイト運営者
サイト運営者
相関係数を見れば、二つの変数の関係が分かるってことですね!

標本から得られた相関係数を見ることでその関係性を調べているわけですが、計算した相関係数が有意に正しいかどうかは確認する必要があります。例えば、相関係数が有意に0では無いという事を確認します。

そこで登場するのがCFAレベルIでも学習をしたt検定になります。相関係数が0では無いことを統計学的に証明するために、帰無仮説をr = 0としてt値を求めた上で、t検定(両側)を行います。ここで棄却することが出来れば、rは有意に0では無いということが証明され、無相関では無いことが証明されます。

相関係数が0では無いということを示すためのt値は以下数式で表現されます。
(相関:r、自由度:n-2)

\[
t = \frac{r\sqrt{n-2}}{\sqrt{1-r^2}}
\]

あなた
あなた
何故、t値がこの数式で求められるかが分かりません。
サイト運営者
サイト運営者
時間も限られているので、ここは甘んじて暗記しましょう。覚え方はアルエマーニ、イマーニです!

アルエマー二、イマーニ

ア(r)ル(√)エ(n)マ(-)ー二(2)、イ(1)マ(-)ー(r)二(2)

\[
t = \frac{r\sqrt{n-2}}{\sqrt{1-r^2}}
\]

あなた
あなた
アルエマーニ、イマーニ!
サイト運営者
サイト運営者
詳しく知りたい人はまた合格してから調べてみよう!

それでは早速、計算練習してみましょう。

標本数nが10で相関係数rが0.475の時、t値はいくらになるか?

\[
t = \frac{r\sqrt{n-2}}{1-r^2} = \frac{0.475\sqrt{10-2}}{\sqrt{1-0.475^2}} = 1.527
\]

あなた
あなた
t値は1.527です!
サイト運営者
サイト運営者
それではそのt値を用いて、t分布を用いた両側検定(5%信頼区間)で棄却されるかを見てみましょう!

自由度(df): 8 (n-2)、両側検定5%なので0.025の数値を参考にt分布の信頼区間毎の閾値を探しましょう。以下表を参考にすると2.306が見つかります。

出所:Schweser Notes

 

つまり、t値が-2.306よりも小さかったり、2.306よりも大きければ帰無仮説が棄却されることになります。本件の場合は、t値が1.527と棄却されないのでrが0であるという帰無仮説が棄却出来ず、有意にrが0では無いとは言えないことになります。

あなた
あなた
なるほど!こうやって相関係数の検定を行うのか!
サイト運営者
サイト運営者
分かってもらえて嬉しいです!
要点まとめ

二つの確率変数XとYの共分散は以下の数式で表現する。

\[
Cov_{XY} = \frac{1}{n – 1} \displaystyle \sum_{i = 1}^n
{(X_i – \overline{X})(Y_{i} – \overline{Y})}
\]

共分散は、2変数の関係の強さを表す指標の一つ。

共分散の符号がプラスの時は2つのデータは同じ方向に動き、マイナスの場合は逆方向に動くことを示す。

標本の相関係数は、共分散と各標準偏差で表現される。
\[
r_{XY} = \frac{Cov_{XY}}{(s_{X})(s_{Y})}
\]

相関係数がマイナスの場合は負の相関、プラスの場合は正の相関がある。0の場合は無相関となる。

相関係数が0で無いことを証明するには、t値を求めてt検定を行い、帰無仮説(相関係数が0)を棄却可能かどうかを確認する。尚、t値はアルエマー二、イマーニと覚える。

\[
t = \frac{r\sqrt{n-2}}{\sqrt{1-r^2}}
\]

最後に、t分布から閾値を得るにはdif(自由度)と信頼区間を参考にt分布の表を用いる。

サイト運営者
サイト運営者
ここまでは大丈夫でしょうか。もし、分からなかったらSlack内のStudy Group質問して下さい!

線形回帰分析について

線形回帰とは二つの事象に対して当てはまりの良い直線を推定し導き出す方法です。要は、物事を一次関数(直線式)でうまく表現出来ないかと探るわけですね。
例えば、XとYの関係を以下のような数式で表します。そう、中学生でも学んだ直線の式ですね。
\[
Y = α + βX
\]
ここで、Xの事を独立変数(independent variable)、Yの事を従属変数(dependent variable)、αは切片(intercept)、βは傾き(slope coefficient)と呼びます。英語で教科書を読んでいると良くわからなくなるかもしれませんが、要は一次関数です。

ここで、β(傾き:slope coefficient)は、XとYの共分散とXの分散(標準偏差の二乗)で表現される事を覚えておきましょう。これは最小二乗法(least square method)という手法で算出されますが、ここでは一旦以下を暗記しておきましょう。

\[
β=\frac{Cov_{XY}}{σ^2_X}
\]

さて、XとYの関係を直線で示すために、αやβを推定するわけですが、統計学的にその数値が正しいかどうかを調べる必要があります。例えば、βは有意に0では無いという事を調べます。

この場合、どのように調べたら良いでしょうか?

前にも出たt検定ですね!
先輩
先輩
その通りです!

t値の定義は以下の通りです。

\[
t値=\frac{推定した値 – 帰無仮説}{推定した値の標準誤差(Standard error)}
\]

※標準誤差とは標本における分散の呼び名だと考えて下さい

例えば、推定して出したβが0.64で標準誤差(standard error)が0.26でβが有意に0で無い事を確認するためには、帰無仮説をβ=0として、t値は

\[
t=\frac{0.64-0}{0.26} = 2.46
\]

となります。後はこの数値がt分布内の信頼区間で定まる閾値に収まるかどうかを見れば良いわけですね。t分布から閾値を求める方法は上で記載した相関係数の無相関を検定した際とやり方は同じです。

ちなみに、推定して出したβがどの範囲内であれば有意に0では無いと言えるかを調べる際には、例えば先程の両側検定信頼区間5%で自由度8のケースで言うと、閾値が2.306となるので、

\[
-2.306 < \frac{β-0}{0.26} < 2.306
\]
\[
-2.306 × 0.26 < β < 2.306 × 0.26
\]
\[
-0.5996 < β < 0.5996
\]

となります。色々な方法で出題されますので解けるように準備しておきましょう!

サイト運営者
サイト運営者
分かりましたか?もし、分からなかったらSlack内のStudy Group質問して下さい!

ANOVA(Analysis of Variance) Tableについて

ここまでは、とある事象XとYに対して当てはまりの良い直線を引こうと努力して来ました。ここからは、直線の妥当性検証を行いやすいように必要数値を一覧表にしたANOVA Tableの例を使いながら一連の流れを追ってみましょう。

例えば以下のようなXとYの散布図に対して直線を引くケースを考えてみましょう。

ここでは、直線の式を

\[
\hat{Y}_i=\hat{b_0}+\hat{b_1}X_i
\]

としています。\(b_0\)(切片:intercept)、\(b_1\)(傾き:slope coefficient)です。

出所:Schweser Notes

 

Yの実測値(実際に計測した値)を\(Y_i)\)、Yの実測値の平均値(実際に計測した値の平均値)を\(\bar{Y_i}\)、回帰分析で導き出した一次関数から算出したYを\(\hat{Y_i}\)とすると、それぞれの距離を二乗して足したものをSum of Square Error(SEE)、Regression Sum of Square(RSS)、Sum of Square Total(SST)と整理することが可能です。数式は以下の通りです。

Sum of Square Error(SSE):\(\Sigma(Y_i – \hat{Y_i}) \)

Regression Sum of Square(RSS):\(\Sigma(\hat{Y_i} – \overline{Y_i}) \)

Sum of Square Total(SST):\(\Sigma(Y_i – \hat{Y_i})+\Sigma(\hat{Y_i} -\overline{Y_i}) = \Sigma(Y_i – \overline{Y_i})\)

つまり、SSE + RSS = SST となります。

あなた
あなた
複雑です・・・。
サイト運営者
サイト運営者
一度立ち止まって、上の図を見ながら数式が意味している事をもう一度考えてみよう。上の数式の意味がわかったら次に進見ましょう。分からなければSlackのStudy Groupで質問しよう!

ちなみに、SSE + RSS = STTの両辺をSTTで割ると、(SSE/STT) + (RSS/STT) = 1となります。ここで、(RSS/STT)の事を決定係数と呼び\(R^2\)と表現します。

(RSS/STT) = 1 – (SSE/STT) で、SSE(回帰式と実測値の誤差)が小さければ小さいほど、回帰式の実測値に対する説明力が高いということになります。例えば、決定係数が0.8であれば回帰式が実測値の8割を説明することになります。

尚、決定係数はXとYの相関係数の二乗と等しいことが知られています。つまり、計算で決定係数を算出したらその平方根をとると相関係数が求められると言うことです。

また、この決定係数の特徴として独立変数の数が大きければ大きいほど表面的な説明力が増したように見えることがあります。こういった影響を排除するために、自由度調整後決定係数というもので測ることもあります。試験で単発で問われる可能性がありますので、以下数式を覚えて計算出来るようにしておきましょう。

\[
Adjusted R^2 = 1-[(\frac{n-1}{n-k-1})×(1-R^2)]
\]

それでは、最後にANOVA Tableについて見ていきましょう。ANOVA Tableは上での述べたような事を表にして分かりやすく纏めて、回帰式の妥当性検証を行いやすいように必要数値を一覧表にしたものになります。

要因 自由度(df) 平方和 平均平方 F値
Regression k(定数項以外の独立変数の数) RSS MSR
=RSS / k
F = MSR/MSE
Error n-k-1 SSE MSE
=SSE / n-k-1
Total n-1 SST
  1. 全体の自由度は、観察値(n)の数から1を引いたn – 1となります。
  2. kは定数項以外の独立変数の数です。単回帰分析の場合はk = 1となります。
  3. F値は大きければ大きい程、回帰式による説明力が大きい(誤差による説明力が小さい)という事を示します。十分に大きければモデルとして説明力があると言えます。
  4. 決定係数はRSS/SSTで求めることができ、これもモデルの説明力を示します。1に近い方が説明力が高いということになります。
  5. MSEの平方根を取ったものをSEE(Standard error of the estimate)と呼んでいます。これは実測値が回帰式から計算される推測値から平均的にどれぐらい乖離しているかを示しています。単発で計算する問題がありますので覚えておきましょう。
サイト運営者
サイト運営者
ここまででReading 7が終わりました!理解出来ましたか?Reading 8も頑張りましょう!

【R5】重回帰分析:Multiple Regression

このReadingで取り上げる重回帰分析(Multiple regression)はレベルIIのQuantitative Methodsの中心になります。

EquityやPortfolio Managementの項目でもその概念が利用されていて、ここで確りと重回帰分析を学んでおくと理解が進みます。

t検定やF検定、ANOVA Tableの考え方は単回帰分析と同様です。HeteroskedasticityやSerial correlation、Multicollinearityなど、重回帰分析がうまく行かないケースについて確りと眺めておきましょう!

重回帰分析(Multiple Regression)の導入

単回帰分析は二つの事象の当てはまりが良い一次関数の直線(変数が一つ)を探しましたが、重回帰分析では変数が複数の数式で表現することになります。具体的な数式例は以下をご覧ください。

\(Y_i = b_0 + b_1X_{1i} + b_2X_{2i} + … + b_kX_{ki} + ε_i\)

\(Y_i\)は従属変数(i=1〜n: nは標本数)
\(X_1〜X_{ki}\)は独立変数(\(k\)は独立変数の数)
\(b_0\)はIntercept
\(b_j\)は独立変数のslope
\(ε\)は誤差項(独立した変数であり、平均ゼロの正規分布に従う)

単回帰分析とは違って若干複雑な式になっていますが、単純に変数が増えただけですので焦る必要は全くありません。t値の出し方も検定の仕方も単回帰分析の場合と特に変わりは無いです。ANOVA Tableも単回帰分析で見たものと同様になります。

サイト運営者
サイト運営者
Reading 7で学んだ単回帰分析について理解していればここまでは問題無いと思います!

ダミー変数(Dummy Variables)

重回帰式のうち、変数が0か1を取るものをダミー変数を用いた回帰分析と言います。
例えば、以下のような四半期毎にとある数値を求める数式です。

\(Y = b_0 + b_1Q_1 + b_2Q_2 + b_3Q_3 + ε\)

この場合、第一四半期の時は\(Q_1=1\)、第二四半期の時は\(Q_2=1\)、第三四半期の時は\(Q_3=1\)として、それ以外の時は0の値をとります。こうして四半期毎の数値を表現する数式にしているわけですね。こういったものをダミー変数を用いた数式と言います。

サイト運営者
サイト運営者
この概念は練習問題を解いて理解しておきましょう!

ここからは、重回帰分析がうまく行かないケースについて確りと眺めておきましょう!
ポイントは、うまくいかないケースの名称と意味の確認。どのようにそれら事象を発見するか。発見したらどのように修正するか。になります。それでは眺めていきましょう!

不均一分散(Heteroskedasticity)

不均一分散とは

標本データの誤差項の分散が均一で無い状態を指します。回帰分析では誤差項εは期待値がゼロで分散が一定という前提を置いているため、誤差項の分散が均一で無いと問題になります。

不均一分散には、独立変数の数値に関係無く誤差項がバラバラに散布するUnconditional heteroskeasticityと、独立変数の数値が増加するに連れて誤差項が大きくなる、Conditional heteroskedasticityがありますが、後者については正しいモデル結果を算出するためには直す必要があると言われています。

以下のグラフは問題となるConditional heteroskedasticityの例です。Xが大きくなるほど誤差項が大きくなっているのがわかるかと思います。

出所:Schweser Notes

不均一分散の発見方法

不均一分散を発見するためには2つ方法があります。一つは以下のグラフのように実際に誤差項を図にプロットして確認する方法です。

出所:Schweser Notes

 

もう一つが、The Breusch-Pagan Testと呼ばれるテストを行うことです。
ここでは詳細は省略しますが、Heteroskedasticityを検知するためにはThe Breusch-Pagon Testを用いるということを覚えておきましょう。

Heteroskedasticityの影響を修正する方法

Heteroskedasticityの影響を修正する方法としては、White-corrected standard errorsを利用することが挙げられます。この修正後のstandard errorsを用いて検定を行うことで、より正しい検定を行うことが出来るようになります。

自己相関/時系列相関(Serial Correlation/Autocorrelation)

自己相関/時系列相関とは

回帰分析式の誤差項εに自己相関関係があることを自己相関/時系列相関があると言います。理想的には従属変数\(Y_t\)が独立変数\(X_t\)だけで説明されると良いのですが、誤差項\(ε_t\)が悪さをしてしまうわけです。

例えば、従属変数\(Y_t\)が一つ前の\(Y_{t-1}\)の結果に影響を受ける場合には独立変数\(X_t\)以外の誤差項に一つ前の結果が含まれて、従来の回帰分析式の予測力が大きく阻害されることになります。

以下は自己相関/時系列相関の例です。グラフを見てPositiveかNegativeかを問われることがありますので覚えておきましょうね。

出所:Schweser Notes

自己相関/時系列相関の発見方法

回帰式の誤差項に自己相関があるかどうかを検定する際には、Durbin-Watson statistic(DW)という検定を行います。

ここでは、「誤差項に自己相関/系列相関が無いこと」が帰無仮説になります。

サンプルサイズが大きい場合、DW検定量は以下式で表現されます。rは自己相関係数です。
\[DW≒2(1-r)\]

DWは0から4の間の値を取ることが知られています。極端なケースで見ると、DWが0の時に正相関(r=1)、2の時に無相関(r=0)、4の時に負相関(r=-1)となります。

DWの検定では標本数に応じて、\(d_L\)と\(d_u\)が与えられ、DWと\(d_L\)と\(d_u\)の関係で相関有無が検定されます。

具体的には以下の図の太線のところにDWの数値が入れば棄却されることになり、それぞれ正の相関、負の相関がある(つまり、自己相関/系列相関がある)と言えることになります。

サイト運営者
サイト運営者
実際の問題ではdLとdUは問題文で与えられます。DWの数値が太線に入るかどうかに注目しましょう。

自己相関/時系列相関を直す方法

自己相関/時系列相関を直すにはHansen methodという方法が用いられます。ここではその方法の名前を覚えておきましょう。尚、Hansen methodはheteroskeasticityを直す効果もあります。

サイト運営者
サイト運営者
Heteroskeasticityだけを直すのであれば、既出のWhite-corrected standard errorsを使いましょう。但し、自己相関/時系列相関も同時に直すのであればHansen methodを使いましょう!

多重共線性(Multicollinearity)

多重共線性とは

独立変数(\(X_i\))相互の相関が強く表面的な決定係数\(R^2\)の値のみが増加する現象のことを言います。

例えば、重回帰分析に於いては一般に独立変数を増やせば増やすほど表面的な説明力(決定係数\(R^2\))が増大しますが、複数の独立変数が同じ種類のもので相関関係が強い場合は、回帰分析の信頼性が揺らいでしまいます(通常、回帰分析では独立変数が少ない方が良いとされています)。

多重共線性の発見方法

決定係数やF値が大きい一方で各独立変数の係数のt値が低い場合、多重共線性を疑います。

多重共線性を直す方法

無駄な独立変数を除くため、独立変数の数を減らして再度確認をする等の手段が取られます。

定性的に表現される独立変数によるモデル

最後に以下の二つのモデルについて理解しておきましょう。さらっと問われる可能性があるので概要だけ掴んでおきましょう。

プロビット/ロジットモデル(Probit and logit models)

被従属変数が二者択一になる状況(例えば、デフォルト有無を判別する場合等)を表すのによく使われるモデルです。Probitモデルは正規分布を前提としていて、Logitモデルはロジスティック分布を前提としています。

判別モデル(Discriminant models)

Probitモデルやlogitモデルと似た概念ではありますが、線形直線で表されるのが特徴です。例えばスコアリング等でデフォルト率を判別するモデル等に利用されます。

【R6】時系列分析:Time-Series Analysis

時系列分析では、独立変数をt(時刻)として、連続する期間内での従属変数(例:\(y_t\))の動きを観察します。今まで学んだ単回帰分析や重回帰分析のうち、独立変数がt(時刻)となるものの回帰モデルと考えて下さい。時系列分析の主なものとして、①Simple linear trend model②log-linear trend modelがあります。

サイト運営者
サイト運営者
時刻を独立変数にして回帰モデルを考えて行きます!

単純直線トレンドモデル:Simple linear trend model

Simple linear trend modelは直線で表現されます。最も簡単な数式は以下になります。前セクションで学んだ単回帰モデルの独立変数がtに変わった形ですね。

\(
y_t = b_0 + b_1t + ε_t,  t = 1,2,…, T
\)

\(y_t\)・・・時刻tにおける数値(従属変数)
\(b_0\)・・・切片(intercept)
\(b_1\)・・・傾き(slope coefficient)
\(ε_t\)・・・誤差項(error term)
\(t\)・・・時間(独立変数)

単回帰モデルと同様で、上の数式の係数(\(b_0\)や\(b_1\))を推定する際には、最小二乗法(Ordinary least squares)を用いて行います。係数の検定方法も同じで、t値を用いたt検定を行います。グラフのイメージ図は以下の通りです。横軸が時間で縦軸が値になります。青色のグラフが実データで黒色のグラフが回帰分析の結果になります。

 

出所:Schweser Notes

 

サイト運営者
サイト運営者
考え方は単回帰モデルと殆ど同じですね!

Log直線トレンドモデル:log-linear trend model

時系列データ群の内、時刻が進むと共に数値が指数関数的に上昇するグラフや一定の水準で逓減していくグラフの場合は、log-linear trend modelを用います。

先ず、指数関数的な動きをするグラフの数式ですが以下のように示されます。

\(y_t\) = e^{b_0+b_{1(t)}}

\(y_t\)・・・時刻tにおける数値(従属変数)
\(b_0\)・・・切片(intercept)
\(b_1\)・・・成長率(定数)
\(e\)・・・自然対数の底
\(t\)・・・時間(独立変数)

出所:Schweser Notes

 

グラフをご覧頂くと分かるように時間が経てば経つほど回帰式と実際の数値が乖離していくのが予想されます(実測値は指数関数的に値が大きくなる一方で、回帰モデルは直線のためどんどんと乖離が大きくなっていく)。こういった場合、Linear Trend Modelでは説明力が低くなってしまうことが多いです。

そのため、指数関数的なグラフに対してはlogを取って回帰するとうまくいくケースが多いです。具体的には、上の数式の両辺に底をeとするlogを取って以下のような数式を利用して行います。

\[
ln(y_t) = b_0 + b_1t + ε_t
\]

出所:Schweser Notes

 

いかがでしょうか。より、実測値と回帰式がフィットするようになったと思いませんか。

このように指数関数的なグラフを扱う際には、両辺を底がeとなるlogを取ることでより説明力が高い回帰を行うことが出来ることを覚えておきましょう。金融関連のデータを扱っているとこういうケースは多いです。

サイト運営者
サイト運営者
指数関数的なグラフに対してはLog-Linear Trend Modelですね!

モデルの選択方法

実際に、どちらのモデルを利用するのが良いかを判断する際には、実際にグラフの上に実測値をプロットして判断します。上のグラフを見て頂くと一目瞭然のように、数値をプロットして確認するのがとても重要です。

サイト運営者
サイト運営者
地道にプロットするのが一番の早道ですね!

Trend Modelの限界

Study Session 7 と 8で学習したように、残差項同士が相関を持つ場合は、自己相関/時系列相関(Serial Correlation/Autocorrelation)となり、正確な回帰式を導くことが出来ません

そのため、時系列分析で自己相関/時系列相関が発生しTrend modelを用いるには限界がある場合には、次の項目以降で説明するAutoregressive model(ARモデル)を利用することになります。

尚、前セクションでも学習したように、自己相関/時系列相関を検知する際には、Durbin Watson statistic(DW)を用いる点を覚えて起きましょう。

サイト運営者
サイト運営者
時系列分析で自己相関/時系列相関が検知される場合にはARモデルの利用を検討します。自己相関/時系列相関の検知はDurbin Watson(DW)ですね!

ARモデル:Auto Regressive Modelsについて

Auto Regressive Models(ARモデル)とは、従属変数が自身の過去時点の値で説明されるような回帰モデルのことを言います。つまり、今時点の値が前の値に左右されるようなモデルです。具体的には以下のような数式で表現されます。

\(x_t = b_0 + b_1x_{t-1} + ε_t\)

\(x_t\)・・・時刻tにおける数値
\(b_0\)・・・切片(intercept)
\(b_1\)・・・傾き(slope coefficient)
\(x_{t-1}\)・・・時刻t-1における数値
\(ε_t\)・・・残差項
\(t\)・・・時間

ご覧いただくとわかるように、\(x_t\)は\(x_{t-1}\)の値に左右されます。

ちなみに、独立変数がpつあるもののARモデルをAR(p)と表現します。

AR(p)の数式は以下になります。

\[
x_t = b_0 + b_1x_{t-1} + b_2x_{t-2} + … + b_px_{t-p} + ε_t
\]

pが1の時は説明変数が一つになり、2の時は2つになります。

尚、AR(1)は以下のようにtの値をずらして示すことも出来ます。

時間がずれたとしても関係式は壊れません。

\[
\hat{x_{t+1}} = \hat{b_0} + \hat{b_1}x_t
\]

\[
\hat{x_{t+2}} = \hat{b_0} + \hat{b_1}x_{t+1}
\]

ARモデルの定常性について

ARモデルの係数の推定は、単回帰分析と同様、最小二乗法(Ordinary least squares:OLS)にて行いますが、ARモデルが正しく構築されるには(説明力ある回帰モデルとなるためには)、定常性(Covariance stationary)を満たす必要があります。一般的に以下の3つを満たす場合、定常性を満たすとされています。

サイト運営者
サイト運営者
Covariance stationaryの条件は必ず押さえて下さい!

定常性(Covariance stationary)とは、時間や位置によって確率分布が変化しないことを指し、期待値や分散、共分散も時間や位置によって変化しないことです。

  1. 時系列データ群の期待値はどの時点でも常に一定
  2. 時系列データ群の分散はどの時点でも常に一定
  3. 時系列データ群の共分散はどの時点の値同士を見ても一定

尚、多くの経済データや金融データが常に定常性を示すわけではありません。対象とするデータの期間の長さや経済環境の状況によって、定常性の有無が変わることがある点は覚えておきましょう。

ARモデルの自己相関性について

ARモデルを正しく構築するためには、誤差項が自己相関性を示してはなりません(仮に誤差項が自己相関を示す場合には正しく構築されません)。ここら辺は単回帰分析の内容と同様です。

ARモデルが正しく構築されているかどうかを確認する際には、誤差項の自己相関値を計算して、帰無仮説(自己相関値=0)としてt検定で棄却出来ないことを確認します。つまり、自己相関値が有意に0以外の数とは言えないことを示します。

尚、今まで誤差項の自己相関性を検知する際にはDurbin Watson statistic(DW)を利用していましたが、ARモデルの場合はDWを使わずにt検定を利用することを忘れないでおきましょう。

ちなみに、t値は\(\frac{自己相関値}{\frac{1}{\sqrt{標本数}}}\)で計算されます。

サイト運営者
サイト運営者
何故この数式でt値が計算出来るのかは一旦置いておきましょう。

以下のSchweserの問題(サンプル数:102)で説明すると、Lag2の自己相関値が有意に0以外の数であるとは言えないことを示すために、t値を計算して、t分布(両側検定, 信頼水準5%, 自由度n-2: 100)から棄却値(1.98)を確認し、t値の絶対値と比較します。

t値が棄却値よりも絶対値が大きければ棄却(自己相関値は有意に0では無い:自己相関性がある)となりARモデルは正しく構築されていないことが確認されます。

\(t = \frac{0.0843368}{\frac{1}{\sqrt{102}}} = 0.8518\)

→1.98よりも小さいため、棄却出来ず(Lag2は有意に自己相関性があるとは言えない)。

最終的に全てのLagで確認を行います。

出所:Schweser Notes

 

ARモデルの平均回帰性(Mean-reverting)について

時系列モデルでは長期間で見ると平均に近づいていく場合、mean revertingであると言います。AR(1)では、mean reverting levelは\(\frac{b_0}{1-b_1}\)となります。詳しく見ていきましょう。

例えば、AR(1)の場合の数式は以下ですが、長期間経った時には一つの値(平均)に収束するので、\(x_t=x_{t-1}\)となります。つまり、数式は

\[
x_t = b_0 + b_1x_{t-1}
\]

ですが、\(x_t = x_{t-1}\)となるので、

\[
x_t = b_0 + b_1x_{t} \\
x_t(1-b_1) = b_0 \\
x_t = \frac{b_0}{1-b_1}\\
\]

よって、\(x_t\)が\(\frac{b_0}{1-b_1}\)よりも大きければ、\(\frac{b_0}{1-b_1}\)に収束するため、\(x_{t+1}\)は\(x_t\)よりも小さくなります。逆に、\(x_t\)が\(\frac{b_0}{1-b_1}\)よりも小さければ、\(x_{t+1}\)は\(x_t\)よりも大きくなります。

サンプル内予測(In-sample forecasts)とサンプル外予測(Out-of-sample forecasts)について

In-sample forecastsとは、モデルを推定する際に利用したサンプル内での予測になります。Out-of-sample forecastsとは、モデルを推定する際に利用したサンプル外での予測になります。特にOut-of-sample forecastsのモデルは将来予測をする上で重要です。

誤差項の二乗平均平方根について:Root Mean Squared Error criterion(RMSE)について

The root mean squared error criterion(RMSE)は、Out-of-sample forecastsのARモデルの精度を比較する際に利用します。2つのARモデル、AR(1)とAR(2)がある場合、RMSEが小さい方がより説明力が高いと言うことが出来ます。

ARモデルのランダムウォーク(Random Walk)について

ランダムウォーク(Random Walk)の時系列データは、とある時点の値が他の時点の値と残差項を足したものに等しいものを言う。数式は以下の通りです。

\[x_t = x_{t-1} + ε_t\]

ちなみに、上の数式に0以外の定数\(b_0\)を加えると、

\[x_t = b_0 + x_{t-1} + ε_t\]

となり、Random Walk with a Driftとなります。つまり、誤差項に加えて定数\(b_0\)も都度足されることになります。

ここでRandom WalkとRandom Walk with a Driftが定常性(Covariance Stationarity)を持つかどうかを調べます。

時系列モデルで定常性を持つ場合、Mean-reverting levelを持ちますが、Random WalkとRandom Walk with a Driftの場合、\(b_1=1\)とすると、\(\frac{b_0}{1-b_1}=\frac{b_0}{0}\)となり、数値を持ちません。そのため、Random WalkとRandom Walk with a Driftはmean reverting levelを持たず、定常性も持ちません。ちなみに、\(b_1=1\)の状態をunit rootと言います。

ARモデルの定常性を確認するテスト:Dickey Fuller test

ARモデルの定常性を確認するためには、前項で述べたような自己相関性を確認するためにt検定を行いますが、その他にunit rortが存在しないことを確認するテスト:Dickey Fuller testを行います

Dickey Fuller testでは、AR(1)の数式の両辺から\(x_{t-1}\)を引いて、\(b_1-1\)が有意に0で無いことを示します。尚、この\(b_1-1\)をgと表現して、gが有意に0で無いことを確認をすることもありますが、言っていることは同じです。

\[
x_t = b_0 + b_1x_{t-1} + ε\\
x_t – x_{t-1} = b_0 + b_1x_{t-1} – x_{t-1} + ε\\
x_t – x_{t-1} = b_0 + (b_1 – 1)x_{t-1} + ε\\
\]

ARモデルの季節性(Seasonality)について

季節性(Seasonality)とは、時系列データ群が毎年同じような特性のパターンを示す場合に使われます(例:四半期の売上情報等)

Seasonalityは他のARモデルと同様、誤差項の自己相関性を確認することで検知が可能です。例えば、以下のSchweserの事例を見てみましょう。

前の例で見たように、Autocorrelationの値を0として帰無仮説を置くと、例えばLag4のt値は\(t = \frac{0.8719}{0.1601} = 5.4460\)となり、両側t検定, 5%信頼水準, 自由度37(n-2)の棄却値は2.026であることから、t値が棄却値の絶対値よりも大きいため、Autocorrelationは有意に0では無いことが示されます。よって、このままでは正しくモデル化出来ていないことになります。(尚、Lag1〜3で確認するとt値は棄却されないことが確認できます)

出所:Schweser Notes

 

そこで、モデルに新たな項を入れることを検討します。例えば、Lag4でエラーが発生しているので、\(lnx_{x-4}\)の項を追加します。その結果が以下の通りです。ARモデルが季節性を示す場合には、適切な項を追加することで正しいモデル化を行うことが可能となります。

出所:Schweser Notes

 

上の表ではLag4のt値は-0.2610となっており、絶対値が棄却値の絶対値(2.026)よりも小さいので棄却されず、ARモデルに自己相関性は無いことが確認出来ました。

ARモデルが季節性を示す場合には、適切な項を追加することで正しいモデル化を行うことが可能となるわけです。

ARモデルの分散不均一性の検知方法:Auto Regressive Conditional Heteroskedasticity(ARCHモデル)

ARモデルの分散不均一性(ARCH)は、誤差項の分散が前期間の分散との間で相関を持つ場合に生じます。ARCHは以下式にて検知されます。

\[
\hat{ε_t^2} = a_0 + a_1\hat{ε_{t-1}^2} + μ_t
\]

この\(a_1\)が有意に0で無い場合にARCHが存在すると言え(\(a_1\)が0で無いと誤差項との間に関係が生じる)、その誤差の分散は以下数式にて予測することが出来ます。

\[
\hat{σ_{t+1}^2} = \hat{a_0} + \hat{a_1} + \hat{ε_t}^2
\]

二つの確率変数(\(x_t\),\(y_t\))を用いる場合の回帰モデルの利用可否について

時系列解析を二つの確率変数\(x_t\)と\(y_t\)を用いて行う場合、まず、Dickey Fuller Testを行ってunit rootの有無を確認しますが、以下のようなパターンに分類されます。

  1. 両方の時系列データ群は定常性を持つ。
  2. 従属変数(\(y_t\))のみが定常性を持つ。
  3. 独立変数(\(x_t\))のみが定常性を持つ。
  4. 両方とも定常性を持たないし、両方の時系列データ群はCointegratedでは無い。
  5. 両方とも定常性を持たないが、両方の時系列データ群はConintegratedである。

Cointegratedとは、両方の時系列データ群が同様の傾向を示しそれが時間を通じて変わらないことを言います。

一つ目は問題無く推定した回帰モデルを利用できますが、二つ目と三つ目の回帰モデルは定常性を持たないため利用できません。また、五つ目のように両方とも定常性を持たない場合でも、両方の時系列データ群がCointegratedの場合は、推定した回帰モデルを利用することが可能となる。そのため四つ目の回帰モデルは利用できません。

つまり、両方の時系列データ群が定常性を持つか、両方の時系列データ群が定常性を持たずにCointegratedの場合にその回帰モデルを利用可能と言うことです。

ちなみに、二つの時系列データ群がcointegratedかを判断する際には、Engle and Grangerによるt値を利用したDickey Fuller testが用いられる。これらのテストのことをDF-EG testと呼びますので覚えておきましょう。

サイト運営者
サイト運営者
Cointegratedの検知方法名(DF-EG test)は覚えておこう。また、定常性を示さない場合でも二つの確率変数がCointegratedの場合は回帰モデルは利用可能ということを覚えておこう!

【R7 & R8】機械学習(Machine Learning)/ビッグデータプロジェクト(Big Data Project)

2019年から「Quantitative Methods」にFintechの項目が追加されました。金融とテクノロジーの融合は業界でも主要なトレンドでもあります。新しい項目は重要視されますので確りと学んでおきましょう。

【CFA Level I, II】Fintech × Technology2019年からLevel Iの「Portfolio Management」とLevel IIの「Quantitative Methods...

【R9】 確率的アプローチ:シナリオ分析、決定木分析、ミュレーション(Probabilistic Approaches: Scenario Analysis, Decision Trees, and Simulations)

シミュレーションを行う際の順序

シミュレーションを行う際の順序は以下の通りです。

  1. 確率変数を決定する(Determine the probabilistic variables)
  2. それらの確率変数の確率分布を決定する(Define probability distributions for these variables)
  3. 変数間の相関を確認する(Check for correlations among variables)
  4. シミュレーションを走らせる(Run the simulation)

確率分布を決定する際の方法

確率分布を決定する主な方法には三つの方法があります。

  1. ヒストリカルデータを利用する方法
    過去のデータを参考に最適な分布を選びます。未来は過去と似たような結果となることを前提としています。
  2. クロスセクショナルデータを利用する方法
    過去のデータが利用できない場合に、類似する他のものの分布を参考にします。
  3. 確率分布を選択してからパラメータを推定する方法

変数間に相関がある場合の対応

シミュレーションで利用する確率変数間に強い相関がある場合には、以下二つの対応方法が考えられます。

  1. 片方の変数だけ変化させてもう片方を解析的に計算をする方法
  2. シミュレーション自体に相関を折り込む方法

シミュレーションを行う上での制約条件

シミュレーションを行う際には以下の制約条件を加味して分析を行う必要があります。

  1. Book value constraints
    銀行や保険会社等、規制資本による制約がある場合や純資産がマイナスになることを禁止する法制がある場合にそれらが制約条件として加味される必要がある。
  2. Earnings and cash flow constraints
    アナリスト予想を満たすためやボーナスターゲットに合わせるために、内部で力学が働く場合や、銀行借入のコビナンツ等の外部圧力を制約条件として加味する必要がある。
  3. Market value constraints
    破綻してしまうような水準の時価総額を制約を入れておくことで、より正確な分析を行える。

シミュレーションを行う上での限界

シミュレーションを行う際には以下のような限界があることを覚えておきましょう。

  1. インプットデータの質に限界があること
  2. 適切では無い確率分布を適用してしまう可能性があること
  3. 確率分布が常に変わりうるものであるということ(常に変わりうる)
  4. 確率分布間の相関が常に一定では無いということ(常に変わりうる)

投資判断を行う際に利用するリスク判定ツールの特徴

投資判断を行う際に利用するリスク判定ツールには、①シミュレーション、②シナリオ分析、③決定木分析がありますが、それぞれ利用するときの特徴があります。以下の表を覚えておきましょう。

適切なモデル リスク分布
(Distribution of risk)
リスクの加味
順番 or 同時
(Sequential or concurrent)
変数間相関の加味
(Accommodates Correlated Variables)
①シミュレーション
(Simulations)
Continuous Does not matter Yes
②シナリオ分析
(Scenario analysis)
Discrete Concurrent
(同時に加味)
Yes
③決定木分析
(Decision trees)
Discrete Sequential
(順番に加味)
No

シミュレーションは想定するリスク分布が連続する(Continuous)時に利用します。シナリオ分析と決定木分析では想定するリスク分布が離散する(Discrete)場合に利用します。

決定木分析ではリスクを加味する上での順番が重要ですがシナリオ分析では同時性が重要となります。シミュレーションとシナリオ分析では相関を加味した分析が可能ですが、決定木分析では難しいです。

サイト運営者
サイト運営者
実施に分析したことがないと腹に落としにくいけど、試験で問われた時に回答できるように上の表は頭の中に入れておこう。
上司
上司
頑張ろう!

CFA受験ガイドブック(計量分析)

 

Schweser Notes Level I (2020年版)

CFA学習Tips運営者が推薦するSchweser Notesです。2020年12月受験の方はこちらを使って勉強しよう!

CFA受験ガイドブック(レベルI)

初めてCFAを受験する方はこちらを読んで全体像を理解しましょう!各単元の主要なポイントも日本語で幅広に確認することが出来ます。

CFA受験ガイドブック(Level II)<新発売>

CFA Level II Candidate待望の日本語参考書になります!(2020年3月発売)最新のFintechやコーポレートガバナンスもカバーされています。

CFA受験のためのファイナンス講義(計量分析編)

Level I & II のQuantitative Methodsを日本語で学ぶことが可能。CFA学習Tips運営者も推奨。

CFA受験のためのファイナンス講義(経済編)

Level I〜II Economicsを日本語で学習するのに有用。経済を学んだことがある人も無い人もCFA試験でカバーされる領域を眺められるので有用。

CFA受験のためのファイナンス講義(証券・債券・デリバティブ編)

CFA Level I〜IIのEquity, Fixed Income, Derivativesを日本語で学ぶ際に有用。CFA学習Tips運営者お勧めの参考書。