Nott Panik Senariddhikrai

May 20, 20223 min

Normality test

Updated: May 21, 2022

#normality #spss

Normality หรือ การแจกแจงเป็นโค้งปกติ ถือเป็นการทดสอบที่สำคัญในการวิเคราะห์ข้อมูลสถิติ ด้วยความที่ว่าสถิติทั้งหลายที่จะนำมาวิเคราะห์นั้น ย่อมมีข้อตกลงเบื้องต้นอยู่ เหมือนเป็นเงื่อนไขสำคัญในการบอกว่า จะสามารถนำสถิติตัวนี้มาวิเคราะห์ได้หรือไม่ ถ้าผ่านข้อตกลงเบื้องต้น ก็สามารถนำไปวิเคราะห์ต่อได้ เราเรียกสถิติเหล่านี้ว่า "Parametric"

แล้วทีนี้ จะรู้ได้อย่างไรว่า สถิติที่เราเลือกใช้นั้นเป็น parametric หรือไม่ เอาจริงๆ ก็แทบจะทุกสถิติเลยด้วยซ้ำที่ใช้ parametric ... อ่านแล้วอาจสงสัยว่า มันก็มีสถิติที่ไม่ใช้ parametric นะ ตั้งหลายด้วย ซึ่งเราเรียกกันว่า non-parametric ใช่ มันมีหลายตัว แต่หลายตัวที่ว่านี้ คือ คู่ตรงข้ามของ parametric

หมายความว่า เมื่อเราได้สมมติฐานหรือแนวที่ต้องการพิสูจน์คำตอบด้วยสถิติมาแล้ว เราจึงมาเลือกว่าจะใช้สถิติอะไร โดยส่วนมากสถิติที่เลือกใช้นั้นเราจะเลือกแบบ parametric ก่อนเสมอ แต่ก่อนอื่น จะต้องมาทดสอบก่อนว่าข้อมูลที่เรามีนั้นผ่านข้อตกลงเบื้องต้นหรือไม

ข้อตกลงเบื้องต้นที่ว่านี้ก็คือ Normality หรือการแจกแจงเป็นโค้งปกติ (หรือการแจกแจงเป็นปกติ) ถ้าข้อมูลผ่านข้อตกลงนี้ ก็คือข้อมูลมีการแจกแจงเป็นปกติ เราก็จะสามารถเลือกใช้สถิติ parametric ได้ แต่หากไม่ผ่าน ก็สามารถไปเลือกใช้สถิติแบบ non-parametric ต่อไป


Outline:

1.ความหมายของการแจกแจงเป็นโค้งปกติ

2.สถิติที่ใช้พิจารณา

3.แนวทางแก้ปัญหา

4.สรุป

1.ความหมายของการแจกแจงเป็นโค้งปกติ

ที่ใช้คำว่าโค้งปกติ เพราะมาจากรูประฆังคว่ำในกราฟ เลยเรียกว่าโค้งปกติ ไปดูภาพกัน

ที่มา: Hun Myoung Park. 2008. Univariate Analysis and Normality Test Using SAS, Stata, and SPSS.

ให้มองเป็นรูประฆังที่กำลังคว่ำอยู่ สิ่งสำคัญคือว่าข้อมูลเราเก็บมาได้นั้นมันปรากฏอยู่ในพื้นที่ของระฆังหรือไม่ ถ้าข้อมูลทั้งหมดอยู่ในพื้นที่ระฆังก็แปลว่าข้อมูลมีการ "แจกแจงเป็นโค้งปกติ" ก็จะสามารถนำไปวิเคราะห์ด้วยสถิติ parametric ได้ เช่น ANOVA, Correlation เป็นต้น แต่ถ้าไม่อยู่ในพื้นที่ เพียงบางส่วนของข้อมูลที่ไม่ได้อยู่ในพื้นที่ จะเรียกว่า outlier ก็จะทำการ "ตัด-clean" ข้อมูลเหล่านั้นออกไป อีกวิธีที่มักใช้บ่อย คือ การ take log หรือใช้วิธีการทางคณิตศาสตร์อื่นใด มาช่วยทำให้ข้อมูลมันปรากฏอยู่ในพื้นที่ระฆังคว่ำตัวนี้ ลองดูภาพเปรียบเทียบระหว่างข้อมูลที่ normal กับ non-normal

