bptest
の解釈に関して少し混乱しました。 Rで(library(lmtest)
)。 bptest
の帰無仮説は、残差が一定の分散を持っているというものです。したがって、0.05未満のp値は、等分散性の仮定を棄却する必要があることを意味します。ただし、このWebサイトでは:
私を混乱させる次の結果:
data: lmMod BP = 3.2149, df = 1, p-value = 0.07297
p値> 0.05は、帰無仮説(分散は残差で変化しない)が拒否されたため、異質性が存在します。これは、lmオブジェクトで線形モデルの仮定(gvlma)のグローバル検証を実行することで確認できます。
gvlma(lmMod) # validate if assumptions of linear regression holds true. # Call: gvlma(x = lmMod) Value p-value Decision Global Stat 15.801 0.003298 Assumptions NOT satisfied! Skewness 6.528 0.010621 Assumptions NOT satisfied! Kurtosis 1.661 0.197449 Assumptions acceptable. Link Function 2.329 0.126998 Assumptions acceptable. Heteroscedasticity 5.283 0.021530 Assumptions NOT satisfied!
では、なぜそうなるのでしょうか。 p値> 0.05は、帰無仮説を棄却する必要があることを意味しますが、実際には、p値が0.05未満の場合は、帰無仮説を棄却する必要があることを示しますか?
回答
これはrstatistics.netのタイプミスであるはずです。 Breusch-Pagan検定のnull仮説が等分散性であるというのは正しいです(=分散は補助回帰子に依存しません)。 $ p $値が「小さい」場合、帰無仮説は棄却されます。
この問題についてrstatistics.netの作成者に連絡し、同意して修正するかどうかを確認することをお勧めします。
さらに、glvma()
はデフォルトでbptest()
とは異なる補助リグレッサを使用し、学生化をオフにすることに注意してください。より正確には、bptest()
の引数を明示的に設定して結果を複製すると、違いを確認できます。
モデルは次の式で与えられます:
data("cars", package = "datasets") lmMod <- lm(dist ~ speed, data = cars)
bptest()
で採用されているデフォルトでは、モデルと同じ補助リグレッサ、つまりspeed
。また、有限サンプルプロパティが改善されたスチューデント化バージョンを使用して、有意ではない結果を生成します。
library("lmtest") bptest(lmMod, ~ speed, data = cars, studentize = TRUE) ## studentized Breusch-Pagan test ## ## data: lmMod ## BP = 3.2149, df = 1, p-value = 0.07297
対照的に、glvma()
はスチューデント化をオフにし、分散の線形傾向をチェックします。
cars$trend <- 1:nrow(cars) bptest(lmMod, ~ trend, data = cars, studentize = FALSE) ## Breusch-Pagan test ## ## data: lmMod ## BP = 5.2834, df = 1, p-value = 0.02153
ご覧のとおり、両方の$ p $値はかなり小さいですが、 5%の異なる側で。スチューデント化されたバージョンはどちらも5%をわずかに上回っています。
glvma
ですが、奇妙です。 "仮定が満たされていない!"は、実際には前提条件が満たされている必要があります。glvma
の決定ラベルは好きではありません。これらは有意水準よりも悪く、5.1%のp値であることを示しています。 4.9%とは根本的に異なります。