วิธีการคำนวณไคสแควร์ใน Excel vs R


9

ฉันกำลังดูแผ่น excel ที่อ้างว่าคำนวณแต่ฉันไม่รู้จักวิธีนี้และฉันสงสัยว่าฉันทำอะไรหายไปหรือเปล่าχ2

นี่คือข้อมูลที่วิเคราะห์:

+------------------+----------+----------+
| Total Population | Observed | Expected |
+------------------+----------+----------+
|             2000 |       42 | 32.5     |
|             2000 |       42 | 32.5     |
|             2000 |       25 | 32.5     |
|             2000 |       21 | 32.5     |
+------------------+----------+----------+

และนี่คือผลรวมของแต่ละกลุ่มเพื่อคำนวณไคสแควร์:

P = (sum of all observed)/(sum of total population) = 0.01625
A = (Observed - (Population * P)) ^2
B = Total Population * P * (1-P)
ChiSq = A/B

ดังนั้นสำหรับแต่ละกลุ่มχ2คือ:

2.822793
2.822793
1.759359
4.136448

และไคจิสแควร์ทั้งหมดคือ: 11.54139.

อย่างไรก็ตามทุกตัวอย่างที่ฉันเห็นการคำนวณχ2นั้นแตกต่างอย่างสิ้นเชิงจากสิ่งนี้ ฉันจะทำสำหรับแต่ละกลุ่ม:

chiSq = (Observed-Expected)^2 / Expected

11.3538และดังนั้นสำหรับตัวอย่างข้างต้นผมจะได้รับรวมค่าไคสแควร์ของ

คำถามของฉันคือ - ทำไมพวกเขาถึงคำนวณ excelด้วยวิธีนี้ นี่เป็นวิธีที่ได้รับการยอมรับหรือไม่χ2

UPDATE

เหตุผลที่ฉันต้องการรู้สิ่งนี้คือฉันพยายามทำซ้ำผลลัพธ์เหล่านี้ในภาษา R ฉันใช้ฟังก์ชัน chisq.test และไม่ออกมาด้วยหมายเลขเดียวกับแผ่นงาน Excel ดังนั้นหากใครรู้วิธีการทำวิธีนี้ใน R มันจะมีประโยชน์มาก!

อัพเดท 2

หากใครสนใจนี่คือวิธีที่ฉันคำนวณใน R:

res <- matrix(c((2000-42), 42, (2000-42), 42, (2000-25), 25, (2000-21), 21), 2, 4)
chisq.test(res)

วิธีในการอัปเดตครั้งที่สองของคุณควรให้สถิติที่ถูกต้อง อย่างไรก็ตามหากความคาดหวังของคุณไม่ได้ขึ้นอยู่กับผลรวมของการสังเกตคุณอาจมีปัญหาเพราะค่า p มีเงื่อนไขในการที่ อย่างไรก็ตามฉันสังเกตเห็นความคาดหวังและการสังเกตมีทั้งหมดเดียวกัน (ไม่น่าจะเกิดขึ้นโดยบังเอิญ) ดังนั้นทั้งหมดนี้อาจใช้ได้ คุณสามารถทำได้ง่ายขึ้นด้วยวิธีนี้:x=c(42,42,25,21);chisq.test(cbind(x,2000-x))
Glen_b

@Glen_b ในแผ่นงาน Excel ฉันเชื่อว่าสิ่งที่คาดหวังนั้นเกิดขึ้นได้ด้วยการทำ Total Population * ค่า 'P' ที่ฉันทำไว้ด้านบน สิ่งนี้จะเป็นปัญหาหรือไม่? ประชากรทั้งหมดก็แตกต่างกันไป - ส่วนใหญ่เป็น 2000 แต่อาจเป็นตัวเลขใด ๆ ก็ได้ แผ่นงาน Excel ที่ฉันพยายามสร้างขึ้นใหม่ที่นี่ไม่ได้คำนึงถึงค่า p ดังนั้นถ้าสถิติจะไม่ได้รับผลกระทบจากนี้ก็อาจจะไม่มีปัญหา ...
user1578653

คำถามที่เดือดลงไปที่ที่มาของ p พวกเขาเกี่ยวข้องกับการดูจำนวนรวมที่สังเกตได้หรือไม่?
Glen_b -Reinstate Monica

ดีให้ฉันมันดูเหมือน Ps และดังนั้นจึงคาดว่าจะขึ้นอยู่กับทั้งสองนับสังเกตทั้งหมดและประชากรทั้งหมด ... แต่ในตัวอย่างทั้งหมดที่ฉันได้รับในแผ่นงาน Excel มูลค่าที่คาดว่าจะยังดูเหมือนว่าจะตรงกับ จำนวนการสังเกตทั้งหมด / จำนวนการนับ
user1578653

