Rでbicを計算する方法
ベイズ情報量基準( BIC と略されることも多い) は、さまざまな回帰モデルの適合度を比較するために使用される尺度です。
実際には、複数の回帰モデルを同じデータセットに適合させ、BIC 値が最も低いモデルをデータに最も適合するモデルとして選択します。
BIC を計算するには次の式を使用します。
BIC: (RSS+log(n)dσ̂ 2 ) / n
金:
- d:予測子の数
- n:観測値の合計
- σ̂:回帰モデルの各応答測定に関連する誤差分散の推定値
- RSS:回帰モデルからの残差二乗和
- TSS:回帰モデルの総二乗和
次の段階的な例は、R で回帰モデルの BIC 値を計算する方法を示しています。
ステップ 1: データを表示する
この例では、組み込みのmtcarsデータセットを使用します。
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
ステップ 2: 複数のテンプレートをインストールする
次に、このデータセットを使用していくつかの異なる回帰モデルを当てはめます。
#fit three different regression models
model1 <- lm(mpg ~ disp + hp, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)
ステップ 3: BIC が最も低いモデルを選択する
各モデルの BIC 値を計算するには、 flexmixパッケージのBIC()関数を使用できます。
library (flexmix)
#calculate BIC of model1
BIC(model1)
[1] 174.4815
#calculate BIC of model2
BIC(model2)
[1] 177.7048
#calculate BIC of model3
BIC(model3)
[1] 170.0307
各モデルの BIC 値を確認できます。
- モデル 1の BIC : 174.4815
- モデル 2 BIC: 177.7048
- モデル 3 BIC: 170.0307
モデル 3 の BIC 値が最も低いため、これをデータセットに最も適合するモデルとして選択します。
追加リソース
次のチュートリアルでは、R で一般的な回帰モデルを当てはめる方法について説明します。
R で単純な線形回帰を実行する方法
R で重回帰を実行する方法
R でロジスティック回帰を実行する方法
R で加重最小二乗回帰を実行する方法