จะวิเคราะห์ปัจจัยอย่างไรเมื่อเมทริกซ์ความแปรปรวนร่วมไม่แน่นอนแน่นอน


11

ฉันมีชุดข้อมูลที่ประกอบด้วยการสังเกต 717 ครั้ง (แถว) ซึ่งอธิบายด้วย 33 ตัวแปร (คอลัมน์) ข้อมูลได้มาตรฐานโดย z- คะแนนตัวแปรทั้งหมด ไม่มีตัวแปรสองตัวที่ขึ้นต่อกันแบบเชิงเส้น ( ) ฉันได้ลบตัวแปรทั้งหมดที่มีความแปรปรวนต่ำมาก (น้อยกว่า0.1 ) รูปด้านล่างแสดงเมทริกซ์สหสัมพันธ์ที่สอดคล้องกัน (เป็นค่าสัมบูรณ์)r=10.1

เมื่อฉันพยายามเรียกใช้การวิเคราะห์ปัจจัยที่ใช้factoranใน Matlab ดังนี้

[Loadings1,specVar1,T,stats] = factoran(Z2,1);

ฉันได้รับข้อผิดพลาดต่อไปนี้:

The data X must have a covariance matrix that is positive definite.

คุณช่วยบอกฉันทีว่าปัญหาอยู่ที่ไหน มันเป็นเพราะการพึ่งพาซึ่งกันและกันต่ำในหมู่ตัวแปรที่ใช้? นอกจากนี้ฉันจะทำอะไรได้บ้าง


เมทริกซ์ความสัมพันธ์ของฉัน:

ป้อนคำอธิบายรูปภาพที่นี่


3
ฉันคิดว่ามันตรงกันข้ามกับการพึ่งพาซึ่งกันและกันต่ำซึ่งเป็นปัญหาที่นี่ คุณอาจมีตัวแปรบางตัวที่ขึ้นอยู่กับตัวเองเป็นเส้นตรงและทำให้เมทริกซ์ความแปรปรวนร่วมของคุณเป็นกึ่งแน่นอน (เช่นมี eigenvaues บางศูนย์)
usεr11852

3
สำหรับผู้ที่ลงคะแนนคำถามเพื่อปิด: ทำไมคำถามเกี่ยวกับความแน่นอนเชิงบวกของเมทริกซ์ความแปรปรวนร่วมตัวอย่างจึงไม่อยู่ที่นี่ ผู้ใช้มีความกังวลว่าเหตุใดแอปพลิเคชันมาตรฐานของการวิเคราะห์ปัจจัยจึงไม่ทำงาน สอบถามข้อมูลเพิ่มเติมหากคุณต้องการ!
usεr11852

2
คุณช่วยคำนวณและแสดงค่าลักษณะเฉพาะของเมทริกซ์ความแปรปรวนร่วมตัวอย่างได้ไหม (เช่น. eig(cov(Z2))) ฉันสงสัยอย่างยิ่งว่าบางคนมีขนาดเล็กมาก
usεr11852

3
ฉันเห็นด้วยกับ @ usεr11852: ดูเหมือนว่าคำถามนี้ถูกปิดอย่างไม่ถูกต้องเมื่ออยู่นอกหัวข้อ (ฉันโหวตให้ปิดตัวเอง) มันดูเหมือนคำถามการเขียนโปรแกรม แต่จริงๆแล้วมันเป็นคำถามที่สมบูรณ์ในหัวข้อและสมเหตุสมผล ฉันแก้ไขมันและโหวตให้เปิดใหม่อีกครั้ง น่าเสียดายที่ OP ดูเหมือนว่าจะหายไปแล้ว
อะมีบา

3
ฉันจะโต้แย้งว่าอาจมีเนื้อหาทางสถิติสำหรับคำถามนี้ว่าชุมชน Matlab จะไม่สามารถช่วยเหลือได้ คุณคำนวณZ2เมทริกซ์อย่างไร หากคุณมีค่าที่ขาดหายไปในข้อมูลของคุณการลบแบบคู่อาจทำให้เมทริกซ์ไม่สามารถย้อนกลับได้เมื่อความสัมพันธ์ที่ต่างกันในเมทริกซ์นั้นถูกคำนวณโดยใช้ชุดย่อยของข้อมูลที่แตกต่างกัน
StasK