หากค่าของ p นั้นอิงตามค่าในวิธีนั้นแน่นอนว่าค่าที่คาดไว้จะเป็นไปตามนั้น หากเป็นเช่นนั้นดูเหมือนว่าระดับความอิสระและอื่น ๆ เป็นไปตามที่คุณทำใน R - แต่คำอธิบายของฉันอาจต้องเปลี่ยน
Glen_b -Reinstate Monica

คำตอบ:


13

สิ่งนี้กลายเป็นเรื่องตรงไปตรงมา

นี่คือการสุ่มตัวอย่างแบบทวินามอย่างชัดเจน มีสองวิธีในการดู

วิธีที่ 1 ของสเปรดชีตนั้นจะถือว่านับเป็นซึ่งอาจใกล้เคียงกับ(1-p_i)) เช่นประมาณมาตรฐานปกติและ 's มีความเป็นอิสระดังนั้น (โดยประมาณ) 2Xผม~ถัง(ยังไม่มีข้อความผม,พีผม)ยังไม่มีข้อความ(μผม=ยังไม่มีข้อความผมพีผม,σผม2=ยังไม่มีข้อความผมพีผม(1-พีผม))Zผม=(Xผม-μผม)/σผมZΣผมZผม2~χ2

(หากค่า p นั้นเป็นไปตามการนับที่สังเกตได้ดังนั้นนั้นไม่ได้เป็นอิสระ แต่ก็ยังคงเป็นไคสแควร์ที่มีอิสระน้อยลงหนึ่งระดับ)Z

วิธีที่ 2: การใช้รูปแบบของ Chi-Square ของคุณทำงานได้เช่นกัน แต่คุณต้องคำนึงถึงสิ่งที่อยู่ในหมวดหมู่ที่คุณติดป้ายกำกับว่า "Observed" แต่ยังใช้กับที่ไม่อยู่ในหมวดนั้นด้วย(O-E)2/E

+------------+------+-------+
| Population | In A | Not A |
+------------+------+-------+
|       2000 |   42 |  1958 |
|       2000 |   42 |  1958 |
|       2000 |   25 |  1975 |
|       2000 |   21 |  1979 |
+ -----------+------+-------+

ตำแหน่งที่สำหรับคอลัมน์แรกอยู่ตามที่คุณมีและที่อยู่ของคอลัมน์ที่สองคือEยังไม่มีข้อความผม(1-พีผม)

... แล้วรวมบนทั้งสองคอลัมน์(O-E)2/E

ทั้งสองรูปแบบมีความเท่าเทียมกันทางพีชคณิต หมายเหตุ (1-P) พิจารณาแถว iของไคสแควร์:1/พี+1/(1-พี)=1/พี(1-พี)เสื้อชั่วโมง

(Xผม-μผม)2σผม2=(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผมพีผม(1-พีผม)=(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผมพีผม+(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผม(1-พีผม)=(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผมพีผม+(ยังไม่มีข้อความผม-ยังไม่มีข้อความผม+ยังไม่มีข้อความผมพีผม-Xผม)2ยังไม่มีข้อความผม(1-พีผม)=(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผมพีผม+(ยังไม่มีข้อความผม-Xผม-(ยังไม่มีข้อความผม-ยังไม่มีข้อความผมพีผม))2ยังไม่มีข้อความผม(1-พีผม)=(Xผม-ยังไม่มีข้อความผมพีผม)2ยังไม่มีข้อความผมพีผม+((ยังไม่มีข้อความผม-Xผม)-ยังไม่มีข้อความผม(1-พีผม))2ยังไม่มีข้อความผม(1-พีผม)=(Oผม(A)-Eผม(A))2Eผม(A)+(Oผม(A¯)-Eผม(A¯))2Eผม(A¯)

ซึ่งหมายความว่าคุณควรได้รับคำตอบเดียวกันทั้งสองวิธีจนถึงข้อผิดพลาดในการปัดเศษ

มาดูกัน:

             Observed             Expected                 (O-E)^2/E          
  Ni        A     not A          A      not A             A           not A      
 2000     42         1958      32.5     1967.5       2.776923077     0.045870394     
 2000     42         1958      32.5     1967.5       2.776923077     0.045870394     
 2000     25         1975      32.5     1967.5       1.730769231     0.028589581     
 2000     21         1979      32.5     1967.5       4.069230769     0.067217281     

                                            Sum     11.35384615      0.187547649  

Chi-square = 11.353846 + 0.187548 = 11.54139

ซึ่งตรงกับคำตอบของพวกเขา


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