Sağlam standart hatalarla çıktıda R raporu ayarlanmış R kare ve F testi yapın
lm(x~y1 + y1 + ... + yn)
Mevcut heteroskedisiteyi kullanarak ve buna karşı koymak için doğrusal bir regresyon modeli tahmin ettim. R'nin sağlam standart hataları tahmin etmesini istedim.
coeftest(model, vcov = vcovHC(model, type = "HC0"))
"Normal" modelden (sağlam) R kare ve F istatistiğinin hala geçerli olduğunu biliyorum, ancak çıktıda bunları rapor etmek için R'yi nasıl elde edebilirim? Farklı özelliklerden birkaç regresyon çıktısını birleştirmek istiyorum stargazer
ve sadece bu istatistikleri elde etmek için sağlam olmayan modele girmem gerekirse çok kaotik hale gelir. İdeal olarak, içine stargazer
bu istatistikleri içeren bir regresyon çıktısı girmek , böylece bunu çerçevelerine aktarmak istiyorum.
Tüm cevaplar için şimdiden teşekkürler
Yanıtlar
Bu nasıl yapılacağıdır. Stargazer tarafından desteklenen model nesnesini şablon olarak kullanmanız gerekir ve ardından kullanılacak standart hataların bulunduğu bir liste sağlayabilirsiniz:
library(dplyr)
library(lmtest)
library(stargazer)
# Basic Model ---------------------------------------------------------------------------------
model1 <- lm(hp ~ factor(gear) + qsec + cyl + factor(am), data = mtcars)
summary(model1)
# Robust standard Errors ----------------------------------------------------------------------
model_robust <- coeftest(model1, vcov = vcovHC(model1, type = "HC0"))
# Get robust standard Errors (sqrt of diagonal element of variance-covariance matrix)
se = vcovHC(model1, type = "HC0") %>% diag() %>% sqrt()
stargazer(model1, model1,
se = list(NULL, se), type = 'text')
Bu yaklaşımı kullanarak, desteklenmeyen model nesneler için bile stargazer'ı kullanabilirsiniz. Vektör olarak yalnızca katsayılara, standart hatalara ve p değerlerine ihtiyacınız vardır. O zaman desteklenmeyen modelleri bile 'mekanik olarak ekleyebilirsiniz'.
Son bir Not. Bir kez heteroskedastisite mevcut olduğunda, Rsquared'in hala kullanılabileceği konusunda haklısınız. Ancak genel F testi ve t testleri artık geçerli DEĞİLDİR.
Bir çözümüm stargarzer
yok, ancak sağlam standart hatalar içeren regresyon tabloları için birkaç geçerli alternatifim var:
seçenek 1
modelsummary
Tablolarınızı yapmak için paketi kullanın .
statistic_override
sağlam bir varyans kovaryans matrisini hesaplayan bir fonksiyon sağlamanıza izin veren bir argümana sahiptir (örn sandwich::vcovHC
.
library(modelsummary)
library(sandwich)
mod1 <- lm(drat ~ mpg, mtcars)
mod2 <- lm(drat ~ mpg + vs, mtcars)
mod3 <- lm(drat ~ mpg + vs + hp, mtcars)
models <- list(mod1, mod2, mod3)
modelsummary(models, statistic_override = vcovHC)

Not 1: Yukarıdaki ekran görüntüsü bir HTML tablosundan alınmıştır, ancak modelsummary
paket Word, LaTeX veya markdown tablolarını da kaydedebilir.
Not 2: Bu paketin yazarıyım, bu nedenle lütfen bunu potansiyel olarak önyargılı bir görünüm olarak değerlendirin.
seçenek 2
estimatr::lm_robust
Otomatik olarak güçlü standart hataları içeren işlevi kullanın . Ben inanıyorum estimatr
tarafından desteklenmektedir stargazer
ama biliyorum o tarafından desteklendiğini modelsummary
.
library(estimatr)
mod1 <- lm_robust(drat ~ mpg, mtcars)
mod2 <- lm_robust(drat ~ mpg + vs, mtcars)
mod3 <- lm_robust(drat ~ mpg + vs + hp, mtcars)
models <- list(mod1, mod2, mod3)
modelsummary(models)