ที่มา: Hun Myoung Park. 2008. Univariate Analysis and Normality Test Using SAS, Stata, and SPSS.

จากภาพจะเห็นว่า ภาพซ้ายคือข้อมูลที่ Normal ตัวข้อมูลจะปรากฏอยู่ในภายใต้ระฆังคว่ำ มีสูงเกินนิดหน่อย แต่ในภาพรวมถือว่าผ่าน ในขณะที่ภาพขวาข้อมูลจะหนักมาทาง 0-10 แสดงว่าไม่กระจายตัว ข้อมูลกระจุกอยู่ในด้านเดียว จึงไม่อยู่ในพื้นที่ระฆังคว่ำ

นอกจากนี้ ถ้ามองในภาพซ้ายจะเห็นมีค่าระหว่าง -3 ถึง +3 โดยมี 0 อยู่ตรงกลาง ซึ่งข้อมูลแบบนี้เป็นข้อมูลที่เรียกว่า "ค่ามาตรฐาน หรือ standardized" โดยค่านี้จะทำการแปลงข้อมูลไม่ว่าจะเป็นตัวเลขอะไร ค่าเท่าไร จะแปลงให้มีค่าเฉลี่ยเป็น "0" และมีการกระจายออกไปทั้งฝั่งซ้ายและขวาจาก 0 เป็นค่าความแปรปรวน ซึ่งข้อมูลทั้งหมดควรอยู่ในช่วง -3 ถึง +3 นี้ จึงถือว่าแจกแจงเป็นโค้งปกติ

2.สถิติที่ใช้พิจารณา

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

2.1 Kolmogorov-Smirnov และ Shapiro-Wilk test
 

ในโปรแกรม SPSS จะมีคำสั่ง normality test เพื่อทดสอบการแจกแจงเป็นโค้งปกติโดยเฉพาะเลย อยู่ในคำสั่ง Analyze > Desctipive > Explore > Option Plot : เลือก Normality plots wirh tests
 


 
โปรแกรมก็จะแสดงผลการทดสอบด้วย Komolgorov กับ Sharpiro ไว้ให้

จากภาพสามารถแปลผลโดยใช้หลักการ 0.05 ได้เช่นเดิม แต่ความต้องการจะสลับกัน [ขึ้นอยู่กับการตั้งสมมติฐาน] ก็คือต้องให้ "ไม่ซิก" ต้องการให้ค่า sig มากกว่า 0.05 ซึ่งถ้ามากกว่าก็จะแปลว่ามีการแจกแจงเป็นโค้งปกติ แต่ถ้าน้อยกว่า 0.05 ก็แปลว่าการแจกแจงเป็นโค้งปกติ

จากตัวอย่างจะพบว่า ค่า sig ทั้งสองตัวน้อยกว่า 0.05 ทั้งคู่ ถ้าพิจารณาเฉพาะตรงนี้จะพบว่าการแจกแจงไม่เป็นโค้งปกติ

แต่อย่างไรก็ตาม การพิจารณาเรื่อง normality นี้เป็นปัญหาอยู่มาก คือว่า ข้อมูลที่เป็น likert scale หรือ rating scale เหล่านี้ ที่มีค่าตั้งแต่ 1-5 หรือ 1-7 เหล่านี้ คำตอบที่ได้มักจะเทไปทางฝั่งใด ฝั่งนึงเสมอ เช่น เห็นด้วยกับเห็นด้วยอย่างยิ่ง หรือไม่ก็ ไม่เห็นด้วย กับ ไม่เห็นด้วยอย่างยิ่ง ไปเลย ดังนั้น ตัวเลขก็จะไปกองกันอยู่ระหว่าง 4-5 หรือ 5-7 หรือไม่ก็ 1-2 หรือ 1-3 เป็นต้น ดังนั้น มันเป็นไปไม่ได้เลยที่ผลการทดสอบด้วย kolmogorov - shapiro จะให้ผลเป็นแจกแจงเป็นโค้งปกติ

