ขั้นตอนที่แนะนำสำหรับการวิเคราะห์ปัจจัยเกี่ยวกับข้อมูลแบบแบ่งขั้วด้วย R


10

ฉันต้องเรียกใช้การวิเคราะห์ปัจจัยบนชุดข้อมูลที่สร้างขึ้นจากตัวแปร dichotomous (0 = ใช่, 1 = ไม่) และฉันไม่รู้ว่าฉันกำลังอยู่ในเส้นทางที่ถูกต้องหรือไม่

ใช้ฉันจะสร้างเมทริกซ์ความสัมพันธ์ซึ่งผมทำงานtetrachoric() fa(data,factors=1)ผลลัพธ์ค่อนข้างใกล้เคียงกับผลลัพธ์ที่ฉันได้รับเมื่อใช้MixFactorแต่ไม่เหมือนกัน

  1. ไม่เป็นไรหรือคุณจะแนะนำขั้นตอนอื่นหรือไม่
  2. เหตุใดจึงfa()ทำงานและfactanal()สร้างข้อผิดพลาด ( Fehler in solve.default(cv) : System ist für den Rechner singulär: reziproke Konditionszahl = 4.22612e-18)

1
ฉันไม่พูด (ภาษาเยอรมัน?) แต่ข้อผิดพลาดดูเหมือนว่าเป็นเพราะเมทริกซ์ tetrachoric เป็นเอกพจน์ (ไม่กลับด้าน) ถึงแม้จะมีขนาดตัวอย่างที่ดีการประมาณค่าของเมทริกซ์ความสัมพันธ์แบบ polychoric ก็ไม่สามารถเป็นเมทริกซ์สหสัมพันธ์ที่เหมาะสมได้ ลางสังหรณ์ของฉันคือ fa () กำลังใช้ส่วนประกอบหลักและ factanal () กำลังทำโอกาสสูงสุด FA แต่ก็ไม่ชัดเจนสำหรับฉันจากเอกสารประกอบของ fa ()
JMS

@cada คุณมีสิ่งของ / วิชากี่เรื่อง? และวิธีการใดที่จะนำไปใช้ใน MixFactor
chl

1
@cada ทำไมคุณถึงเรียกใช้การวิเคราะห์ปัจจัย? หากคุณต้องการประเมินความสามารถของผู้เข้าร่วม IRT อาจเป็นวิธีที่ดีกว่า ในเรื่องของ fa กับ factanal, fa ใช้ค่าต่ำสุดที่เหลือตามค่าเริ่มต้นในขณะที่ factanal ใช้วิธีการ ML
richiemorrisroe

@chl: วิธีน้อยเกินไป! ฉันเพิ่งเริ่มการสำรวจและตอนนี้มีเพียง 45 วิชา ฉันลาดเทเก็บรวบรวมข้อมูลใหม่ ๆ ในช่วงเวลานั้นเป็น Teh และเหตุผลที่ผมพยายามที่จะทำเท่าของรหัส R ที่เป็นไปได้ ...
cada

1
@cada A CFA ที่มี 45 วิชาจะเป็น surrealist :-) ฉันจะลองเพิ่มความคิดของฉันในภายหลัง
chl

คำตอบ:


12

ในการสรุปด้วยวิชาที่ n = 45 คุณจะถูกทิ้งให้อยู่กับแนวทางเชิงพรรณนาและแบบหลายตัวแปร อย่างไรก็ตามเนื่องจากแบบสอบถามนี้ควรมีมิติเดียวจึงเป็นการเริ่มต้นที่ดีเสมอ

ฉันจะทำอะไร:

  • คำนวณค่าสหสัมพันธ์ 22 รายการของคุณ รายงานช่วงและค่ามัธยฐาน - สิ่งนี้จะให้การบ่งชี้ความสอดคล้องสัมพัทธ์ของการตอบสนองรายการที่สังเกต (สหสัมพันธ์ที่สูงกว่า 0.3 โดยทั่วไปคิดว่าเป็นการบ่งบอกถึงความถูกต้องของการลู่เข้าที่ดี แต่แน่นอนว่าความแม่นยำของการประมาณนี้ขึ้นอยู่กับขนาดตัวอย่าง) ; อีกทางเลือกหนึ่งในการศึกษาความสอดคล้องภายในของแบบสอบถามคือการคำนวณอัลฟ่าของครอนบาคถึงแม้ว่า n = 45 จะมีช่วงความเชื่อมั่นที่เกี่ยวข้อง (ใช้ bootstrap สำหรับเรื่องนั้น) จะค่อนข้างใหญ่
  • คำนวณสหสัมพันธ์จุด -ไบโอเชียลระหว่างรายการและคะแนนสเกลสรุป มันจะให้ความคิดเกี่ยวกับพลังการจำแนกของแต่ละรายการ (เช่นการโหลดใน FA) ซึ่งค่าที่สูงกว่า 0.3 แสดงถึงความสัมพันธ์ที่น่าพอใจระหว่างแต่ละรายการและระดับที่สอดคล้องกัน
  • ใช้ PCA เพื่อสรุปเมทริกซ์สหสัมพันธ์ (ให้ผลการตีความที่เทียบเท่ากับสิ่งที่จะได้รับจากการวิเคราะห์การโต้ตอบหลายครั้งในกรณีของรายการที่มีการแบ่งขั้วแบบคู่) หากเครื่องมือของคุณทำงานเป็นมาตราส่วนแบบสามมิติสำหรับตัวอย่างของคุณคุณควรสังเกตแกนการเปลี่ยนแปลงที่โดดเด่น (ดังที่แสดงโดยค่าลักษณะเฉพาะแรก)

หากคุณต้องการใช้ R คุณจะพบฟังก์ชันที่มีประโยชน์ในแพ็คเกจltmและpsych ; เรียกดูมุมมองงานCRAN Psychometricsเพื่อดูแพ็คเกจเพิ่มเติม ในกรณีที่คุณได้ 100 วิชาคุณสามารถลองการวิเคราะห์ CFA หรือ SEM ด้วยช่วงความมั่นใจในการบูต (จำไว้ว่าการโหลดควรมีขนาดใหญ่มากเพื่อพิจารณาว่ามีความสัมพันธ์อย่างมีนัยสำคัญระหว่างรายการใด ๆ กับปัจจัยของมันเนื่องจากอย่างน้อยสองครั้งควรจะเป็นข้อผิดพลาดมาตรฐานของสัมประสิทธิ์สหสัมพันธ์ที่เชื่อถือได้2(1-R2)/(n).)


ขอบคุณมาก! คำตอบของคุณนั้นละเอียดและมีประโยชน์จริงๆ! ขอบคุณ!
cada

3

หัวข้อนี้มีตำแหน่ง Google ที่ดีสำหรับ "ระบบ ist für den Rechner singulär: reziproke Konditionszahl" ข้อผิดพลาดการใช้ factanal (ในภาษาอังกฤษ: "ระบบเป็นเอกพจน์คำนวณ: หมายเลขเงื่อนไขซึ่งกันและกัน") - ดังนั้นฉันจะเพิ่มความคิดเห็น:

เมื่อมีการคำนวณเมทริกซ์สหสัมพันธ์นิรนัย (เช่นการจับคู่ลบค่าที่หายไป) ให้แน่ใจว่า factanal () ไม่คิดว่าเมทริกซ์นั้นเป็นข้อมูลที่จะวิเคราะห์ (https://stat.ethz.ch/pipermail/r-) ช่วยเหลือ / 2007 ถึงเดือนตุลาคม / 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.