0

おはようございます、

R を使用して線形モデルでホワイト テストを実現しようとしています。ホワイト テストを実現するための R コードの書き方がわかりません。

価格 : 住宅価格、単位は百万ドル

Bdrms : 寝室の数

ロットサイズ : 平方フィート単位のロットのサイズ

Sqrft : 平方フィートで表した家のサイズ

線形モデルは次のとおりです。

#Linear Model
LinearModel.1 <- lm(PRICE ~ LOTSIZE + LOTSIZE^2 + SQRFT + BDRMS, data=Dataset)
summary(LinearModel.1)


#Breusch-Pagan Test
library(lmtest)
bptest(LinearModel.1, varformula = NULL, studentize = TRUE, data = Dataset)


#White Test
?????????

ご回答ありがとうございます

4

5 に答える 5

5
m <- LinearModel.1
data <- Dataset
u2 <- m$residuals^2
y <- fitted(m)
Ru2<- summary(lm(u2 ~ y + I(y^2)))$r.squared
LM <- nrow(data)*Ru2
p.value <- 1-pchisq(LM, 2)
p.value

p.value < 0.05 の場合、Ho (不均一分散がない) は 5% の有意水準で棄却され、モデルに不均一分散があると結論付けます

于 2015-01-20T15:02:03.840 に答える
4

White Test はパッケージ「bstats」に実装されています。このパッケージをインストールしてロードした後、次のように入力するだけで、線形モデル オブジェクトに対してホワイト テストが実行されます。

white.test(lm0)

説明と例については、このページを参照してください。

于 2013-05-15T11:23:12.953 に答える
1

次のように、パッケージのbptest関数を使用してテストを実装できます。lmtest

reg <- lm(y~x1+x2) # storing regression
bptest(reg, ~ poly(fitted(reg) , 2))

y上記は、 の当てはめ値とその 2 乗値 (したがって のオプション)poly(fitted(reg) , 2)bptest第 2 段階の式のリグレッサーとして使用する特殊な形式の検定を実装していることに注意してください。正規形は、自由度を失うことを犠牲にして、すべてのリグレッサー、それらの二乗値、および相互作用を第 2 段階のリグレッションの要素として使用します。そのフォームを実装するには~ poly(fitted(reg) , 2)、 のようなものに置き換える必要があります~ x1*x2 + x1*x3 ...。リグレッサーが多い場合は、別のパッケージを使用した方が簡単な場合があります。

于 2020-11-26T14:20:33.500 に答える