ขยายความต่ออีกหน่อย ก็คือ ข้อมูลที่เป็น likert/ rating scale นั้น มีความเป็น ordinal อยู่แล้ว ดังนั้น จึงไม่ถูกมองว่าเป็น continuous data แตมีข้อสังเกตว่า หากตั้งค่า scale ให้เยอะ เช่น 1-9 แบบนี้มันจะคาบเกี่ยวระหว่างความเป็น ordinal กับ interval/ ratio ได้

จากที่กล่าวมา กำลังจะบอกว่าข้อมูลที่เป็น ordinal แม้ว่าสุดท้ายเราจะหาค่าเฉลี่ยรวมแล้วก็ตาม กลายเป็น continuous แล้วแต่ผลการทดสอบก็มีแนวโน้มจะไม่ normal อยู่ดี

2.2 Skewness/ Kurtosis ความเบ้ ความโด่ง
 

หัวข้อนี้จะมีความเกี่ยวเนื่องกับหัวข้อ 2.1 บางประการ ก็คือ เมื่อข้อมูลที่เป็น ordinal เช่น likert/ rating scale แม้ว่าจะแปลงเป็นค่าเฉลี่ยรวมแล้วก็ตาม พอทดสอบด้วย kolmogorov ก็ยังไม่เป็นโค้งปกติอยู่ดี นั้น เราจะมีพิจารณาค่า ความเบ้-skewness และความโด่ง-kurtosis ประกอบด้วย

skewness หรือความเบ้ จะนำเสนอข้อมูลในลักษณะของการกระจายตัวจากตรงกลาง จะเห็นว่าภาพกลางเป็นข้อมูลที่ normal จะมีค่า Mean/ Median/ Mode อยู่ตำแหน่งเดียวกัน จึงเรียกอีกอย่างว่า "symmetric distribution" หรือกระจายแบบสมมาตร ในขณะที่ภาพซ้ายและขวาจะแสดงถึงข้อมูลเบ้ไปทางซ้าย และไปเบ้ไปทางขวา

เราเคยเรียนกันมาด้วยคำว่า เบ้ซ้าย เบ้ขวา แต่เชื่อว่าจำยากเหลือเกิน เพราะบางที่ก็ใช้คำว่า เบ้ซ้าย-เบ้ขวา บ้างก็ใช้คำว่า เบ้ไปทางซ้าย-เบ้ไปทางขวา

แต่ถ้าดูจากภาพนี้ จะใช้คำว่า positive กับ negative skew ก็คือทางบวกกับทางลบ อันนี้ชัดเจนเพราะถ้าเป็น positive ค่าเฉลี่ย (mean) จะมากกว่า median mode ก็คือข้อมูลมักเป็นคำตอบที่น้อย เช่น 1,2 ส่วน negative ค่าเฉลี่ย (mean) จะน้อยกว่า median mode ก็คือข้อมูลมักเป็นคำตอบมาก เช่น 4-5 แบบนี้ถ้าเราดูด้วย graphical distibution ก็จะเข้าใจได้ง่ายขึ้น

kurtosis หรือ ความโด่ง จะนำเสนอความสูงของข้อมูล จากภาพจะเห็นว่าความสูงระดับกลางมีลักษณะ normal เราเรียกว่า "Mesokurtic" ในขณะที่ถ้าสูงน้อย (ต่ำลงมา) จะเรียกว่า "Platykurtic" และถ้าสูงมาก (สูงเกินไป) จะเรียกว่า "Leptokurtic" กรณีของสูงมากนี้ มีโอกาสพบบ่อย หากคำตอบตอบอยู่กลางๆ เป็นจำนวนมาก (อารมณ์ประมาณว่าคนตอบ ตอบเฉยๆ ไม่ได้ตอบเป็นคำตอบอื่นเลย)

