はじめに:データに隠されたストーリーを読み解く

ようこそ!アクチュアリー科学の世界では、一見ただの数字の羅列にしか見えない膨大なデータセットを扱うことがよくあります。複雑なモデリングに取り掛かる前に、まず行うべきなのが探索的データ解析(EDA)です。これは、「探索的プロット」を使ってデータを視覚化したり、「相関係数」を用いて変数同士がどのように関係しているかを確認したりする段階です。

ペーパーB(CS1B)の試験では、単にこれらのグラフを作成するだけでなく、その内容を解釈することが求められます。データが歪んでいないか? 変な外れ値はないか? 2つの変数は連動して動いているか? 手がかりを探す探偵になったつもりで、Rを使ってこれらの答えを見つける方法を学んでいきましょう。


1. 1変量データの視覚化:1つの変数に注目する

変数間の関係を見る前に、まずは個々の変数の性質を理解する必要があります。シラバスでは、データの分布を把握するために探索的な視覚化手法を用いることが強調されています。

ヒストグラム:hist()

ヒストグラムは、データの「形状」を把握するのに役立ちます。データをいくつかの「ビン(階級)」に分け、各ビンにいくつの観測値が含まれるかを示します。データが対称か、あるいは歪んでいる(偏っている)かを確認するのに最適です。

Rの構文:
hist(data_vector, main = "タイトル", xlab = "ラベル", col = "blue")

アクチュアリー的な例え: 保険金の支払い額を整理している場面を想像してください。ほとんどの支払いは少額ですが、ごく少数の非常に高額な支払いがある場合、ヒストグラムは右側に長く伸びた「裾」を持つことになります。これは正の歪み(右裾が長い分布)と呼ばれ、保険の実務では非常によく見られる形です。

箱ひげ図:boxplot()

箱ひげ図は、5数要約(最小値、第1四分位数 (\(Q1\))、中央値、第3四分位数 (\(Q3\))、最大値)を視覚的にまとめたものです。

注目すべきポイント:
- 「箱」: 四分位範囲(IQR)を表します。ここには中央の50%のデータが含まれます。
- 太い線: これが中央値です。
- 「ひげ」: 外れ値とみなされない範囲の極端なデータ点まで伸びています。
- 点・丸: ひげの外側にある点は外れ値です。アクチュアリーにとって、これらは「巨大損害」を表す可能性があるため、非常に重要な情報となります。

Rの構文:
boxplot(data_vector, horizontal = TRUE)


2. 2変量データの視覚化:散布図

2つの変数(例えば「契約者の年齢」と「保険金請求件数」)の間に相関があるかどうかを確認したいときは、散布図を使います。

プロット関数:plot()

Rでは、plot(x, y) で散布図を作成できます。通常、\(x\) は説明変数(横軸)、\(y\) は目的変数(縦軸)になります。

見るべきポイント:
- 方向: 点が右上がりに並んでいるか(正の相関)、それとも右下がりか(負の相関)?
- 形状: 点の並びは直線的(線形)か、それとも曲線か?
- 強さ: 点がどれくらい密集しているか? 密集しているほど、強い関係があることを示します。

ヒント:ペーパーBでは、必ず軸のラベルを忘れずに! xlab = "..."ylab = "..." を使って、確実に得点を積み上げましょう。


3. 相関:つながりを数値で測る

プロットは視覚的な「感覚」を与えてくれますが、相関係数は関係の強さと方向を数値で示してくれます。CS1のシラバスでは、主に3つの指標を理解しておく必要があります。

相関の「三銃士」

1. ピアソンの積率相関係数 (\(r\))
2つの変数の間の線形な関係の強さを測ります。データがおおよそ正規分布に従っていることを前提としています。
- \(+1\) の場合:完全な正の線形関係。
- \(-1\) の場合:完全な負の線形関係。
- \(0\) の場合:線形関係なし。

2. スピアマンの順位相関係数 (\(\rho\))
これは「ノンパラメトリック」な指標です。生の数値ではなく、データの順位を使用します。単調な関係(変数が同じ方向に動くが、必ずしも直線ではない関係)を捉えるのに適しています。ピアソンよりも外れ値の影響を受けにくいのが特徴です。

3. ケンドールのタウ (\(\tau\))
スピアマンと同様に順位に基づいた指標です。「一致ペア」と「不一致ペア」の数に注目します。データセットが小さい場合や、同じ順位(同順位)が多い場合によく使われます。

相関のためのRコード

ここでは cor() 関数が非常に便利です。「method」を指定するだけで使い分けが可能です。

cor(x, y, method = "pearson")
cor(x, y, method = "spearman")
cor(x, y, method = "kendall")

クイック復習:どれを使えばいい?
- 関係が直線的に見える場合:ピアソン
- 関係が曲線的だが、常に増加または減少している場合:スピアマン
- 直線を「引っ張って」しまうような極端な外れ値がある場合:スピアマン または ケンドール


4. よくある落とし穴と解釈のコツ

最初は難しく感じるかもしれませんが、大丈夫です。結果の解釈は練習を重ねることで上達するスキルです。試験の解答で役立つポイントをいくつか紹介します。

相関 \(\neq\) 因果関係
2つの変数の相関係数が高い(例:\(0.95\))からといって、一方がもう一方の原因であるとは限りません。試験のコメントでは「変数Xが原因で変数Yが起こる」ではなく、「〜の間に強い正の線形相関が見られる」といった表現を使いましょう。

外れ値の影響
たった1つの外れ値でも、ピアソンの相関係数を大きく下げたり(あるいは上げたり!)させることがあります。散布図に外れ値があるのにスピアマンの相関が高い場合、潜在的な関係は強いものの、ピアソンの値が歪められている可能性を示唆しています。

非線形性のチェック
cor(x, y) が \(0\) に近くても、関係がないとは限りません。2次関数のような(U字型の)関係があるかもしれません。だからこそ、数値を計算する前に必ずデータをプロットすることが大切なのです!


ペーパーBの重要なまとめ

  • hist():単一変数の分布と歪みを確認する。
  • boxplot():中央値、四分位数、外れ値を特定する。
  • plot(x, y):2変数間の関係を視覚化する。
  • cor(..., method = "..."):関係を数値化する。
    • ピアソン:線形な関係。
    • スピアマン/ケンドール:単調な関係(順位ベース)。
  • 解釈の鉄則:相関係数を信じる前に、必ずプロットを確認すること!

注:これらの結果を形式的な検定でどのように活用するかについては、「ソフトウェア出力を用いた検定と信頼区間」の章を参照してください。また、これらの変数をモデルに組み込む方法については、「線形回帰出力の適合と解釈」を参照してください。