正規性を評価するQ-Qプロット
より良い非正規性の可視化手法として、分位–分位プロット(Q–Qプロット)があります。一般にQ–Qプロットは、データの分位点と基準分布の分位点を比較します。データが同タイプの分布(位置と尺度の違いまで)から来ていれば、概ね一直線に並ぶはずです。なお、自由度(df)は、扱う系に影響を与えうる値や観測の数を指します。
動画では、rnorm() 関数で1000個の正規データを生成し、qqnorm() でQ–Qプロットを作成し、qqline() で基準となる直線を追加する方法を見ました。
> data <- rnorm(1000, mean = 3, sd = 2)
> qqnorm(data)
> qqline(data)
この演習では、djx に入っているダウ平均の対数収益のQ–Qプロットを作成し、正規分布を基準として視覚的なガイドとなる直線を追加します。続いて、rnorm()、rt()、runif() で生成した正規分布、Studentのt分布、一様分布のシミュレーションデータと見比べます。t分布については、この章の後半で学びます。
データが正規分布に従う場合、点は赤い直線の近くに並ぶはずです(端のほうで多少のずれが出ることはあります)。
djx はすでにワークスペースに読み込まれています。
この演習はコースの一部です
Rで学ぶ定量的リスク管理
演習の手順
qqnorm()でdjxの正規分布に対するQ–Qプロットを作成し、qqline()とcol = "red"を使って赤い直線を追加し、直線性を確認します。length()でdjxの長さを計算し、オブジェクトnに代入します。rnorm()で標準正規乱数をn個生成してx1に代入します。x1のQ–Qプロットを正規に対して作成し、同様に赤い直線を追加します。- 自由度4の Student の t 乱数を
n個生成してx2に代入します(この部分は用意されています)。x2のQ–Qプロットを正規に対して作成し、赤い直線を追加します。 - 一様乱数を
n個生成してx3に代入します(この部分は用意されています)。x3のQ–Qプロットを正規に対して作成し、赤い直線を追加します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Make a Q-Q plot of djx and add a red line
___(___)
___(___, ___)
# Calculate the length of djx as n
n <- ___
# Generate n standard normal variables, make a Q-Q plot, add a red line
x1 <- ___(___)
___(___)
___(___, ___)
# Generate n Student t variables, make a Q-Q plot, add a red line
x2 <- rt(n, df = 4)
___(___)
___(___, ___)
# Generate n standard uniform variables, make a Q-Q plot, add red line
x3 <- runif(n)
___(___)
___(___, ___)