始める無料で始める

正規性を評価する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)
___(___)
___(___, ___)
コードを編集して実行