R で breusch-pagan テストを実行する方法


Breusch-Pagan 検定は、回帰分析に不均一分散性が存在するかどうかを判断するために使用されます。

このチュートリアルでは、R で Breusch-Pagan テストを実行する方法について説明します。

例: R での Breusch-Pagan テスト

この例では、 mtcars組み込み R データセットを使用して回帰モデルを近似し、 lmtestライブラリの関数bptestを使用してブルーシュ・パガン検定を実行して、不均一分散性が存在するかどうかを判断します。

ステップ 1: 回帰モデルを当てはめます。

まず、 mpg を応答変数として、 disphp を2 つの説明変数として使用して回帰モデルを近似します。

 #load the dataset
data(mtcars)

#fit a regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

ステップ 2: ブリューシュ・パガン・テストを実行します。

次に、Breusch-Pagan 検定を実行して、不均一分散性が存在するかどうかを判断します。

 #load lmtest library
library(lmtest)

#perform Breusch-Pagan Test
bptest(model)

	studentized Breusch-Pagan test

data: model
BP = 4.0861, df = 2, p-value = 0.1296

検定統計量は4.0861で、対応する p 値は0.1296です。 p 値は 0.05 未満ではないため、帰無仮説を棄却できません。回帰モデルに不均一分散性が存在すると主張する十分な証拠はありません。

次はどうする

ブリューシュ・パガン検定の帰無仮説を棄却できなかった場合、不均一分散性は存在しないため、元の回帰の結果の解釈に進むことができます。

ただし、帰無仮説を棄却した場合は、データに不均一分散性が存在することを意味します。この場合、回帰出力テーブルに表示される標準誤差は信頼できない可能性があります。

この問題を解決するには、次のような一般的な方法がいくつかあります。

1. 応答変数を変換します。応答変数に対して変換を実行してみることができます。たとえば、元の応答変数の代わりにログ応答変数を使用できます。一般に、応答変数の対数を取得することは、不均一分散性を排除する効果的な方法です。もう 1 つの一般的な変換は、応答変数の平方根を使用することです。

2. 重み付け回帰を使用します。このタイプの回帰では、近似値の分散に基づいて各データ ポイントに重みが割り当てられます。基本的に、これにより、分散が大きいデータ ポイントに低い重みが与えられ、残差二乗が減少します。適切な重みを使用すると、不均一分散性の問題を解決できます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です