オフセットと重みの世界へようこそ!

一般化線形モデル (GLM) を学ぶ旅の中で、私たちは様々な特徴量を使って結果を予測する方法を学んできました。しかし、個々の観測データの「重み」が平等ではない場合はどうすればよいでしょうか?例えば、自動車事故の件数を予測する際、1ヶ月間だけ運転した人と、10年間運転し続けた人を単純に比較して意味があるでしょうか?おそらく、そうではありませんよね!

この章では、オフセット (Offset)重み (Weight) について学びます。これらは、データの「規模」や「信頼性」の違いをモデルに反映させるための非常に重要なツールです。最初は少し抽象的に感じるかもしれませんが、大丈夫です。身近な例えとステップバイステップの論理で、分かりやすく解説していきます。


パート1:オフセット – 曝露(エクスポージャー)を考慮する

レモネードスタンドを経営していると想像してください。あなたはどれくらいのお客さんが来るかを予測したいと考えています。今日2時間だけ店を開ける場合と、明日10時間開ける場合で、同じ客数を期待するでしょうか?当然、そんなことはありませんよね!長く店を開けるほど、お客さんと接する曝露(エクスポージャー)が大きくなるからです。

オフセットとは何か?

オフセットとは、係数が1に固定された特殊な予測変数です。モデルが「傾き (\(\beta\))」を計算する他の変数とは異なり、オフセットについては、ターゲット(目的変数)との関係性(リンク関数スケールでの線形関係)が既に分かっています。

ポアソン回帰の例(最も一般的なケース)

試験(Exam PA)において、オフセットはポアソン回帰を用いて「発生率」をモデル化する際に最も頻繁に使われます。通常、ポアソンモデルは「件数 (\(\mu\)))」を予測しますが、多くの場合、「年間あたりの保険金請求件数」のような「発生率」を予測したいと考えます。

数学的には以下のようになります:
\(\text{Rate} = \frac{\mu}{E}\) (ここで \(E\) はエクスポージャーです)
ポアソン回帰で標準的な対数リンク関数 (log link) を使用すると、式はこうなります:
\(\ln(\frac{\mu}{E}) = \beta_0 + \beta_1 X_1 + ...\)
対数の性質を利用して式を変形すると:
\(\ln(\mu) - \ln(E) = \beta_0 + \beta_1 X_1 + ...\)
\(\ln(\mu) = \mathbf{\ln(E)} + \beta_0 + \beta_1 X_1 + ...\)

ここで \(\ln(E)\) が式に加えられていることに注目してください。これには推定すべき \(\beta\) 係数が付いていません。これこそがオフセットです!

オフセットの重要ポイント:

  • 目的: 異なるレベルのエクスポージャー(時間、距離、契約件数など)を調整する。
  • 係数: 常に1です。モデルはこれを直接的な比例関係として扱うよう強制されます。
  • 対数のトリック: R言語で対数リンク関数を使用する場合、エクスポージャーの対数をオフセットとして与える必要があります。

ワンポイント: オフセットは「スケール調整機」だと考えてください。1ヶ月の契約と12ヶ月の契約を公平に比較できるようにするための調整役です。


パート2:重み – 信頼性を考慮する

次に、重み (Weight) について話しましょう。GLMでは、しばしば「事前重み (Prior Weights)」(\(\omega\) と表記されることもあります)を使用します。

重みとは何か?

重みは、データの1行がどれだけの情報量精度を持っているかをモデルに伝えます。重みが大きい行は、モデルのパラメータを計算する際により「信頼性が高い」あるいは「重要である」とみなされます。

「平均」の例え

2つの学校のテスト平均点を比較していると想像してください:
1. A校: 平均点90点(5人の生徒に基づく)
2. B校: 平均点85点(500人の生徒に基づく)
市全体の平均を予測するなら、どちらの学校のデータをより信頼しますか?B校ですよね、サンプルサイズが圧倒的に大きいからです。GLMにおいても、B校に対してより高い重みを割り当てることになります。

重みがモデルに与える影響

GLMにおいて、観測値の分散は通常次のように定義されます:
\(\text{Var}(Y_i) = \frac{\phi V(\mu_i)}{\omega_i}\)
ここで:
- \(\phi\) は分散パラメータ。
- \(V(\mu_i)\) は分散関数。
- \(\omega_i\) は重みです。

重みが分母にあることに注目してください。これは以下のことを意味します:
- 重み (\(\omega\)) が大きい = 分散が小さい。
- 分散が小さい = 確実性が高い。

重みの一般的な利用例:

  • グループ化されたデータ: データの1行が \(n\) 個の観測値の平均を表している場合、重みとして \(n\) を使用します。
  • 二項モデル: 成功の「割合」をモデル化する場合、試行回数 (\(n\)) が重みとして使われます。

豆知識: 重みの利用は、データが手元に届く前に既に「集計」または「要約」されている場合によく行われます。


パート3:オフセットと重みの違い(まとめ表)

多くの学生がこれらを混同してしまいます。整理するための簡単な表を作成しました:

特徴 オフセット 重み
主な目的 平均(期待値)の調整 精度(分散)の調整
式への影響 線形予測子に加算(係数=1) 分散や影響度をスケールするために使用
例え 「1時間ではなく5時間店を開けた」 「1人ではなく100人のデータに基づく」
一般的な変数 Log(曝露), Log(時間) 試行回数, サンプルサイズ

パート4:よくある落とし穴と間違い

最初は難しく感じるかもしれませんが、大丈夫です!経験豊富なアクチュアリーでさえ、たまに混同することがあります。試験で避けるべきよくあるミスは以下の通りです:

  1. オフセットの対数をとるのを忘れる: 対数リンクを用いたポアソンモデルを使用する場合、オフセットとして使用する前に必ずエクスポージャー変数の自然対数をとる必要があります。忘れると、モデルは実際よりも指数関数的に大きなエクスポージャーとして計算してしまいます!
  2. カウントデータに重みを使う: 生のカウントデータをモデル化する場合、通常サンプルサイズの重みは必要ありません(ポアソン分布は平均に基づいて自身の分散を計算するため)。重みは、「平均」や「割合」をモデル化する際により一般的です。
  3. 係数との混同: 変数がオフセットである場合、係数は1に固定されているため、Rはそれに対するp値や推定係数を表示しません。 サマリー出力に推定された \(\beta\) が表示されているなら、それはオフセットとして扱われていません!

クイック復習ボックス

1. オフセット: 「エクスポージャー(曝露)」用。係数は1に固定。線形予測子に足す。
2. 重み: 「信頼性」用。分散に逆比例。重みが大きいほどモデルへの影響力が強くなる。
3. ポアソンリンク: 対数リンクのポアソンモデルを使うとき、オフセットは通常log(エクスポージャー)になる。


まとめ

オフセットは「機会の窓(エクスポージャー)」を考慮することで平均を公平にし、重みは「データの確実性(信頼性)」を考慮することで推定を公平にします。この2つをマスターすれば、保険やビジネスデータに潜むリスクを正確に反映したモデルを構築できるようになります!