Bu cevabın kredisi, bu soruyu Google + 'daki R ve İstatistik topluluğuna gönderdiğimde harika bir cevap veren @Joshua'ya gidiyor . Cevabını aşağıda yapıştırıyorum.
Koşu regresyonu için (gizli değişken modelleme olmadan), lütfen alıntı yapılan metinden sonra yazdığım notlarımı okuyun.
Tüm mevcut verilerde (FIML olarak adlandırılan) eksik verileri Maksimum Olabilirlikle ele almak çok yararlı bir tekniktir. Bununla birlikte, genel bir şekilde uygulanmasını zorlaştıran bir takım komplikasyonlar vardır. Yaş, cinsiyet ve meslek türünden sürekli sonuç tahmin eden basit bir doğrusal regresyon modelini düşünün. OLS'ta yaş, cinsiyet ve mesleğin dağılımı hakkında endişelenmiyorsunuz, sadece sonuç. Tipik kategorik öngörücüler için kukla kodlanmıştır (0/1). ML'yi kullanmak için eksik olan tüm değişkenler için dağıtımsal varsayımlar gereklidir. Şimdiye kadar en kolay yaklaşım çok değişkenli normaldir (MVN). Değişken türünü (örneğin, kategorik) bildirme yolunuza gitmezseniz, örneğin Mplus varsayılan olarak bunu yapar. Verdiğim basit örnekte, muhtemelen yaş için normal, seks için Bernoulli ve iş türü için multinomal olduğunu varsaymak istersiniz. İkincisi zor çünkü aslında sahip olduğunuz birkaç ikili değişken, ama onları Bernoulli olarak ele almak istemiyorsunuz. Bu, kukla kodlanmış değişkenlerle çalışmak istemediğiniz anlamına gelir, gerçek kategorik değişkenle çalışmanız gerekir, böylece ML tahmincileri çok amaçlı bir şekilde kullanabilir, ancak bu, kukla kodlama işleminin modele yerleştirilmesi gerektiği anlamına gelir. veri değil. Yine hayatı zorlaştırıyor. Ayrıca, sürekli ve kategorik değişkenlerin ortak dağılımı hesaplamak önemsizdir (Mplus'ta böyle sorunlarla karşılaştığımda, oldukça hızlı bir şekilde parçalanmaya ve mücadele etmeye başlar). Son olarak, ideal olarak eksik veri mekanizmasını belirlersiniz. SEM tarzında, FIML, tüm değişkenler esasen diğerlerine koşulludur, ancak bu her zaman doğru değildir. Örneğin, yaş cinsiyet ve meslek türünün değil, etkileşimlerinin bir işlevi olarak belki de eksiktir. Etkileşim odak sonucu için önemli olmayabilir, ancak yaşta eksiklik için önemliyse, o zaman modelde olmalı, mutlaka temel ilgi modeli değil, eksik veri modeli olmalıdır.
lav, MVN için ML kullanacak, ancak şu anda kategorik veri seçeneklerinin sınırlı olduğuna inanıyorum (yine SEM alanından geliyor, bu standart). Birden fazla itimat ilk başta daha az zarif görünüyor çünkü FIML'nin arkasındaki birçok gizli varsayımı açıkça gösteriyor (her değişken için dağıtım varsayımları ve her değişken için eksiklik olduğu varsayılan tahmin modeli gibi). Bununla birlikte, her bir değişkenin dağılımı hakkında çok fazla kontrol ve açıkça düşünmenizi sağlar ve her biri için en uygun eksik veri mekanizması değerlidir.
Bayesian modellerinin eksik verileri ele almanın yolu olduğuna ikna oldum. Bunun nedeni, her bir değişken için dağılımları dahil etme konusunda çok esnek olmaları, birçok farklı dağıtım türüne izin vermeleri ve öngörücülerdeki eksik verilerin getirdiği değişkenliği genel model tahminlerine kolayca dahil edebilmeleridir. sonra bir şekilde sonuçları birleştirmek zorunda). Tabii ki, bu yöntemler en kolay değildir ve çok fazla eğitim ve zaman alabilir.
Bu, sorunuza gerçekten cevap vermiyor, ancak eksiklikle başa çıkmak için tamamen genel çerçevelerin neden zor olduğunu biraz açıklıyor. Kovaryans matrisleri için semutils paketimde, ML kullanmak için altında lav kullanıyorum. Bunu yaptığım için sürekli değişkenleri kullandığınız bir varyans kovaryans matrisi için varsayıyorum, böylece kullanıcılarımın zaten verileri için MVN olduğunu varsayalım.
Bu, eksik olan tüm değişkenlerin sürekli olması durumunda, lav , yapısal bir denklem modelleme (SEM) paketinin R'deki FIML için kullanılması güzel bir paket olduğu anlamına gelir.
Şimdi ilk soruma geri döneceğim. Niyetim, doğrusal regresyon yaparken eksiklik için sihirli bir düzeltme yapmaktı. Eksik olan tüm değişkenlerim güzel ve süreklidir. Bu yüzden analizlerimi iki tarzda yürütmeye devam ettim:
- Birden fazla empoze ile olağan yol
- FIML kullanarak lav ile SEM tarzında.
SEM tarzında gerileme yaparak birçok şeyi kaçırıyordum. Her iki stil de benzer katsayılar ve R kareleri verdi, ancak SEM stilinde regresyonun (df ile tipik F değerleri) önem testini alamadım, bunun yerine tüm derecelerimi kullandığım için yardımcı olmayan uygun indeksler aldım özgürlük. Ayrıca bir modelin diğerinden daha büyük bir R2'si olduğunda, farkın önemli olup olmadığını karşılaştırmanın bir yolunu bulamadım. Ek olarak, regresyonun olağan şekilde yapılması, paha biçilmez regresyon varsayımları için bir grup teste erişim sağlar. Bu konuda daha ayrıntılı bir cevap için @StasK tarafından güzelce cevaplanan diğer soruma bakın .
Sonuç olarak, lavın R'de FIML için iyi bir paket olduğu görülüyor, ancak FIML kullanımı istatistiksel varsayımlara ve yürüttüğü analiz türüne bağlıdır. Regresyon (gizli değişken modelleme olmadan) söz konusu olduğunda, onu SEM programlarından uzak tutmak ve çoklu impütasyon kullanmak muhtemelen akıllıca bir harekettir.