Моя цель: У меня есть порядковый множитель (5 уровней), к которому я хотел бы применить контрасты для проверки линейного тренда. Однако факторные группы имеют неоднородность дисперсии.
Что я сделал: По рекомендации я использовал lmRob()
из robust
pckg, чтобы создать надежную линейную модель, а затем применил контрасты.
# assign the codes for a linear contrast of 5 groups, save as object
contrast5 <- contr.poly(5)
# set contrast property of sf1 to contain the weights
contrasts(SCI$sf1) <- contrast5
# fit and save a robust model (exhaustive instead of subsampling)
robmod.sf1 <- lmRob(ICECAP_A ~ sf1, data = SCI, nrep = Exhaustive)
summary.lmRob(robmod.sf1)
Моя проблема: С тех пор я читал, что устойчивая регрессия больше подходит для устранения выбросов, а не гетерогенности дисперсии. (внизу https://stats.idre.ucla.edu/r/dae/robust-regression/_) На этой странице UCLA (среди прочих) предлагается пакет sandwich
для получения гетероскедастических c -согласованных (H C) стандартных ошибок (например, в https://thestatsgeek.com/2014/02/14/the-robust-sandwich-variance-estimator-for-linear-regression-using-r/).
Но эти примеры используют серию функций / вызовов для генерации вывода, которое дает вам H C, который можно использовать для вычисления доверительных интервалов, t-значений, p-значений и т. Д. c.
Я думаю, что если бы я использовал vcovHC()
, я мог бы получить ошибки H C std, но ошибки H C std не были бы «применены» / свойство модели, поэтому я не смог передать модель (с ошибками H C) через функцию, чтобы применить контрасты, которые я в конечном итоге хочу. Я надеюсь, что я не объединяю два отдельных понятия, но, безусловно, если функция адресует / понижает весовые коэффициенты, это должно хотя бы в некоторой степени учитывать и неравные отклонения?
Может ли кто-нибудь подтвердить, правильны ли мои рассуждения (и, таким образом, остаться с lmRob()
? Или предложить, как я мог бы просто исправить свои стандартные ошибки и все же применить контрасты ?