คำตอบ:


1

C

C=QDQ1,
QC
D=(λ1000λ2λn00000)
Q0nC

0

λn+1,λn+2,...=1015.
C~=QD~Q1,
D~=(λ1000λ2λn10150001015)

Q,D

[Q,D] = eig(C)

C~

CC~


0

เป็นไปได้ว่าคุณกำลังเผชิญกับปัญหาที่เป็นตัวเลขกับเมทริกซ์ของคุณ มันอาจจะเป็นบวกแน่นอนจริง ๆ แต่การคำนวณเชิงตัวเลขบอกเป็นอย่างอื่น

วิธีแก้ปัญหาที่พบบ่อยมากในกรณีนั้นคือการเพิ่มค่าที่ต่ำมาก (เช่น 1.E-10) ให้กับองค์ประกอบแนวทแยงทั้งหมด หากวิธีนี้ไม่ช่วยแก้ปัญหาให้ลองเพิ่มค่านี้อย่างต่อเนื่อง


รายการในแนวทแยงดูค่อนข้างโดดเด่นแล้ว คุณคิดว่าจะช่วยได้ไหม?
Jonas

ฉันเป็นห่วงเกี่ยวกับรายการที่ 8 และ 10 หากบางคนขึ้นอยู่กับแนวเส้นตรงมันต้องเป็นสองสิ่งนี้ ฉันไม่รู้เพียงพอเกี่ยวกับการคำนวณการสลายตัวของไอจีนินจริง แต่ฉันคิดว่าวิธีนี้สามารถใช้งานได้: การเพิ่ม 1e-10 ลงในแนวทแยงนั้นไม่ได้ทำอะไรมากเกี่ยวกับการพึ่งพาเชิงเส้น แต่มันอาจเพิ่มสิ่งที่จำเป็นเชิงตัวเลข การคำนวณค่า eigen ได้รับการแก้ไข (เช่นไม่มีค่า 0 eigen) แต่ถ้าทางออกของฉันไม่ทำงานฉันก็จะพบว่าคุณดูดีมาก
Romain Reboulleau

-2

FA ทำงานได้ดีที่สุดเมื่อข้อมูลของคุณเป็นแบบเกาส์เซียนดังนั้นคุณอาจต้องการลองใช้วิธีการประมวลผลล่วงหน้าเพื่อให้มีข้อมูลคล้ายแบบเกาส์นมากขึ้น


ฉันสับสนโดยคำตอบนี้ ความรู้สึกในการทำ FA ของข้อมูลที่ไม่เกี่ยวข้องคืออะไร?
ttnphns

@ttnphns ฉันคิดว่าคุณพูดถูก! มันไม่สมเหตุสมผลเลยที่จะใช้ FA กับข้อมูลที่เกี่ยวข้อง! คำแนะนำของฉันมาจาก FA เฉพาะประเภทซึ่ง PCA นำไปใช้ในการประมวลผลล่วงหน้าของการสร้างการแทนเวกเตอร์จากข้อมูลซึ่งคุณจะใช้ FA ใน ข้อมูลต้นฉบับมักจะถูกฉายโดย PCA ก่อนที่จะแปลงเป็นการแสดงเวกเตอร์ และ FA จะถูกนำไปใช้กับการแทนเวกเตอร์ไม่ใช่ข้อมูลที่คาดการณ์ PCA ความผิดฉันเอง! ฉันจะอัปเดตคำตอบของฉัน แม้ว่าในบางกรณี PCA ความน่าจะเป็นอาจทำงานได้ดีเท่ากับ FA หากโมเดล FA ไม่สามารถบรรจบกัน คุณไม่เห็นด้วยหรือ
PickleRick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.