ทีนี้ จากทั้ง 2 เรื่อง Skewness และ Kurtosis ความเบ้ ความโด่ง เราสามารถพิจารณาความเป็น normal ได้ด้วยค่าที่ปรากฏ มีเกณฑ์พิจารณาอยู่ว่า ถ้ามีค่าเข้าใกล้ "0" แสดงว่าเข้าใกล้ความเป็น normality

จากภาพจะเห็นว่าค่า skewness มีค่าเป็น -0.076 และค่า kurtosis เป็น -0.037 ซึ่งเข้าใกล้ 0 จึงพิจารณาได้ว่าข้อมูลชุดนี้ มีการแจกแจงเป็นโค้งปกติ โดยเกณฑ์ที่พิจารณา ซึ่งมีหลายอ้างอิงที่บอกว่า ช่วงระหว่าง -2 ถึง +2 และ -3 ถึง +3 จึงอยากแนะนำว่าถ้าเป็นไปได้ ควรทำให้ค่าเหล่านี้ไม่เกิน 1 จะดีที่สุด แต่ก็อย่างที่เสนอไป ข้อมูลที่เป็น likert/ rating scale เนื้อของมันคือ ordinal ดังนั้น จะคาดหวังให้เกิดความเป็น normal ได้ยาก ตัวอย่างเช่น หากส่วนใหญ่ตอบ 4-5 กันหมดเลย มี 3 2 1 มาบ้างแบบนี้ ยังพอมีโอกาสที่ค่าจะเข้าใกล้ 0 ได้ แต่ถ้าตอบมาเป็นแค่ 4-5 แบบนี้ มันจะไม่ต่างอะไรกับ Bi-Modal data ก็คือมีแค่ 2 ค่าเท่านั้น มันจะพิจารณาว่าเบ้ โด่ง อะไรไม่ได้เลย ก็ต้องย้อนกลับไปดูว่า คนตอบได้ตั้งใจตอบจริงๆ หรือไม่ หรือเป็นเพราะคำถาม หรือเป็นเพราะการสุ่มที่ไม่กระจายตัว เลยทำให้คำตอบมากอง มากระจุก อยู่แค่ 2 ค่านี้

2.3 Q-Q plot/ P-P plot

ที่มา: Asghar Ghasemi and Saleh Zahediasl. 2012. Normality test for statistic analysis: A Guide for Non-Statistician.

ภาพ P-P plot กับ Q-Q plot จะมีพิจารณาคล้ายกัน คือ หากข้อมูลกองอยู่บนเส้นก็จะถือว่ามีความเข้าใกล้ความเป็น normal แต่ด้วยกราฟเหล่านี้ ไม่ได้มีตัวเลขมาช่วยในการพิจารณา ดังนั้น เราทำได้เพียงใช้การตัดสินใจส่วนตัวมาช่วยตอบว่า ข้อมูลนี้ normal หรือไม่

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

2.4 Box-Plot

ภาพ bloxplot จะแสดงถึงส่วนต่างๆ ของข้อมูล

  • ขีดบน คือ ค่าสูงสุด (max)

  • ขีดล่าง คือ ค่าต่ำสุด (min)

  • ขีดตรงพื้นที่กล่อง จะมีขีดบนของกล่อง ขีดกลาง และขีดล่างของกล่อง

    • ขีดบนของกล่อง คือ Quartile3 หรือ Percentile75

    • ขีดกลางของกล่อง คือ Median หรือ Quartile2 หรือ Percentile50

    • ขีดล่างของกล่อง คือ Quartile1 หรือ Percentile25
       

ที่มา: จรัล ทรัพย์เสรี. รู้จักกับ Boxplot. For Quality Vol.16. No.148. February 2010. p35

3.แนวทางแก้ปัญหา

