R ile ikilik veriler üzerinde faktör analizi için önerilen prosedür


10

İki değişkenli (0 = evet, 1 = hayır) veri kümesinde bir faktör analizi yapmak zorundayım ve doğru yolda olup olmadığımı bilmiyorum.

Kullanarak tetrachoric()üzerinde çalıştığım bir korelasyon matrisi yaratırım fa(data,factors=1). Sonuç MixFactor kullanırken aldığım sonuçlara oldukça yakın , ama aynı değil.

  1. Bu uygun mu yoksa başka bir prosedür önerir misiniz?
  2. Neden fa()çalışıyor ve factanal()hata veriyor? ( Fehler in solve.default(cv) : System ist für den Rechner singulär: reziproke Konditionszahl = 4.22612e-18)

1
(Almanca?) Konuşmuyorum ama hata, tetrashoric matrisin tekil (tersine çevrilemez) olmasından kaynaklanıyor gibi görünüyor. İyi boyutlu bir örnekle bile, bazı polikrik korelasyon matrisleri tahminleri, uygun korelasyon matrisleri olamaz. Benim önsez fa () temel bileşenleri kullanıyor ve factanal () maksimum olasılık FA yapıyor, ama bu benim için fa () belgelerinden belli değil.
JMS

@cada Kaç adet nesneniz / konunuz var? Ve MixFactor'da hangi yöntem uygulanır?
chl

1
@cada neden faktör analizini yapıyorsunuz? Katılımcı yeteneğini tahmin etmeyi hedefliyorsanız, IRT daha iyi bir yaklaşım olabilir. fa'ya karşı factanal konusunda, fa varsayılan olarak minimum kalıntıyı kullanırken, factanal bir ML yöntemi kullanır.
richiemorrisroe

@chl: çok az! Ankete yeni başladım ve şimdiye kadar sadece 45 konu var. Şu anda yeni veri toplayamıyorum ve bu yüzden r kodunu mümkün olduğunca fazla yapmaya çalışıyorum ...
cada

1
@cada 45 kişiden oluşan bir CFA sürrealist olur :-) Düşüncelerimi daha sonra eklemeye çalışacağım.
chl

Yanıtlar:


12

Özetlemek gerekirse, n = 45 denekle korelasyon tabanlı ve çok değişkenli tanımlayıcı yaklaşımlarla kalıyorsunuz. Ancak, bu anketin tek boyutlu olması gerektiğinden, bu her zaman iyi bir başlangıçtır.

Ne yaparım:

  • 22 öğeniz için ikili korelasyonları hesaplayın; aralığı ve medyanı rapor edin - bu, gözlemlenen öğelerin yanıtlarının göreceli tutarlılığının bir göstergesini verecektir (0.3'ün üzerindeki korelasyonlar genellikle iyi yakınsak geçerliliğinin bir göstergesi olarak düşünülür, ancak elbette bu tahminin kesinliği örnek büyüklüğüne bağlıdır) ; Anketin iç tutarlılığını araştırmanın alternatif bir yolu , n = 45 ile ilişkili güven aralığı (bunun için bootstrap kullanın) nispeten büyük olsa da, Cronbach alfa hesaplamak olacaktır.
  • Maddeler ve toplanan ölçek puanı arasındaki nokta-biseriyal korelasyonu hesaplayın ; 0.3'ün üzerindeki değerlerin, her bir madde ile karşılık gelen ölçeği arasında tatmin edici bir ilişki olduğunu gösteren her bir öğenin (FA'daki yüklemeler gibi) ayırt edici gücü hakkında bir fikir verecektir.
  • Korelasyon matrisini özetlemek için bir PCA kullanın (iki puanlı maddeler durumunda çoklu bir yazışma analizinden elde edileceklere eşdeğer bir yorum verir ). Cihazınız numuneniz için tek boyutlu bir ölçek gibi davranıyorsa, baskın bir varyasyon ekseni gözlemlemelisiniz (ilk özdeğer tarafından yansıtıldığı gibi).

R'yi kullanmak isterseniz, ltm ve psych paketinde kullanışlı bir işlev bulacaksınız ; daha fazla paket için CRAN Psikometri Görev Görünümü'ne göz atın . 100 konu almanız durumunda, bootstrap güven aralığı ile bazı CFA veya SEM analizlerini deneyebilirsiniz. (Yüklemelerin, herhangi bir öğe ve faktörü arasında önemli bir korelasyon olduğunu düşünmek için çok büyük olması gerektiğini unutmayın, çünkü güvenilir bir korelasyon katsayısının standart hatasının en az iki katı olması gerekir, .)2(1-r2)/(n)


Çok teşekkür ederim! Cevabınız çok detaylı ve gerçekten çok yardımcı! Teşekkür ederim!
cada

3

Bu konu, factanal kullanan "System ist für den Rechner singulär: reziproke Konditionszahl" hatası için iyi bir Google konumuna sahip.

Korelasyon matrisi bir a priori olarak hesaplandığında (örn. Eksik değerleri çift olarak silmek için), factanal () öğesinin matrisin analiz edilecek veri olduğunu düşünmediğinden emin olun (https://stat.ethz.ch/pipermail/r- yardım / 2007-Ekim / 142567.html).

PREVIOUS: matrix = cor(data, use="pairwise.complete.obs")  # For example
WRONG: factanal(matrix, 3, rotation="varimax")
RIGHT: factanal(covmat=matrix, factors=3, rotation="varimax")

BurninLeo

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.