การแจกแจงไคสแควร์ใน r: dchisq, pchisq, qchisq, rchisq


บทช่วยสอนนี้จะอธิบายวิธีใช้การแจกแจงไคสแควร์ใน R โดยใช้ฟังก์ชันต่อไปนี้:

  • dchisq : ส่งกลับค่าของฟังก์ชันความหนาแน่นของความน่าจะเป็นแบบไคสแควร์
  • pchisq : ส่งกลับค่าของฟังก์ชันความหนาแน่นสะสมไค-สแควร์
  • qchisq : ส่งกลับค่าของฟังก์ชันควอนไทล์ Chi-Square
  • rchisq : สร้างเวกเตอร์ของตัวแปรสุ่มแบบกระจาย Chi-Square

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันเหล่านี้ในทางปฏิบัติ

ดีชิสค์

เรามักจะใช้ฟังก์ชัน dchisq() ร่วมกับฟังก์ชัน Curve() เพื่อพล็อตการแจกแจงแบบไคสแควร์ด้วยระดับความเป็นอิสระจำนวนหนึ่ง

ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อพล็อตการแจกแจงแบบไคสแควร์ด้วยระดับความอิสระ 5 องศา:

 #plot Chi_Square distribution with 5 degrees of freedom
curve(dchisq(x, df= 5 ), from= 0 , to= 20 )

แกน x แสดงค่าของสถิติการทดสอบไคสแควร์ และแกน y แสดงค่าที่สอดคล้องกันของฟังก์ชันความหนาแน่นของความน่าจะเป็น

ที่เกี่ยวข้อง: วิธีการพล็อตการแจกแจง Chi-Square ใน R ได้อย่างง่ายดาย

pcisq

เรามักจะใช้ pchisq()   ฟังก์ชันเพื่อค้นหา ค่า p ที่สอดคล้องกับสถิติการทดสอบไคสแควร์ที่กำหนด

ตัวอย่างเช่น สมมติว่าเราทำการ ทดสอบความเป็นอิสระของไคสแควร์ และได้สถิติการทดสอบที่ X2 = 0.86404 โดยมีดีกรีอิสระ 2 องศา

เราสามารถใช้ฟังก์ชัน pchisq() เพื่อค้นหาค่า p ที่สอดคล้องกับสถิติการทดสอบนี้:

 #calculate p-value for given test statistic with 2 degrees of freedom
1-pchisq(0.86404, df= 2 )

[1] 0.6491964

ค่า p กลายเป็น 0.6491964

นอกจากนี้เรายังสามารถยืนยันได้ว่าสิ่งนี้ถูกต้องโดยใช้ คะแนนไคสแควร์กับเครื่องคำนวณค่า P

บางสิ่งบางอย่าง

เรามักจะใช้ qchisq()   ฟังก์ชันเพื่อค้นหาค่าไคสแควร์วิกฤตที่สอดคล้องกับระดับนัยสำคัญและระดับความเป็นอิสระที่กำหนด

ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อค้นหาค่าไคสแควร์วิกฤตที่สอดคล้องกับระดับนัยสำคัญ 0.05 โดยมีดีกรีอิสระ 13 องศา:

 qchisq(p= .95 , df= 13 )

[1] 22.36203

ค่าวิกฤตกลายเป็น 22.36203

นอกจากนี้เรายังสามารถยืนยันได้ว่าสิ่งนี้ถูกต้องโดยใช้ เครื่องคำนวณค่าวิกฤตไคสแควร์

ริชชี่

เรามักจะใช้ rchisq()   ฟังก์ชั่นเพื่อสร้างรายการค่าสุ่ม n ค่าที่ตามหลังการแจกแจงไคสแควร์ด้วยระดับความอิสระที่กำหนด

ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างรายการค่าสุ่ม 1,000 ค่าที่ตามหลังการแจกแจงแบบไคสแควร์ด้วยความอิสระ 5 องศา:

 #make this example reproducible
set. seed ( 0 ) 

#generate 1000 random values that follow Chi-Square dist with df=5
values <- rchisq(n= 1000 , df= 5 )

#view first five values
head(values)

[1] 8.369701 3.130487 1.985623 5.258747 10.578594 6.360859

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน hist( ) เพื่อสร้างฮิสโตแกรมเพื่อให้เห็นภาพการกระจายของค่านี้:

 #create histogram to visualize distribution of values
hist(values)

แกน x แสดงค่าข้อมูล และแกน y แสดงความถี่ของค่าเหล่านั้น

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้อธิบายวิธีการทำงานกับการแจกแจงอื่น ๆ ใน R:

การแจกแจงแบบปกติใน R: dnorm, pnorm, qnorm และ rnorm
การแจกแจงแบบทวินามใน R: dbinom, pbinom, qbinom และ rbinom
การกระจายตัวของปลาใน R: dpois, ppois, qpois และ rpois

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *