Rでの対数尤度の計算方法と使用例


対数尤度(log likelihood)は、統計モデルの当てはまりの良さを評価する指標の一つです。一般に、対数尤度が高いほどデータとモデルの適合度が高いことを示します。

対数尤度を計算するためには、まず統計モデルを適切に定義する必要があります。具体的なモデルの定義方法は問題によって異なりますが、例として一般化線形モデル(Generalized Linear Model)の対数尤度の計算方法を示します。

以下は、R言語で一般化線形モデルの対数尤度を計算する例です。

# 必要なパッケージを読み込む
library(stats)
# データの準備
x <- c(1, 2, 3, 4, 5)  # 説明変数
y <- c(0, 1, 0, 1, 0)  # 目的変数
# 一般化線形モデルを適合させる
model <- glm(y ~ x, family = binomial)
# 対数尤度の計算
log_likelihood <- logLik(model)

上記のコードでは、glm関数を使用して一般化線形モデルを適合させ、logLik関数を使用して対数尤度を計算しています。family引数を使用して、二項分布を仮定した二値の目的変数に対してモデルを適合させています。

対数尤度は、logLik関数の戻り値として得られます。計算された対数尤度の値を適切に解釈し、他のモデルと比較することで、統計モデルの適合度を評価することができます。

このようにして、R言語を使用して対数尤度を計算し、統計モデルの評価を行うことができます。具体的なモデルの定義や対数尤度の計算方法は、分析の目的やデータに応じて適切に選択する必要があります。