กระดาษกล่าวถึง“ การจำลอง Monte Carlo เพื่อกำหนดจำนวนขององค์ประกอบหลัก”; มันทำงานยังไง?


10

ฉันกำลังทำการวิเคราะห์ Matlab กับข้อมูล MRI ที่ฉันได้ทำ PCA บนเมทริกซ์ขนาด 10304x236 โดยที่ 10304 คือจำนวน voxels (คิดว่าเป็นพิกเซล) และ 236 คือจำนวนของ timepoints PCA ให้ฉัน 236 ค่าลักษณะเฉพาะและค่าสัมประสิทธิ์ที่เกี่ยวข้อง ทั้งหมดนี้เป็นเรื่องปกติ อย่างไรก็ตามเมื่อถึงเวลาที่ต้องตัดสินใจว่าต้องเก็บส่วนประกอบกี่ชิ้นกระดาษที่ฉันลอกเลียนแบบจะกล่าวต่อไปนี้ (โปรดแจ้งให้เราทราบหากต้องการคำชี้แจงใด ๆ เนื่องจากนี่เป็นเพียงส่วนสั้น ๆ ของกระดาษทั้งหมด):

จากนั้นเราทำการจำลอง Monte Carlo เพื่อกำหนดจำนวนขององค์ประกอบหลัก (พีซี) เพื่อแยกจากข้อมูล ROI ที่น่ารำคาญสำหรับการสแกนแต่ละครั้ง การกระจายตัวของค่าลักษณะเฉพาะที่คาดหวังถูกสร้างขึ้นแยกต่างหากสำหรับการเข้ารหัสและข้อมูลส่วนที่เหลือสำหรับแต่ละเรื่องโดยดำเนินการ PCA กับข้อมูลที่กระจายตามปกติในระดับที่เท่าเทียมกันกับการเข้ารหัสและข้อมูล ROI ที่น่ารำคาญ พีซีจากข้อมูล ROI ที่น่ารำคาญจริงนั้นถูกเลือกสำหรับการพักผ่อนหรือเข้ารหัสการสแกนหากค่าลักษณะเฉพาะที่เกี่ยวข้องมีค่าเกินช่วงความเชื่อมั่น 99% ของค่าลักษณะเฉพาะจากการจำลอง Monte Carlo

Tambini & Davachi, PNAS 2013 ความคงทนของรูปแบบการ multivoxel hippocampal เข้าไปในส่วนที่เหลือ postencoding เกี่ยวข้องกับหน่วยความจำ

ฉันไม่รู้จะทำอย่างไรที่นี่ ฉันคุ้นเคยกับการเลือกส่วนประกอบตามความแปรปรวนสะสมที่อธิบายไว้ ความคิดของฉันคือสิ่งนี้แม้ว่า:

จากนั้นเราทำการจำลอง Monte Carlo เพื่อกำหนดจำนวนขององค์ประกอบหลัก (พีซี) เพื่อแยกจากข้อมูล ROI ที่น่ารำคาญสำหรับการสแกนแต่ละครั้ง

Monte Carlo sims หมายถึงการทำ 1,000 ครั้ง (หรือเช่นนั้น) ใช่ไหม?

การกระจายตัวของค่าลักษณะเฉพาะที่คาดหวังถูกสร้างขึ้นโดยการดำเนินการ PCA กับข้อมูลที่กระจายแบบปกติที่มีระดับเท่าเทียมกันกับข้อมูลการเข้ารหัสและพักผ่อน ROI ที่ไม่พึงประสงค์