หากข้อมูลไม่แจกแจงเป็นโค้งปกติจริงๆ ก็จะมีแนวทางในการแก้ปรับข้อมูลเพื่อให้แจกแจงเป็นโค้งปกติได้ โดยมีแนวทางดังนี้

3.1 การแปลงข้อมูล Transform data

การแปลงข้อมูลที่มักพูดถึงกัน ก็คือ take log แต่มีคำแนะนำเกี่ยวกับการ take log ด้วยวิธีของ Box-Cox transformation

ที่มา: https://www.statisticshowto.com/box-cox-transformation/#:~:text=A%20Box%20Cox%20transformation%20is,a%20broader%20number%20of%20tests.

จากเว็บ statisticshowto.com ได้แนะนำวิธีการแปลงค่าแบบ Box-Cox ไว้ ถ้าดูจากรูป ก็คือ ต้องการค่า Lambda เท่าไร ก็ให้แปลงค่าตามการแนะนำได้เลย

แล้วถ้าทำทั้งหมดแล้วยังไม่ได้ ก็คงต้องเปลี่ยนไปใช้สถิติ non-parametric

3.2 เปลี่ยนไปใช้สถิติ non-parametric

เมื่อทำการแปลงข้อมูลแล้วก็ยังไม่สามารถแก้ปัญหา ข้อมูลแจกแจงไม่เป็นปกติได้ ก็ต้องเปลี่ยนไปใช้สถิติแบบ non-parametric แทน มีคำแนะนำจากเว็บไซต์ของ Minitab ดังนี้

ที่มา: Tips and Tricks for Analyzing Non-Normal Data. www.Minitab.com

4.สรุป

สามารถสรุปเป็นประเด็นได้ดังนี้

  • Normality มีไว้ตรวจสอบข้อมูล ว่า มีการแจกแจงเป็นโค้งปกติหรือไม่ เพื่อไปทดสอบสถิติ parametric ในลำดับต่อไป

  • สามารถทดสอบ normality ได้หลายแนวทาง ได้แก่ Kolmogorov-smirnov กับ Sharpiro-Wilks, Skewness ความเบ้ Kurtosis ความโด่ง, Q-Q plot, P-P plot, Boxplot

  • เกณฑ์ที่สำคัญในการพิจารณาด้วย Normality test statistic คือ ควรไม่มีนัยสำคัญ หรือ
     
    ค่า sig > 0.05

  • เกณฑ์ในการพิจารณาด้วย Skewness/ Kurtosis คือ ควรเข้าใกล้ 0 หรืออยู่ระหว่าง -2 ถึง +2 หรือ -3 ถึง +3 แล้วแต่การอ้างอิง

  • หากข้อมูลยังมีปัญหา ไม่แจกแจงเป็นโค้งปกติ ให้ลองวิธีการทางคณิตศาสตร์ เช่น take log, มักแนะนำวิธีการของ Box-Cox transformation ซึ่งประกอบไปด้วย square root, inverse, natural log หรือใช้วิธีการของ Johnson transformation

  • หรือสุดท้ายเปลี่ยนไปใช้สถิติแบบ non-parametric


อ้างอิง

จรัล ทรัพย์เสรี. รู้จักกับ Boxplot. For Quality Vol.16. No.148. February 2010. p35

Asghar Ghasemi and Saleh Zahediasl. 2012. Normality test for statistic analysis: A Guide for Non-Statistician.

Hun Myoung Park. 2008. Univariate Analysis and Normality Test Using SAS, Stata, and SPSS.


ร่วมติดตามได้ทุกช่องทาง

follow or subscribe in any channel

.

tel.086-555-5949

line: @SmartResearchThai

email: contact@SmartResearchThai.com

www.SmartResearchThai.com

Blockdit: SmartResearchThai

Youtube: SmartResearchThai

Facebook: SmartResearchThai

#ปรึกษาสถิติ #สอนใช้โปรแกรมสถิติ #แก้ปัญหาสถิติ

    14590
    0