สร้าง CDF สำหรับการทดสอบ Anderson Darling สำหรับฟังก์ชันแพ็คเกจ Octave forge Statistics

ฉันใช้ Octave และฉันต้องการใช้ anderson_darling_test จากแพ็คเกจ Octave forge Statistics เพื่อทดสอบว่าเวกเตอร์ข้อมูลสองตัวถูกดึงมาจากการแจกแจงทางสถิติเดียวกันหรือไม่ นอกจากนี้ การกระจายการอ้างอิงไม่น่าจะ "ปกติ" การแจกแจงอ้างอิงนี้จะเป็นการกระจายที่รู้จักและนำมาจากความช่วยเหลือของฟังก์ชันข้างต้น " 'หากคุณเลือกจากการแจกแจงที่รู้จัก ให้แปลงค่าของคุณเป็นค่า CDF สำหรับการแจกแจงและใช้ "uniform" "

คำถามของฉันคือ ฉันจะแปลงค่าข้อมูลเป็นค่า CDF สำหรับการแจกแจงอ้างอิงได้อย่างไร

ข้อมูลความเป็นมาบางประการสำหรับปัญหา: ฉันมีเวกเตอร์ของค่าข้อมูลดิบซึ่งฉันแยกองค์ประกอบแบบวน (ซึ่งจะเป็นการกระจายอ้างอิง) จากนั้น ฉันต้องการเปรียบเทียบองค์ประกอบแบบวนรอบนี้กับข้อมูลดิบเพื่อดูว่าข้อมูลดิบมีลักษณะเป็นวงจรโดยพื้นฐานแล้วหรือไม่ หากสมมติฐานว่างที่ว่าทั้งสองเหมือนกันสามารถถูกปฏิเสธได้ ฉันจะรู้ว่าการเคลื่อนไหวส่วนใหญ่ในข้อมูลดิบไม่ได้เกิดจากอิทธิพลของวงจร แต่เป็นเพราะแนวโน้มหรือเพียงสัญญาณรบกวน


person Andrew    schedule 31.01.2010    source แหล่งที่มา


คำตอบ (2)


หากข้อมูลของคุณมีการกระจายเฉพาะ เช่น beta(3,3)

p = betacdf(x, 3, 3)

จะเหมือนกันตามคำจำกัดความของ CDF หากคุณต้องการแปลงให้เป็นค่าปกติ คุณสามารถเรียกใช้ฟังก์ชัน CDF ผกผันได้

x=norminv(p,0,1)

บนเครื่องแบบ p. เมื่อแปลงแล้ว ให้ใช้การทดสอบที่คุณชื่นชอบ ฉันไม่แน่ใจว่าฉันเข้าใจข้อมูลของคุณ แต่คุณอาจลองใช้ Kolmogorov- การทดสอบสมีร์นอฟแทน ซึ่งเป็นการทดสอบแบบไม่อิงพารามิเตอร์ของความเท่าเทียมกันในการแจกแจง

person Tristan    schedule 01.02.2010

แนวทางของคุณถูกเข้าใจผิดในหลายๆ ด้าน หลายจุด:

  • การทดสอบ Anderson-Darling ที่นำมาใช้ใน Octave forge เป็นการทดสอบตัวอย่างเดียว: ต้องใช้เวกเตอร์ข้อมูล หนึ่ง และการแจกแจงอ้างอิง ควรทราบการกระจาย - ไม่ใช่มาจากข้อมูล ในขณะที่คุณอ้างอิงไฟล์วิธีใช้อย่างถูกต้องเกี่ยวกับการใช้ CDF และตัวเลือก "เครื่องแบบ" สำหรับการแจกจ่ายที่ไม่มีอยู่ภายใน คุณจะเพิกเฉยต่อประโยคถัดไปของไฟล์วิธีใช้เดียวกัน:

อย่าใช้ "เหมือนกัน" ถ้าพารามิเตอร์การกระจายถูกประมาณจากข้อมูลเอง เนื่องจากจะทำให้สถิติ A^2 มีอคติอย่างมากต่อค่าที่น้อยกว่า

ดังนั้นอย่าทำอย่างนั้น

  • แม้ว่าคุณจะพบหรือเขียนฟังก์ชันที่ใช้การทดสอบ Anderson-Darling หรือ Kolmogorov-Smirnov สองตัวอย่างที่เหมาะสม แต่คุณยังคงประสบปัญหาอยู่สองสามประการ:

    1. ตัวอย่างของคุณ (ข้อมูลและส่วนที่เป็นวงจรที่ประเมินจากข้อมูล) จะไม่เป็นอิสระต่อกัน และการทดสอบเหล่านี้จะถือว่ามีความเป็นอิสระ

    2. จากคำอธิบายของคุณ ฉันคิดว่าต้องมีตัวทำนายเวลาอยู่บ้าง ดังนั้นแม้ว่าการแจกแจงจะตรงกัน แต่ก็ไม่ได้หมายความว่าการแจกแจงจะตรงกันที่จุดเวลาเดียวกัน เพราะการเปรียบเทียบการแจกแจงจะพังทลายลงเมื่อเวลาผ่านไป

    3. การกระจายตัวของแนวโน้มแบบวนรอบ + ข้อผิดพลาดไม่คาดว่าจะเหมือนกับการกระจายตัวของแนวโน้มแบบวงจรเพียงอย่างเดียว สมมติว่าแนวโน้มคือ sin(t) จากนั้นมันจะไม่อยู่เหนือ 1 เลย ตอนนี้เพิ่มคำคลาดเคลื่อนแบบสุ่มแบบกระจายปกติที่มีค่าเบี่ยงเบนมาตรฐาน 0.1 (เล็ก เพื่อให้แนวโน้มมีความโดดเด่น) แน่นอนคุณสามารถได้ค่าที่มากกว่า 1

เรามีข้อมูลไม่เพียงพอที่จะทราบถึงสิ่งที่ถูกต้อง และนั่นก็ไม่ใช่คำถามด้านการเขียนโปรแกรมอยู่ดี ค้นหาทฤษฎีอนุกรมเวลา - การแยกองค์ประกอบวงจรเป็นหัวข้อสำคัญในนั้น แต่การวิเคราะห์ที่สมเหตุสมผลหลายประการอาจขึ้นอยู่กับปริมาณคงเหลือ: (ค่าที่สังเกตได้ - ทำนายจากองค์ประกอบแบบวนรอบ) คุณจะต้องระมัดระวังเกี่ยวกับความสัมพันธ์อัตโนมัติและความซับซ้อนอื่นๆ แต่อย่างน้อยมันจะเป็นการเคลื่อนไหวไปในทิศทางที่ถูกต้อง

person Aniko    schedule 01.02.2010