ประการแรกฉันสมมติว่า 'อันดับที่เท่าเทียม' โดยทั่วไปจะหมายความว่าฉันจะสร้างเมทริกซ์ที่มีขนาดเท่ากับต้นฉบับ (10304x236) ในแง่ของ 'ข้อมูลที่แจกแจงแบบปกติที่มีลำดับเท่ากัน' ... นี่หมายความว่าฉันควรสร้างเมทริกซ์ขนาด 10304x236 ของจำนวนสุ่มจากการแจกแจงแบบปกติหรือไม่? Matlab มีฟังก์ชั่นที่เรียกว่า 'normrnd' ที่ทำสิ่งนี้ แต่ต้องใช้อินพุต mu และ sigma ฉันจะใช้ mu และ sigma เดียวกันกับที่ได้มาจากชุดข้อมูลเริ่มต้นหรือไม่ นี่คือสิ่งที่มีความหมายมากขึ้นหรือน้อยลงโดย 'ค่าคาดหวัง' เนื่องจากฉันไม่รู้ว่าการกระจายตัวของค่าลักษณะเฉพาะที่คาดหวังจะเป็นอย่างไร

ฉันเดาว่าปัญหาของฉันนั้นมากหรือน้อยที่ฉันไม่รู้ว่าจะทำให้ 'การกระจายตัวแบบไม่เจาะจง' ของค่าลักษณะเฉพาะได้อย่างไร

คำตอบ:


6

คำที่เกี่ยวข้องกับคำถามนี้คือ "การวิเคราะห์แบบขนาน"

กล่าวอย่างง่าย ๆ การจำลอง monte carlo จะสร้างเมทริกซ์การแจกแจงแบบปกติ (หรือเช่นนี้) 10304x236 1,000 (สมมติว่าแน่นอนว่าข้อมูลที่คุณวิเคราะห์นั้นมีการกระจายตามปกติถ้าข้อมูลของคุณถูกกระจายไปต่างกันคุณจะใช้ การกระจายแบบสุ่มที่แตกต่างกัน) จากนั้นคุณจะแยกค่าลักษณะเฉพาะสำหรับชุดข้อมูลแต่ละชุดที่คุณสร้างและหาค่าเฉลี่ยแต่ละค่าลักษณะเฉพาะในการจำลองแบบ 1,000 รายการ (หรือเช่นนั้น) ในขณะที่ยังสร้างช่วงความมั่นใจด้วย จากนั้นคุณเปรียบเทียบค่าลักษณะเฉพาะจากชุดข้อมูลของคุณกับค่าลักษณะเฉพาะโดยเฉลี่ยจากการจำลองของคุณ

เมื่อใดที่ค่าลักษณะเฉพาะจากชุดข้อมูลของคุณเกินช่วงความเชื่อมั่นที่ 99 ของค่าลักษณะเฉพาะจากการจำลองมอนเต้คาร์โลนั่นคือจำนวนปัจจัยที่การวิเคราะห์แนะนำให้เก็บไว้

ตัวอย่างเช่นถ้าค่าลักษณะเฉพาะที่ 25 จากข้อมูลของคุณคือ 2.10 และ 26 คือ 1.97 และช่วงความเชื่อมั่นที่ 99 ของค่าลักษณะเฉพาะที่ 25 จากชุดข้อมูลสุ่ม 1000 (หรือเช่นนั้น) คือ 2.04 และ 26 คือ 2.01 นี่จะแนะนำให้คุณ เก็บส่วนประกอบ 25

มีฟังก์ชั่นที่สร้างขึ้นเพื่อการนี้ ลิงค์เดียวสำหรับ Matlab คือ:

http://www.mathworks.com/matlabcentral/fileexchange/44996-parallel-analysis--pa--to-for-determining-the-number-of-components-to-retain-from-pca/content/pa_test ม.

ฉันพบว่าหนึ่งโดย googling "การวิเคราะห์แบบขนานใน Matlab"


+1 ชัดเจนมากและลิงก์จะช่วยฉันอย่างมาก! ฉันเขียนรหัสถึงการสกัดค่าลักษณะเฉพาะแบบกระจายอย่างถูกต้อง แต่ไม่ได้ใช้ช่วงความเชื่อมั่นในลักษณะที่ถูกต้อง ขอบคุณมากสำหรับคำตอบของคุณ
chainhomelow

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