Rによるアクチュアリー統計学へようこそ!

Paper A(筆記試験)では、分布や統計の背後にある理論を学びます。一方、Paper B(パソコン試験)では、Rを使ってその理論を実践に移します。この章では、CS1の試験でほぼ毎回使用する基本的なツール、つまり要約統計量(平均や分散など)の算出、および様々な分布の確率や分位点の求め方に焦点を当てます。

Rを、超高性能な関数電卓だと考えてください。「数表(Formulae and Tables、通称ゴールドブック)」で値を探す代わりに、Rを使えば一瞬で正確な値を得ることができます。さあ、始めましょう!

1. 探索的データ解析:要約統計量

複雑なモデルに取り組む前に、アクチュアリーは必ず最初にデータを確認します。これを探索的データ解析(EDA)と呼びます。データの「中心」がどこにあるか(位置の尺度)、そしてデータがどの程度「散らばっている」か(散らばりの尺度)を知る必要があります。

位置の尺度

データセット x の平均値や中央値を求めるには:

mean(x): 算術平均 \( \bar{x} = \frac{1}{n} \sum x_i \) を計算します。
median(x): データを大きさの順に並べた時の中央の値を求めます。

散らばりの尺度

データがどの程度変動しているかを確認するには:

var(x): 不偏分散(標本分散) \( s^2 = \frac{1}{n-1} \sum (x_i - \bar{x})^2 \) を計算します。
sd(x): 標本標準偏差 \( s = \sqrt{var(x)} \) を計算します。
range(x): 最小値と最大値を返します。
IQR(x): 四分位範囲(第3四分位数と第1四分位数の差)を計算します。

便利な一括コマンド

summary(x): これは受験生に大人気のコマンドです!最小値、第1四分位数、中央値、平均、第3四分位数、最大値を一度に表示してくれます。データ全体像を素早く把握するのに最も便利な方法です。

ワンポイント・アドバイス: データに欠損値(Rでは NA と表記されます)が含まれている場合、上記の関数は NA を返すことがあります。これを防ぐには、括弧の中に na.rm = TRUE という引数を追加します。例:\( mean(x, na.rm = TRUE) \)

ここがポイント: データの概要を素早く知りたいときは summary() を使い、特定の値が求められているときは sd()var() などの個別の関数を使いましょう。

2. 分布に関する「4つの接頭辞」

CS1では、多くの分布(正規分布、ポアソン分布、二項分布など)を扱います。Rでは非常に一貫した命名規則が採用されています。すべての分布には基本名(例:正規分布なら norm、ポアソン分布なら pois)があり、それに4種類の接頭辞のいずれかが付きます。

1. d (Density): 離散型変数の場合は確率質量関数(PMF) \( P(X = x) \)、連続型変数の場合は確率密度関数(PDF)の値を求める際に使用します。
2. p (Probability): 累積分布関数(CDF) \( P(X \le x) \) を求める際に使用します。確率を求める際の「基本」となる関数です。
3. q (Quantile): 累積分布関数の逆関数(分位点関数)です。確率がわかっていて、その値 \( x \) を知りたいときに q を使用します。
4. r (Random): その分布から乱数(ランダムなサンプル)を生成します。(これについては、次章の「シミュレーション」で詳しく説明します)。

違いのイメージ:
ある点より左側の面積を知りたいときは p を使います。
左側の面積が特定の値になるような「点」を知りたいときは q を使います。

3. Rで扱う主な分布

CS1のシラバスで必要な主な分布と、Rでの名称は以下の通りです。

離散型分布:
binom: 二項分布 \( (n, p) \)
pois: ポアソン分布 \( (\lambda) \)
geom: 幾何分布 \( (p) \)
nbinom: 負の二項分布 \( (k, p) \)
hyper: 超幾何分布

連続型分布:
norm: 正規分布 \( (\mu, \sigma) \)
exp: 指数分布 \( (\lambda) \)
gamma: ガンマ分布 \( (\alpha, \lambda) \)
chisq: カイ二乗分布 \( (\nu) \)
t: スチューデントのt分布 \( (\nu) \)
f: F分布
beta: ベータ分布
unif: 一様分布

例: 標準正規分布 \( Z \sim N(0,1) \) の上側5%点(第95パーセンタイル)を求める場合:
\( qnorm(0.95, mean = 0, sd = 1) \)

例: \( X \sim Poisson(5) \) において \( P(X \le 3) \) を求める場合:
\( ppois(3, lambda = 5) \)

4. 試験で陥りやすい重要な落とし穴(ここで点数を落とさないように!)

「lower.tail」引数について

デフォルトでは、Rの p関数 は \( P(X \le x) \)(下側裾)を計算します。もし試験で \( P(X > x) \)(上側裾)を求められた場合、2つの方法があります。
1. \( 1 - p... \) を計算する(例:\( 1 - pnorm(x, ...) \))
2. 関数内で引数 lower.tail = FALSE を指定する(例:\( pnorm(x, ..., lower.tail = FALSE) \)\

離散型と連続型の違い

忘れないでください!連続型分布(正規分布など)では、\( P(X < x) \) は \( P(X \le x) \) と同じです。
しかし、離散型分布(二項分布やポアソン分布など)では、この違いが非常に重要です。Rの p関数 は常にその値を含みます。つまり \( pbinom(k, ...) \) は \( P(X \le k) \) です。もし \( P(X < k) \) を求める必要がある場合は、Rで \( P(X \le k-1) \) を計算しなければなりません。

ガンマ分布のパラメータ

Paper Aでは、よくレート(rate)パラメータ \( \lambda \) を使用します。Rの gamma 関数は、rate または scale(尺度)のどちらのパラメータでも受け付けることができます。\( scale = 1 / rate \) であることを常に意識してください。不安なときは、Rのコンソールに ?rgamma と入力してヘルプを確認しましょう。

標準偏差と分散

Rの norm 関数(正規分布)のパラメータは、分散 (\( \sigma^2 \)) ではなく 標準偏差(sd) (\( \sigma \)) です。もし問題文に \( X \sim N(10, 25) \) と書かれていたら、Rには sd = 5 と入力する必要があります。

5. 分位点とパーセンタイル

Paper Bでよく出題されるタスクの一つに、バリュー・アット・リスク(VaR)や特定の分位点を求めることがあります。これには q関数 が最適です。

シナリオ: ある保険金の請求額が、\( meanlog = 5 \)、\( sdlog = 2 \) の対数正規分布に従うとします。請求額の第99パーセンタイルを求めてください。
Rのコマンド: \( qlnorm(0.99, meanlog = 5, sdlog = 2) \)

ここがポイント: 問題で確率(例:「上位5%」や「信頼水準0.90」)が与えられている場合は、q関数 を使う可能性が高いです。逆に、具体的な値(例:「請求額が1000を超える確率は?」)が与えられている場合は、p関数 を使います。

クイックレビュー

要約統計量: mean()var()sd()summary() を活用しましょう。
確率: \( P(X \le x) \) を求めるには p-名称() を使います。
分位点: 確率に対応する値を求めるには q-名称() を使います。
上側確率: \( P(X > x) \) を求めるには lower.tail = FALSE を使います。
正規分布: 分散 (\( \sigma^2 \)) ではなく、必ず標準偏差 (\( \sigma \)) を指定してください。

関数の引数の順番を忘れてしまっても大丈夫です!Rで「?」に続けて関数名を入力すれば(例:?pbinom)、ヘルプファイルが表示され、どのような入力が必要かいつでも確認できます。