อบรม excel

Statistics with Excel ตอนที่ 1 : ค่าสถิติที่สำคัญ

by Sira Ekabut | Jun 13, 2020 | Excel and Statistics | 0 comments

Statistics (สถิติ) นั้นเป็นศาสตร์ที่สามารถช่วยให้เราเปลี่ยนข้อมูลดิบ (Data) ให้เป็นข้อมูลที่มีประโยชน์ (Information) ได้ ซึ่งมีความจำเป็นและมีประโยชน์มากต่อการช่วยให้เราสามารถตัดสินใจด้วยข้อมูลได้ดีขึ้น เหมาะกับองค์กรในยุคปัจจุบันที่ต้องใช้ Data ในการตัดสินใจ หรือที่เรียกว่า Data-Driven Organization

ซึ่งในซีรีส์นี้เราจะมาเรียนรู้เรื่องสถิติกันตั้งแต่พื้นฐานกันเลยครับ

Version VDO บน YouTube (ฝาก subscribe ด้วยน้าาาา)

ภาพรวมของสถิติ

นิยามของข้อมูลทางสถิติ

ข้อมูลทางสถิตินั้นแบ่งได้เป็น 2 ประเภทใหญ่ๆ คือ

เอาล่ะเมื่อเห็นภาพรวมแล้ว ในตอนที่ 1 นี้เราจะมาเจาะลึกตัว Descriptive Statistics กัน และจะลองทำใน Excel กันด้วยครับ

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

ซึ่งข้อมูลก็ไม่มีอะไรมากครับ ให้ทุกคนสร้างเลข running 1-10 ใน Excel (โดยใส่ 1 แล้วคลิ๊กขวาที่ Fill Handle แล้วลากลงมา) จากนั้นให้เปลี่ยนเลขบางส่วนดังต่อไปนี้

สรุปจะได้ Data หน้าตาแบบนี้นะ ซึ่งผมตั้งชื่อ (Define Name) เจ้า Range A2:A11 นี้ ว่า data เพื่อให้ดูสูตรแล้วเข้าใจง่ายขึ้น และ copy paste ง่ายขึ้นด้วย

การคำนวณสุดฮิตที่ใช้ใน Descriptive Statistics

ปกติการทำผลสรุปทั้งสถิติต่างๆ เพื่ออธิบายลักษณะของข้อมูลนั้น มักจะแบ่งเป็น 2 กลุ่ม คือ

Central Tendency (แนวโน้มค่ากลาง)

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

Mean (ค่าเฉลี่ยเลขคณิต)

คือ ค่าเฉลี่ยที่เกิดจากผลรวมข้อมูลทั้งหมดหารด้วยจำนวนข้อมูล นี่น่าจะเป็นค่าสถิติที่คนส่วนใหญ่รู้จักดีกันมากที่สุดเลยล่ะ

แต่มันมีข้อเสียที่สำคัญ คือ มันจะได้รับอิทธิพลจากค่าที่น้อยหรือเยอะมากๆ มาดึงค่าเฉลี่ยไป ทำให้อาจเข้าใจผิดได้ (เดี๋ยวจะได้เห็นว่าค่า 100 จะดึง Mean ขึ้นไปขนาดไหน หึหึ)

=AVERAGE(data)              // Excel จะคำนวณเฉพาะค่าที่เป็น Number เท่านั้น =SUM(data)/COUNT(data)      // Excel จะคำนวณเฉพาะค่าที่เป็น Number เท่านั้น

Median (มัธยฐาน)

คือ ค่าที่อยู่ตำแหน่งกึ่งกลาง เมื่อนำข้อมูลมาเรียงกันจากน้อยไปมาก

ดีตรงที่แทบไม่ได้รับอิทธิผลจากค่ามากหรือน้อยจัดๆ

= MEDIAN(data)

Mode (ฐานนิยม)

คือ ค่าที่เกิดขึ้นบ่อยที่สุดในชุดข้อมูล อาจมีค่าเดียวหรือหลายค่าก็ได้

ข้อดีคือมั่นใจได้ว่าเป็นค่าที่มีอยู่จริงในข้อมูล ไม่เหมือน Mean ซึ่งอาจได้เลขที่ไม่มีอยู่จริงๆ

= MODE.SNGL(data)         // ใช้กรณีที่อยากได้ผลลัพธ์ค่าเดียว (MODE ใน version เก่าก็คือตัวนี้) = MODE.MULT(data)         // สามารถแสดงผลลัพธ์หลายค่าได้ (ออกมาเป็น array)

เมื่อทดลองกับข้อมูลของเราแล้วจะได้ผลลัพธ์แบบนี้ครับ

Dispersion (การกระจาย)

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

Range (พิสัย)

วัดการกระจายโดยเอาค่ามากสุด – ค่าน้อยสุด

=MAX(data) - MIN(data)

Variance (ความแปรปรวน)

วัดการกระจายโดยเอาความต่างของแต่ละจุดข้อมูลกับค่าเฉลี่ยมากยกกำลังสอง แล้วหาค่าเฉลี่ย 

(ที่ใช้วิธียกกำลังสองเพื่อแก้ปัญหาเรื่องเครื่องหมายบวกลบ และลงโทษค่าที่ไกลจากค่า Mean มากๆ ได้ดีกว่าการหาค่า Absolute)

=VAR.P(range)      //ใช้กับข้อมูลที่มาจาก Population ทั้งหมด =VAR.S(range)      //ใช้กับข้อมูลที่มาจาก Sample (มีการแยกสูตรเพราะถ้าคำนวณตามปกติค่าที่ได้จะน้อยเกินจริง เลยพยายาม adjust สูตรให้ตัวหารน้อยลง ค่าที่จะได้จะเยอะขึ้นจนใกล้เคียงค่าจริงของ Population มากขึ้น)

อันบนคือสูตรของ Variance ที่คิดจาก Population

อันล่างคือสูตรของ Variance ที่คิดจาก Sample

ถ้าดูสูตรทางคณิตศาสตร์จริงๆ แล้วก็จะงงๆ หน่อย แต่มันหมายถึงสิ่งที่ผมเขียนไปข้างบนนี่แหละ จะเข้าใจได้มากขึ้นผมอยากให้ดูรูปนี้ครับ สมมติว่าเส้นสีดำตรงกลางคือค่าเฉลี่ยของข้อมูล

เมื่อเราเอาระยะห่างของแต่ละจุดกับค่าเฉลี่ย มายกกำลังสอง ก็จะได้พื้นที่สี่เหลี่ยม จากนั้นเอาขนาดสี่เหลี่ยมทุกอันมาเฉลี่ยกันจะได้ Variance นั่นเอง

https://towardsdatascience.com/a-visual-interpretation-of-the-standard-deviation-30f4676c291c

ข้อเสียของ Variance คือ มีปัญหาเรื่องหน่วยที่ไม่เหมือนกับ Data ต้นฉบับ (เพราะดันมีการยกกำลังสอง)

Standard Deviation (ส่วนเบี่ยงเบนมาตรฐาน)

คือการเอาค่า Variance มาหารากที่สอง เพื่อแก้ปัญหาเรื่องหน่วยให้ได้หน่วยเดียวกับ Data จริงๆ

=STDEV.P(range)   // ใช้กับข้อมูลที่มาจาก Population ทั้งหมด =STDEV.S(range)   //ใช้กับข้อมูลที่มาจาก Sample ด้วยเหตุผลเดียวกับ VAR.S

Percentile

คือการเรียงข้อมูลจากน้อยไปมาก แล้วแบ่งข้อมูลออกเป็น 100 ส่วน สมมติว่าเราสอบได้คะแนน Percentile ที่ 83 หมายความว่า มีคน 83% ที่สอบได้คะแนนน้อยกว่าเรา

=PERCENTILE.INC(array, k)   // แบบ Inclusive หรือแบบที่เป็น =PERCENTILE เฉยๆ =PERCENTILE.EXC(array, k)   // แบบ Exclusive

สำหรับคนที่สงสัยว่า Inclusive กับ Exclusive ต่างกันยังไง ลองดูคลิปที่ผมเคยทำไว้ได้ครับ

คลิปอธิบายความแตกต่างระหว่าง Inclusive กับ Exclusive

Quartile

คือการเรียงข้อมูลจากน้อยไปมาก แล้วแบ่งข้อมูลออกเป็น  4 ส่วน ถ้าเราอยู่ Quartile ที่ 3 แปลว่า มีข้อมูล 75% ที่น้อยกว่าเรา

=QUARTILE.INC(array,quart)  // แบบ Inclusive หรือแบบที่เป็น =QUARTILE เฉยๆ =QUARTILE.EXC(array,quart)  // แบบ Exclusive

โดยที่

IQR (Interquartile Range)

คือการนำเอา Quartile 3- Quartile1

Box Plot หรือ Box and Whiskers Plot

เราสามารถเอาค่าพวก Mean และ Quartile มาแสดงเป็นกราฟที่เรียกว่า Box Plot ได้ ซึ่งเป็นกราฟที่สามารถแสดงการกระจายของข้อมูลได้ดีมากๆ อันดึงเลย แถมยังเหมาะกับการเปรียบเทียบการกระจายของข้อมูลหลายๆ กลุ่มได้ดีอีกด้วย

รูปเอามาจาก https://towardsdatascience.com/understanding-boxplots-5e2df7bcbd51

ใน Excel version ใหม่ๆ เราก็สร้างกราฟแบบ Boxplot ได้ง่ายๆ เลยครับ โดยที่ Excel จะใช้ Quartile แบบ Exclusive มาสร้างกราฟนะครับ

ใน Data 1 จะเห็นว่าค่า Mean ที่ควรเป็นค่ากลางของข้อมูลมันดันเด้งออกมานอกกล่องด้วยซ้ำ (ช่างเป็นค่ากลางที่แย่จริงๆ 555) ผมเลยลองแก้ค่า 100 เป็น 10 จะเห็นว่าค่า Mean ที่เด้งออกไปนอกกล่องใน Data1 นั้นกลับเข้ามาในกล่องได้อย่างสวยงาม ซึ่งแสดงให้เห็นว่าถ้าเราไม่มีค่า Outlier มาดึง Mean แล้วล่ะก็ มันก็เป็นค่ากลางที่ดีใช้ได้เลยล่ะ (หรือจริงๆ เลข 100 ที่ได้มาเป็นเลขที่พิมพ์ผิดกันนะ)

และนี่คือการคำนวณพื้นฐานทางสถิติที่ควรจะรู้จักครับ เดี๋ยวในตอนหน้าเราจะมาดูเรื่องพื้นฐานของทุกสิ่งทุกอย่าง นั่นก็คือ “การนับและความน่าจะเป็น

Statistics with Excel ตอนที่ 2 : ความน่าจะเป็น

by Sira Ekabut | Jun 15, 2020 | Excel and Statistics | 0 comments

ในตอนที่แล้วเราได้พูดถึงภาพรวมของสถิติและค่าทางสถิติเบื้องต้นกันไปแล้ว ในตอนนี้เราจะมาปูพื้นฐานอีกเรื่องที่สำคัญมากๆ นั่นก็คือเรื่อง ความน่าจะเป็น หรือภาษาอังกฤษว่า Probability นั่นเอง

Probability (ความน่าจะเป็น) คือ ค่าที่บอกให้รู้ว่าเหตุการณ์ที่เราสนใจจะมีโอกาสเกิดขึ้นมากหรือน้อยแค่ไหน 

โดยมีค่าตั้งแต่ 0 (ไม่มีทางเกิดขึ้น) ถึง 1 (เกิดขึ้นแน่นอน) หรือจะเขียนเป็น 0% – 100% ก็ได้ (เพราะ % คือหาร 100)

เช่น ความน่าจะเป็นของการถูกรางวัลเลขท้าย 2 ตัว คือ 1 ใน100 หรือ 0.01 หรือ 1% เราก็จะรู้ว่าโอกาสมันน้อยมาก…

การเข้าใจความน่าจะเป็น จะช่วยให้เราตัดสินใจได้ดีขึ้น (กว่าไม่รู้) ซึ่งเรื่องนี้เป็นเรื่องที่มีประโยชน์มากๆ

บอกเลยว่าบทความนี้ยาวมาก แต่ผมก็ตั้งใจเขียนบทความนี้มากๆ เช่นกัน และอยากให้ออกมาดีที่สุดเท่าที่ทำได้ หวังว่าทุกคนจะได้ศึกษาจนเข้าใจและใช้มันได้อย่างสนุกสนานด้วยนะครับ

สารบัญ

นิยามของคำที่เกี่ยวข้อง

การที่เราจะเข้าใจเรื่องความน่าจะเป็นนั้นเราจะต้องทำความรู้จักคำศัพท์ต่างๆ เหล่านี้ก่อน ดังนั้นมาลุยกันเลย!

ดังนั้น ความน่าจะเป็นของสิ่งที่เราสนใจ จะเขียนได้ว่า 

Probability of Event หรือ P(E) = จำนวน Event E / จำนวน Sample Space = E/S

ดังนั้น P(ออกหัวอย่างน้อย 1 ครั้งในการโยนเหรียญ 2 ครั้ง) = 3/4 = 0.75 หรือ 75% นั่นเอง

Counting Theory  (กฎการนับ)

การที่จะคำนวณความน่าจะเป็นได้ดีแบบไม่ต้องมานั่งเขียนผลลัพธ์ที่เป็นไปได้ทีละตัวนั้น เราจะต้องนับ Event และ Sample Space ให้ถูกต้องโดยใช้หลักการต่างๆ เหล่านี้ให้เป็นเสียก่อน

กฏพื้นฐานของการนับ (Fundamental Principle of Counting)

มีกฎ หลักๆ 2 อันในการหาจำนวนผลลัพธ์ที่เป็นไปได้ คือ

ตัวอย่าง : แต่งตัวเล่นละคร Titan

สมมติว่าในการเล่นละครเวทีคุณต้องเลือกว่าจะเล่นเป็นฝ่ายมนุษย์ หรือฝ่าย Titan (ยักษ์)

ถามว่ามีความเป็นไปได้ในการแต่งตัวเล่นละครเวทีทั้งหมดกี่แบบ?

แบบนี้จะเห็นว่ามี 2 กรณี คือ กรณีเล่นเป็นมนุษย์ กับเล่นเป็นฝ่าย Titan ซึ่งเราต้องคิดแยกกรณีกัน แล้วเอามาบวกกัน

ฝ่ายมนุษย์ : มีเสื้อ 4 แบบ กางเกง 2 แบบ จะแต่งตัวได้กี่แบบ = มีขั้นตอนต้องทำ 2 ขั้นคือ เลือกเสื้อกับเลือกกางเกง 

ดังนั้นต้องเอารูปแบบของทั้ง 2 ขั้นตอนคูณกัน = ใส่เสื้อ ได้ 4 แบบ * ใส่กางเกงได้ 2 แบบ = มีการใส่เสื้อผ้า 8 วิธี

ฝ่าย Titan : มี 9 ชุด 3 สี = มีขั้นตอนต้องทำ 2 ขั้นคือ เลือกชุดกับเลือกสี 

ดังนั้นต้องเอารูปแบบของทั้ง 2 ขั้นตอนคูณกัน = ใส่ชุด ได้ 9 แบบ * เลือกสีได้ 3 แบบ = มีการใส่เสื้อผ้า 27 วิธี

รวมทุกกรณี มีรูปแบบการใส่เสื้อผ้า = 8 + 27 = 35 วิธี

ทำไมมีหลายขั้นตอนแล้วต้องคูณกัน?

วิธีที่จะเข้าใจเรื่องการนับพื้นฐานได้ดี คือ การวาดแผนผังต้นไม้ (Tree Diagram) ดังนี้ จะเข้าใจได้เลยว่าทำไมต้องคูณกัน

โดยที่ใน Excel เราสามารถเอาตัวเลขทั้งหมดใน Range คูณกันได้ง่ายๆ โดยใช้ฟังก์ชัน PRODUCT มาช่วย

=PRODUCT(data)    // ใส่ data เป็น range ได้เลย

ใครสนใจวิธี List ความเป็นไปได้ทั้งหมดออกมา สามารถดูในคลิปนี้ได้ครับ

ทำความรู้จัก Factorial

คำถาม : ตัวอักษรคำว่า SIRA สามารถนำมาสลับกันได้กี่รูปแบบ? (ไม่สนใจความหมาย)

วิธีคิดให้เข้าใจง่ายๆ คือ เหมือนมี Slot ให้ใส่ข้อความได้ 4 ตำแหน่ง แล้วเรามี Block ตัวอักษรอยู่ 4 ตัวคือ S, I, R, A เราจะสามารถสร้างคำได้กี่รูปแบบ?

แสดงว่าการทำงานมี 4 ขั้นตอน คือ เลือกตัวใส่ Slot1, 2, 3, และ 4 ตามลำดับ ดังนั้นเราต้องเอารูปแบบแต่ละขั้นตอนมาคูณกัน

ดังนั้นการคำนวณ = 4*3*2*1 = 24 วิธี ดังนี้ (เห็นมะว่าเยอะ ผม List เองยังเหนื่อยเลย)

ซึ่งเจ้า 4*3*2*1 นั้น สามารถเขียนได้อีกอย่างว่า 4! ซึ่งอ่านว่า “4 แฟคตอเรียล”

โดยที่ n! อ่านว่า “n แฟคตอเรียล” หมายถึง เอาตัวมันเองคูณด้วยตัวมันเองลบ 1 ไปเรื่อยๆ จนถึง 1  นั่นเอง

*สิ่งที่ควรรู้คือ ค่า 0! จะได้ 1 นะครับ

ซึ่งใน Excel สามารถใช้ฟังก์ชัน FACT ได้แบบง่ายๆ คือ

=FACT(number) =FACT(4) จะออกมาได้ =24 เลย

กรณีมีตัวซ้ำที่เราไม่อยากจะนับ

อย่างไรก็ตามหากรูปแบบบางอย่างให้ผลลัพธ์เหมือนกันแล้วเราไม่อยากจะนับซ้ำ เราสามารถหารทิ้งเพื่อกำจัดตัวซ้ำได้

เช่น ตัวอักษรคำว่า SIRI สามารถนำมาสลับกันได้กี่รูปแบบ? (ไม่สนใจความหมาย)

ถ้าคิดแบบผิวเผิน เผลอคำนวณด้วยหลักการเดิมว่ามี 4 Slot จะได้ออกมาเป็น 4! คือ 24 รูปแบบ 

แต่ถ้าดูผลลัพธ์แล้วจะพบเหตุการณ์เหล่านี้… ว่ามันมีข้อมูลซ้ำกันอยู่

รูปแบบมันซ้ำกันเพราะตัว i มี 2 ตัว ซึ่งสลับที่กันแล้วไม่มีความหมาย ทำให้หากลอง Remove Duplicates ใน Excel จะเห็นว่ามีรูปแบบผลลัพธ์แค่ 12 แบบเท่านั้น ไม่ใช่ 24

วิธีคำนวณที่ถูกต้อง ต้องเอาจำนวนรูปแบบการสลับของตัวที่ซ้ำไปหารทิ้ง คือ i ที่มี 2 ตัว ไปคำนวณรูปแบบการสลับได้ 2! (แฟคตอเรียล) แล้วเอาไปหารทิ้ง นั่นคือ

=4!/2! = FACT(4)/FACT(2) = 12     //โดยที่หารด้วย 2! เพราะมีตัว i ซ้ำกัน 2 ตัว

ถ้าถามว่า คำว่า THEPEXCEL สลับกันได้กี่แบบ?

=9! /3!  = FACT(9)/FACT(3) = 60480 วิธี   //โดยที่หาร 3! เพราะมีตัว e ซ้ำกัน 3 ตัว

ถ้าถามว่าคำว่า GOOGLE สลับกันได้กี่แบบ?

=6!/2!2!  = FACT(6)/(FACT(2)*FACT(2)) = 180 วิธี    //โดยที่หาร 2! 2รอบ เพราะมีตัว G ซ้ำกัน 2 ตัว และ O ซ้ำกัน 2 ตัว นั่นเอง

ซึ่งกฎการนับนี้มันก็จะสามารถเอามาทำให้กลายเป็นสูตรสำเร็จรูปได้อีก 2 แบบใหญ่ๆ ก็คือ Permutation กับ Combination ซึ่งเอาจริงๆ แล้วเราใช้แต่กฎการนับก็ได้คำตอบแบบเดียวกันนั่นแหละ แต่สูตรสำเร็จรูปเหล่านี้มีให้ใช้ใน Excel ด้วย มันจึงง่ายกว่าปกติมากๆ

Permutation  (เรียงสับเปลี่ยน)

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

nPk = n! / (n-k)!    //โดยที่ลำดับมีความสำคัญ

เช่น มีของกิน 5 อย่าง เลือกกิน 2 อย่าง จะเลือกได้กี่แบบ โดยที่ลำดับในการกินมีความสำคัญ

จะได้ว่า 5P2 = 5!/(5-2)! = 5!/3! = 5*4 = 20 แบบ

ใน Excel เราสามารถใช้ฟังก์ชัน PERMUT ได้เลย

=PERMUT(number,number_chosen) =PERMUT(5,2) จะออกมาได้ 20 เลยแบบชิวๆ

จริงๆ ถ้ามองด้วยกฎการนับมันก็ Make Sense มากๆ อยู่แล้ว ตอนแรกมีของ 5 อย่างให้เลือก คือ 5 วิธี เมื่อเลือกไปแล้ว 1 อย่าง ทำให้เหลือให้เลือกในขั้นตอนต่อไปเพียง 4 วิธี ทำให้เป็น 5 * 4 = 20 แบบ นั่นเอง

ซึ่งถ้าหากมีของ 5 อย่าง เลือกกิน ทั้งหมด 5 อันเลย ก็จะมีลำดับการกิน = 5*4*3*2*1 หรือ 5! นั่นเอง

Combination (การจัดหมู่)

Combination นั้นจะเหมือนกับ Permutation แต่ว่าการเรียงลำดับไม่มีความหมาย ดังนั้น จำนวนวิธีในการจัดเรียงจึงต้องน้อยกว่า Permutation แน่นอน ทำให้ต้องหาร Permutation ด้วย k! (เพื่อกำจัดตัวซ้ำความหมาย คล้ายๆ กับตัวอย่างข้างบนที่เราหารตัวซ้ำ) ได้ว่า 

nCk = n! / (n-k)!k!         //โดยที่ลำดับไม่มีความสำคัญ

เช่น ถ้าคล้ายๆ ในตัวอย่างที่แล้วคือ มีของกิน 5 อย่าง เลือกกิน 2 อย่าง แต่คราวนี้ลำดับการกินไม่สำคัญ 

เราจะได้ว่า 5C2 = 5!/(5-2)!2! = 10 แบบ

ใน Excel เราสามารถใช้ฟังก์ชัน COMBIN ได้เลย

=COMBIN(number,number_chosen) =COMBIN(5,2) จะออกมาได้ 10 เลยง่ายๆ

ตัวอย่าง Permutation, Combination

ตัวอย่าง : เลือกคนมาเข้าขบวนการ 5 สี

จะมีวิธีในการเลือกคนมาเป็นขบวนการ 5 สี ที่มี 3 สีเป็นผู้ชาย อีก 2 สีเป็นผู้หญิง จากชายที่มีศักยภาพ 10 คน หญิง 7 คน ได้กี่วิธี

จะเห็นว่ามี 2 ขั้นตอน คือ ขั้นตอนการเลือกผู้ชาย กับ ขั้นตอนเลือกผู้หญิง ดังนั้นต้องเอารูปแบบคูณกัน

สรุป

=PERMUT(10,3)*PERMUT(7,2) = 30240 วิธี

ตัวอย่าง : เลือกดินสอสีมา 4 สี จากกล่องดินสอ 12 สี

ความต้องการ 1 : เลือกสีมา 4 สี สีอะไรก็ได้ จากดินสอ 12 สี

=12C4 =COMBIN(12,4) = 495 แบบ

ความต้องการ 2 : เลือกสีมา 4 สี ต้องมีสีเขียวด้วยเสมอ จากดินสอ 12 สี

ให้มองเป็นเลือกสีเขียวมาก่อน แล้วค่อยเลือกสีอื่นอีก 3 สี

=1C1 * 11C3 = COMBIN(11,3) = 165 แบบ

คำนวณความน่าจะเป็น

พอเราสามารถนับเหตุการณ์ทั้งหมดได้ (Sample Space) และนับเฉพาะเหตุการณ์ที่สนใจได้ (Event)

เราก็จะสามารถคำนวณความน่าจะเป็นของ Event E ได้ว่า

P(E) = จำนวน Event E / จำนวน Sample Space = E/S นั่นเอง

รูปแบบความสัมพันธ์ทางตรรกศาสตร์ของเหตุการณ์

ทีนี้เรื่องของเหตุการณ์ที่เราสนใจ มันอาจจะมีหลายเหตุการณ์ก็ได้ ซึ่งบางทีเหตุการณ์เหล่านั้นก็มีความสัมพันธ์เชิง Logic กัน ดังนี้ เช่น สมมติว่า

เราสามารถใช้ความรู้นี้ประยุกต์ใช้ได้กับทั้งกฏการนับ และ ความน่าจะเป็นเลย (เพราะจริงๆ ก็คือแนวคิดเดียวกัน)

Union การรวมเหตุการณ์ด้วยเงื่อนไขแบบ OR หรือ เขียนโดย E U F คือ เหตุการณ์ E หรือ F หรือ ทั้ง 2 อย่างเกิดขึ้น

ดังนั้น E U F คือ เหตุการณ์ที่เจอคนที่ใส่แว่น หรือ เป็นผู้หญิงก็ได้ ซึ่งรวมถึงคนเหล่านี้ทั้งหมด

Intersection = เหตุการณ์ที่ซ้ำกัน E ∩ F คือ ต้องเกิดทั้งเหตการณ์ E และ F พร้อมกัน

ดังนั้น E ∩ F คือ เหตุการณ์ที่ต้องเป็นเจอผู้หญิงใส่แว่นเท่านั้น

Complement = ~E  คือ เหตการณ์ที่ไม่ใช่เหตการณ์ E

ดังนั้น ~E คือ เหตุการณ์ที่เจอคนไม่ใส่แว่นเท่านั้น

ซึ่ง P(E) + P(~E) = P(S) = 1

ประโยชน์ของกฎเรื่อง Complement

จาก P(E) + P(~E) = 1 เราสามารถเขียนได้ว่า

P(E)= 1 - P(~E)

เช่น ถ้ารู้ความน่าจะเป็นคนที่ไม่ใส่แว่นว่าคือ 70% ดังนั้นความน่าจะเป็นของคนใส่แว่นคือ 30% นั่นเอง

ซึ่งแปลว่าบางทีเมื่อเราหาความน่าจะเป็น P(E) ตรงๆ ยาก เราก็หาตัวที่ไม่ใช่ E ที่เรียกว่า P(~E) แล้วค่อยเอา 1 มาลบจะง่ายกว่า อย่างเช่นตัวอย่างต่อไปนี้

ตัวอย่าง : วันเกิดตรงกัน

จงหาโอกาสที่กลุ่มคนจำนวน 30 คนจะมีอย่างน้อย 1 คู่ที่มีวันเกิดตรงกัน?

การจะหาอย่างน้อย 1 คู่ที่วันเกิดตรงกันตรงๆ นั้นยาก ให้หาโอกาสที่คน 30 คนจะมีวันเกิดไม่ตรงกันเลยดีกว่า (ผมขอ assume ว่าปีนึงมี 365 วันเสมอเพื่อความง่าย)

ให้คิดว่าวัน 365 วันในปีเป็นลูกบอลในโหลจำนวน 365 ลูก แล้วเราต้องสุ่มทั้งหมด 30 ครั้ง = 365^30 แบบ

กรณีที่คน 30 คนมีวันเกิดไม่ตรงกันเลย ก็คือ คนแรกเป็นไปได้ 365 แบบ แต่คนต่อไป เหลือ 364,363,362… ไปเรื่อยๆ 

อยากให้คูณไล่จาก 365 ไปแค่ 30 รอบ ซึ่งมองได้ว่า= 365!/(365-30!) = ใช้สูตร Permutation ได้= 365P30 ก็ได้ =PERMUT(365,30)

ดังนั้นความน่าจะเป็น ที่คน 30 คนมีวันเกิดไม่ตรงกันเลย คือ

=PERMUT(365,30)/365^30 =29.368%

โอกาสที่คน 30 คนจะมีอย่างน้อย 1 คู่ที่วันเกิดตรงกัน = 1 – ความน่าจะเป็น ที่คน 30 คนมีวันเกิดไม่ตรงกันเลย

=1-PERMUT(365,30)/365^30

=70.63 %

ดังนั้นไม่ใช่เรื่องแปลกเลยที่นักเรียนในห้องเดียวกันมักจะมีอย่างน้อย 1 คนที่มีวันเกิดเดียวกันครับ

ถ้าลองเอาไป Plot กราฟใน Excel ก็จะได้ประมาณนี้

ความรู้เบื้องต้นเกี่ยวกับสำรับไพ่เพื่อเรียนรู้ความน่าจะเป็น

ในตัวอย่างหลายๆ อันในนี้จะมีการพูดถึงไพ่ โดยไพ่มาตรฐานจะมีลักษณะดังนี้ (แต่คิดว่าหลายๆ คนคงรู้จักไพ่อยู่แล้วเนอะ 555)

การคำนวนความน่าจะเป็น (หรือใช้กับกฎการนับก็ได้) เมื่อมีเหตุการณ์มากกว่า 1 เหตุการณ์

แบบเกิดอย่างน้อยเหตุการณ์ใดเหตุการณ์หนึ่ง (Union=OR)

แบบต้องเกิดทั้ง 2 เหตุการณ์ (Intersect=AND)

ตัวอย่าง 1 : จั่วไพ่ J Q K และสีดำ

ถ้าจั่วไพ่ออกมา 1 ใบจากสำรับ 52 ใบ จงหาโอกาสที่จะได้ไพ่ที่เป็นหน้า J Q K และมีสีดำ?

หรือจะคำนวนอีกวิธีได้ว่า

เนื่องจากทั้งสองอัน independent กัน P(JQK ∩ ดำ) = P(JQK) x P(ดำ) = 12/52  x 1/2  = 6/52 = 0.1154 =11.54%

ตัวอย่าง 2 : จั่วไพ่ J Q K หรือไพ่สีดำ

ถ้าจั่วไพ่ออกมา 1 ใบจากสำรับ 52 ใบ จงหาโอกาสที่จะได้ไพ่ที่เป็นหน้า J Q K หรือไพ่สีดำ?

หรือจะคำนวนอีกวิธีได้ว่า

กัน P(JQK U ดำ) = P(JQK) + P(ดำ) – P(JQK ∩ ดำ) = 12/52  +   26/52  –  6/52  = 0.615

สิ่งที่ได้จากการเขียนความสัมพันธ์ Conditional Probability

P(E ∩ F) = P(E) × P(F|E)

หลักการของ Conditional Probability ข้างบนนี้ไม่มีอะไรเลย จริงๆ มันก็คือการบอกว่า

ความน่าจะเป็นของการเกิดทั้งเหตุการณ์ E และ F ทั้งคู่ 

= ความน่าจะเป็นของเหตุการณ์ E * ความน่าจะเป็นของเหตุการณ์ F หลังจากเกิด E ขึ้นแล้ว

ซึ่งมันก็คือการใช้ Common Sense ทั่วไปนั่นแหละ จริงมะ?

แต่เรื่องของเรื่องคือ เมื่อเรานำมันมาจัดเรียงใหม่ นำมาดัดแปลงมุมมองเล็กน้อย เราจะได้ทฤษฎีที่ทรงพลังมากที่สุดอันนึงของเรื่อง Probability นั่นก็คือ Bayes’s Theorem นั่นเอง

Bayes’ Theorem

ก่อนที่ผมจะอธิบายว่า Bayes’ Theorem คืออะไร? ผมจะยกตัวอย่าโจทย์ปัญหาที่ Bayes’ Theorem สามารถช่วยหาคำตอบได้ง่ายกว่าการใช้ Common Sense ทั่วไป

สถานการณ์ คือ

มีโหล 2 โหล คือ โหล ก กับ ข แต่ละโหลใส่ลูกบอลสีแดงกับเขียวปนกัน

มีคนสลับโหลไปๆ มาๆ แล้วให้คุณหลับตาแล้วหยิบลูกบอลมั่วขึ้นมาลูกนึง ปรากฏว่าได้บอลสีแดง ถามว่าโอกาสที่คุณหยิบบอลมาจากโหล ข เป็นกี่ %

คุณคิดด้วย Common Sense ได้หรือไม่?? ถ้าคุณเริ่มงง ลองมาดูต่อ

การตีโจทย์ หากเราสามารถวาดรูปออกได้จะทำให้เข้าใจง่ายขึ้นเยอะ

สิ่งที่ต้องการหา สามารถเขียนได้ในรูปของ Conditional Probability คือ P(หยิบจากโหล ข | ได้สีแดง) ซึ่งหายากกว่าในทิศกลับกันมาก นั่นคือ P(ได้สีแดง | หยิบจากโหล ข) ซึ่งรู้อยู่แล้วว่าคือ 30%

นี่แหละที่เจ้า Bayes’s Theorem เริ่มมีประโยชน์ในการเข้ามาช่วยครับ มันเจ๋งตรงที่มันใช้ความน่าจะเป็นในทิศกลับกันมาช่วยหาได้

ทฤษฎี

ทีนี้เรามาดูกันว่าเจ้า Bayes’s Theorem เค้าบอกว่ายังไง

ซึ่งจริงๆ แล้วเป็นสูตรที่ Make Sense มากๆ หากลอง พิจารณาจากความรู้เรื่อง Conditional Probability ที่ว่า

P(A ∩ B) = P(A) × P(B|A)

ดังนั้นสูตรข้างบนมันก็คือ

P(A | B) = P (A ∩ B) / P(B)

หากพิจารณาจาก Venn Diagrams จะเข้าใจง่ายมาก ว่าทำไมสูตรถึงออกมาแบบนั้น

ซึ่งแปลว่า ความน่าจะเป็นของ A หลังจากเกิด B แล้ว เท่ากับ ความน่าจะเป็นของการเกิดทั้ง A และ B หารด้วย ความน่าจะเป็นของ B นั่นเอง

แก้โจทย์ปัญหา

P(หยิบจากโหล ข | ได้สีแดง) = P(ได้สีแดง | หยิบจากโหล ข) * P(หยิบจากโหล ข) / P (ได้สีแดง)

แต่ถ้าในความจริงเรานับชิ้นไม่ได้ เช่นโจทย์อาจบอกมาเป็น Portion แบบไม่ได้เป็นเลขดิบ ก็สามารถคิด P(ได้สีแดง) ได้อยู่ดี แต่เดี๋ยวไว้ดูแนวทางในตัวอย่างข้อหลังๆ นะ

สรุป : P(หยิบจากโหล ข | ได้สีแดง) = (3/10) * (10/14) / (5/14) = ( 3/14 ) / (5/14) หรือ 3/5 นั่นเอง

ซึ่งถ้าดูจากรูปนี่โคตร Make Sense เพราะจากสีแดงทั้งหมดที่มี 5 ลูก มันอยู่ที่ โหล ข 3 ลูก นั่นเอง!! (สูตรมันหมายความงี้เองเรอะ!)

ตัวอย่างโจทย์

ตัวอย่าง 1 : ผู้ติดเชื้อ Covid

จาก Data ของผู้ติดเชื้อ Covid-19 เมื่อวันที่ 13 มิย. 63 ผมลอง Pivot ข้อมูลออกมาได้ดังตาราง

สมมติผมสุ่มคนออกมาคนนึงปรากฏว่าได้เป็นผู้ชาย จงหาความน่าจะเป็นที่คนคนนั้นจะเป็นคน กทม.

ถ้าเราเห็นเลขทุกตัวครบแล้ว จริงๆ มันง่ายมาก เพราะ P(กทม|ชาย) ก็คือ = 813/1724 = 47.16% ได้เลย (ก็ชายทั้งหมด 1724 คน เป็น กทม 813 คนไง)

แต่ถ้าจะใช้สูตรจาก Bayes ก็จะเป็นดังนี้

P(กทม|ชาย) = P(ชาย ∩ กทม) / P(ชาย)

หรือจะมองอีกแบบก็ยังได้

P(กทม|ชาย) = P(ชาย|กทม) * P(กทม) / P(ชาย)

=(813/1538) * (1538/3134) / (1724/3134)

=813/1724 = 47.16% อยู่ดี

ถ้าเราได้ Data มาเป็น Portion ของ Grand Total แบบนี้ ก็สามารถคิดได้เช่นกัน

P(กทม|ชาย) = ภายในชาย ให้ดูเฉพาะ กทม. = 25.94% / 55.01% = 47.16%

ดังนั้นจะเห็นได้ว่าหากเราเห็นภาพของข้อมูลครบถ้วนด้วยตารางแบบนี้นะ ทุกอย่างมันจะง่ายขึ้นมากๆ เลย

ตัวอย่าง 2 : จั่วไพ่

ถ้าจั่วไพ่ออกมา 1 ใบจากสำรับ 52 ใบ แล้วเป็นสีดำ จงหาโอกาสที่มันจะเป็นไพ่ดอกจิก

หรือจะคำนวนอีกวิธีได้ว่า

P(ดอกจิก | ไพ่ดำ) = P(ดอกจิก ∩ ไพ่ดำ) / P(ไพ่ดำ) = P(ดอกจิก) / P(ไพ่ดำ) = 0.25 / 0.5 = 0.5 = 50%

ตัวอย่าง 3 : สาวสวยแปลงเพศ

สถานการณ์คือ คุณกับเพื่อนเดินไปเจอสาวสวยคนหนึ่ง ช่างเป็นสาวที่ตรง Spec ของคุณ จนอยากจะเข้าไปขอ ID Line เดี๋ยวนี้เลย แต่แล้วเพื่อนของคุณทักขึ้นมาว่า เดี๋ยวนี้ผู้หญิงสวยๆ อาจจะเป็นผู้ชายที่แปลงมาก็ได้… ตอนนี้คุณเริ่มลังเล และอยากจะหาความน่าจะเป็นที่สาวสวยที่คุณเจอจะเป็นผู้ชายแปลงเพศมา!

ความน่าจะเป็นที่คนที่คุณเจอจะเป็นผู้ชายแปลงเพศ เมื่อรู้แล้วว่าเป็นคนสวย สามารถเขียนได้ว่า = P(เจอผู้ชายแปลงเพศ|เจอคนสวย)

จาก Bayes จะได้ว่า

P(เจอผู้ชายแปลงเพศ|เจอคนสวย) = P(เจอคนสวย|เจอผู้ชายแปลงเพศ) * P(เจอผู้ชายแปลงเพศ) / P(เจอคนสวย)

สมองของคุณเริ่มเดาๆ ตัวเลขที่เกี่ยวข้องออกมาได้ ดังนี้ (เดาผิดอย่าว่ากัน assume ว่าไม่มีตัวเลขที่ดีกว่านี้แล้ว)

P(ผู้ชายแปลงเพศ|คนสวย) = 60% * 5% / 20% = 15% นั่นเอง

สรุปแล้ว คุณก็เลยตัดสินใจไปหาสาวสวยคนนั้น เพราะโอกาส 15% ก็ไม่ใช่น้อยๆ นะที่คุณจะได้เจอคนที่ตามหามานาน (อ้าว 555)

ตัวอย่าง 3 : ดักจับ Spam

อยากหาโอกาสที่ใน Email ที่ส่งมาจะเป็น Spam เมื่อเจอคำว่า Viagra อยู่ในข้อความ Email

นั่นคืออยากหา P(Spam|Viagra) ซึ่งเราเขียนสูตรได้ดังนี้

P(Spam|Viagra) = P(Viagra|Spam) * P(Spam) / P(Viagra)

สมมติเราไปเก็บ Data มาแล้วได้ข้อมูลดังนี้

P(Spam|Viagra) = 70%*80% / P(Viagra)

แล้ว P(Viagra) จะหาได้ยังไง?

ถ้าวาดข้อมูลลงตารางและปรับฐานให้เท่ากันเป็น %of Grand Total ได้ จะทำให้เข้าใจง่ายขึ้นมากๆ

จริงๆ แล้วมันก็คือ ช่อง K10 จริงมะ ซึ่งคิดได้แบบนี้

P(Viagra) = P(Viagra|Spam) * P(Spam)  +  P(Viagra|Not Spam)*P(Not Spam)

P(Viagra) = 70%*80% + 10%*(1-80%) = 58%

สรุปแล้ว

P(Spam|Viagra) = 60%*80% / 58% = 82.7% นั่นเอง

และเรื่องแบบนี้แหละซึ่งเค้าเอาไปใช้ในการทำ Machine Learning เพื่อพัฒนา AI ที่ใช้ดัก Spam ด้วย แต่มันจะซับซ้อนกว่านี้เนอะ

แหล่งศึกษาความรู้เพิ่มเติม

ตอนต่อไป

เป็นไงบ้างครับกับเนื้อหาความน่าจะเป็นที่ผมเตรียมไว้ให้ ผมพยายามเขียนให้เข้าใจง่ายที่สุดเท่าที่ทำได้แล้ว หวังว่าจะพอเข้าใจนะครับ แต่ถ้าไม่เข้าใจอะไรตรงไหนก็ Comment ถามมาได้เลยนะ

เดี๋ยวตอนต่อไปจะเป็นเรื่องของ Discrete Probability Distribution หรือการแจกแจงความน่าจะเป็นแบบที่เหตุการณ์ที่สนใจนั้นสามารถนับแยกเป็นชิ้นๆ ได้(ไม่ได้มีค่าต่อเนื่องกัน)

Statistics with Excel ตอนที่ 3 : Discrete Probability Distribution

by Sira Ekabut | Jun 16, 2020 | Excel and Statistics | 0 comments

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

Probability Distribution เป็นการทำให้เราเห็นภาพรวมถึงค่าของตัวแปรสุ่มที่เป็นไปได้ทั้งหมด และสามารถหาค่าความน่าจะเป็นของเหตุการณ์ที่เราสนใจได้อีกด้วย จึงถือได้ว่ามันเป็นหัวใจสำคัญของเรื่องสถิติเลยล่ะ

Probability Distribution สามารถแบ่งออกเป็น  2 ประเภทใหญ่ๆ คือ

ในบทความนี้เราจะมาเรียนรู้เรื่อง Discrete Probability Distribution กันก่อนนะครับ

Discrete Probability Distributions

เป็นการแจกแจงความน่าจะเป็นที่นับเป็นชิ้นๆ ได้ (ไม่ได้มีความต่อเนื่องกันจนแยกเป็นชิ้นไม่ได้) ซึ่งการที่เราเข้าใจ Distribution แบบนี้แล้ว จะทำให้เข้าใจที่มาที่ไปของ Distribution แบบ Continuous ที่เกิดขึ้นมากที่สุดในโลกที่มีชื่อว่า Normal Distribution ได้ด้วย

การแจกแจงความน่าจะเป็นแบบ Discrete ที่ผมจะขอพูดถึงมี 3 อัน คือ Bernoulli Distribution, Binomial Distribution, และ Poisson Distribution

Bernoulli Distribution

ตัวอย่าง การมั่วข้อสอบ 1 ข้อ (มี choice 4 อัน)

หมายเหตุ: Bernoulli Distribution ถือเป็นตัวพื้นฐานที่แทบใช้อะไรไม่ได้มากเพราะใช้ได้แค่กรณีมี Trial ครั้งเดียว แต่เดี๋ยวเราจะได้เรียนตัวถัดไปที่มีชื่อว่า Binomial Distribution ซึ่งใช้ได้กับกรณีที่มี Trial กี่ครั้งก็ได้ อันนี้สิเจ๋งจริง! (แปลว่าจริงๆ แล้ว Bernoulli Distribution ก็คือการใช้ Binomial Distribution แบบมี Trial 1 รอบนั่นเอง)

รูปการ Plot Bernoulli Distribution

เนื่องจากผลลัพธ์ของ Bernoulli Distribution เป็นไปได้แค่ 0=ไม่สำเร็จ, 1=สำเร็จ และมันมีแค่ Trial เดียว ดังนั้นผลลัพธ์ก็เลยมีแค่ 2 แท่งแบบ Basic ๆ นี่แหละ…

Binomial Distribution

ดังนั้น Binomial Distribution เป็นการแจกแจงของจำนวนครั้งที่เกิดความสำเร็จ (X) ในการทดลอง Bernoulli trial ทั้งหมด n ครั้ง โดยมีความน่าจะเป็นของความสำเร็จคือ P

เช่น มั่วข้อสอบ Choice จำนวน 10 ข้อ

การคำนวณ Binomial Probability หรือ ความน่าจะเป็นที่ความสำเร็จจำนวน X ครั้งจะเกิดขึ้น (ความน่าจะเป็นแต่ละแท่ง) มีสูตรดังนี้ 

b(x; n, P) = nCx * Px * (1 – P)n – x

สูตรดูเหมือนจะยุ่งๆ ยากๆ แต่จริงๆ แล้วที่มาที่ไปนั้น Make Sense ใช้ได้เลย เดี๋ยวมาดูการแทนค่ากันก่อน แล้วผมจะอธิบายที่มาของสูตรทีหลังนะครับ

ตัวอย่าง 1 : สมมติว่ามั่วข้อสอบ 10 ข้อ โอกาสที่ตอบถูก 6 ข้อพอดีคือเท่าไหร่?

ซึ่งที่มาที่ไปของสูตร จริงๆ ก็มาจากเนื้อหาตอนที่แล้วนี่แหละ

จากสูตรนี้ 10C6 * (1/4)^6 * (3/4)^4 เดี๋ยวเรามาดูกันว่าที่มาที่ไปแต่ละตัวมาจากไหน

แต่เรามี Excel ให้ใช้ ดังนั้นเราไม่ต้องมานั่งเขียนสูตรยากๆ เลย แต่ใช้ฟังก์ชัน BINOM.DIST ก็จะง่ายกว่ามากๆ 555

=BINOM.DIST(number_s,trials,probability_s,cumulative) โดยที่ cumulative ถ้าเป็น TRUE คือโอกาสสะสมตั้งแต่ success เป็น 0 จนถึงจำนวนที่ต้องการ โดยที่ cumulative ถ้าเป็น FALSE คือค่าโอกาสของจำนวน success ที่ต้องการตัวเดียว (ไม่สะสม)

ในที่นี่เราต้องการหาโอกาสที่ตอบถูก 6 ข้อพอดี ต้องใช้ cumulative ถ้าเป็น FALSE เพราะว่าไม่สะสม

=BINOM.DIST(6,10,1/4,FALSE) = 0.016222 = 1.62%

ตัวอย่าง 2 : สมมติเปลี่ยนคำถามเป็น ว่ามั่วข้อสอบ 10 ข้อ โอกาสที่ตอบถูกตั้งแต่ 6 ข้อขึ้นไป คือ เท่าไหร่?

แบบนี้คิดได้ 2 วิธี คือ เอาความน่าจะเป็นของถูก 6, 7, 8, 9, 10 ข้อ บวกกันให้หมด

ซึ่งจะเห็นว่าต้องคำนวณเยอะ เรามาใช้อีกวิธีนั่นคือ การคิดในมุมกลับด้วยหลักการ Complement จะง่ายกว่าเยอะ

นั่นคือเอา 1- ความน่าจะเป็นสะสมจนถึง 5 ข้อ โดยที่เราจะเขียนเป็น 6-1 จะได้รู้ว่า 5 มาจากไหน และเราจะใช้ Cumulative เป็น TRUE

=1 - BINOM.DIST(6-1,10,1/4,TRUE) = 0.01973 = 1.973% เท่ากันเลยแต่ใช้สูตรช่องเดียว

รูปการ Plot Binomial Distribution

ที่โอกาสสำเร็จ 25% จะเห็นว่ากราฟค่อนข้างเบี้ยวๆ (รูปนี้เรียกว่าเบ้ขวา เพราะมีหางยาวไปด้านขวา)

แต่ถ้าโอกาส Success เป็น 50% จะทำให้ Shape สมมาตรเลย

เช่น โอกาส Success เป็น 75% จะทำให้ Shape เบ้ไปอีกทิศ (เรียกว่าเบ้ซ้าย เพราะหางยาวไปด้านซ้าย)

Poisson Distribution

เป็นการแจกแจงจำนวนครั้งของความสำเร็จที่เกิดขึ้น (X) ภายในขอบเขตหรือระยะเวลาที่กำหนด โดยมีจำนวนครั้งของความสำเร็จโดยเฉลี่ยภายในขอบเขตหรือระยะเวลาที่กำหนดดังกล่าว เท่ากับ μ (จริงๆ จะเอาสัญลักษณ์อะไรก็ได้นั่นแหละ)

Poisson Probability หรือความน่าจะเป็นที่จะเกิดความสำเร็จ x ครั้งเป๊ะๆ ในเวลาที่กำหนดมีดังนี้ 

P(x; μ) = (e-μ) (μx) / x!

เช่น ปกติโดยเฉลี่ยแล้วบริษัทจะขายรถได้ 2 คัน ภายใน 1 วัน ถามว่าความน่าจะเป็นที่จะขายรถได้ 3 คันเป๊ะๆ ในวันพรุ่งนี้เป็นเท่าไหร่?

P(x; μ) = (e^-μ) (μ^x) / x!

P(3; 2) = (2.71828^-2) (2^3) / 3!

P(3; 2) = (0.13534) (8) / 6

P(3; 2) = 0.1804 หรือ 18% นั่นเอง

ซึ่งใน Excel เราสามารถใช้ฟังก์ชัน POISSON.DIST ได้เลย

=POISSON.DIST(x,mean,cumulative) โดยที่ x คือจำนวนความสำเร็จที่ต้องการ mean คือ จำนวนความสำเร็จเฉลี่ย cumulative ถ้าเป็น TRUE คือโอกาสสะสมตั้งแต่ success เป็น 0 จนถึงจำนวนที่ต้องการ cumulative ถ้าเป็น FALSE คือค่าโอกาสของจำนวน success ที่ต้องการตัวเดียว (ไม่สะสม)

ดังนั้นข้อนี้ โอกาสจะขายรถได้ 3 คันเป๊ะภายใน 1 วันจะสามารถใช้สูตรได้ว่า

=POISSON.DIST(3,2,FALSE)  = 0.1804 หรือ 18% นั่นเอง

ถ้าข้อนี้ถามว่าโอกาสขายได้ตั้งแต่ 3 คันขึ้นไปภายใน 1 วันจะสามารถใช้สูตรได้ว่า

=1 - โอกาสสะสมที่ขายได้แค่ 2 คัน =1 - POISSON.DIST(3-1,2,FALSE) =0.72933 = 72.93%

รูปการ Plot Poisson Distribution

กรณี Success เฉลี่ยคือ 2

กรณี Success เฉลี่ยคือ 7

กรณี Success เฉลี่ยคือ 14

จะเห็นว่า Distribution จะเด้งสูงขึ้นมาที่ค่า Mean แล้วแผ่ออกไปทั้ง 2 ด้าน เป็นเหมือนภูเขา ยกเว้นว่าค่า Mean จะน้อยๆ ฝั่งซ้ายก็จะไปตันที่เลข 0 นั่นเอง

เอาล่ะสำหรับ Discrete Probability Distribution ที่ควรรู้จักก็ประมาณนี้แหละครับ หวังว่าจะเป็นประโยชน์สำหรับทุกท่านนะ

ตอนต่อไป

ในตอนต่อไปเราจะมาเรียนรู้เรื่องของ Continuous Probability Distributions ที่พบมากที่สุดในธรรมชาตินั่นก็คือ Normal Distribution 

Statistics with Excel ตอนที่ 4 : Normal Distribution

by Sira Ekabut | Jun 17, 2020 | Excel and Statistics | 0 comments

ในตอนนี้เราจะเน้นเรื่องของ Normal Distribution ซึ่งเป็น Distribution ประเภท Continuous Probability Distribution ที่พบมากที่สุดในธรรมชาติเลย

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

Continuous Probability Distribution คือ การแจกแจงความน่าจะเป็นแบบที่เหตุการณ์ที่สนใจนั้นไม่สามารถนับเป็นชิ้นๆ ได้ เพราะเลขมีค่าต่อเนื่องกัน เช่น การแจกแจงของน้ำหนักของคนในบริษัท เพราะน้ำหนักของแต่ละคนมันอาจเป็น 63.43 kg ที่เป็นเศษแบบนี้ได้ ซึ่งเป็นค่าต่อเนื่อง ทำให้การอ่านความน่าจะเป็นของกราฟที่ Plot ออกมาต้องอ่านจาก “พื้นที่ใต้กราฟ” แทน ซึ่งมีอยู่หลายแบบด้วยกัน เช่น Uniform Distribution, Normal Distribution, T-Distribution, Chi-Square Distribution และอีกมากมาย

แต่ผมจะขอพูดถึง 2 แบบก่อน คือ Uniform Distribution และ Normal Distribution (รวมถึง แบบ Standard Normal ด้วย)

Uniform Distribution

Uniform แปลว่ามีแบบเดียวเหมือนกัน เช่น เครื่องแบบที่มีอันเดียว ดังนั้น Uniform Distribution ก็คือ Distribution ที่มีโอกาสเท่ากันหมดทุกค่านั่นเอง ถ้าลองทำเป็นกราฟจะเป็นแบบนี้

เนื่องจากพื้นที่ใต้กราฟต้องเป็น 1 เสมอ ทำให้

ความสูงของ distribution = 1/ ความกว้าง

ซึ่งความกว้างก็แล้วแต่ว่าแกน x ของกราฟจะเริ่มจากเท่าไหร่ถึงเท่าไหร่ เช่น ถ้าเริ่มจาก 0 ถึง 1 แบบนี้ก็คือกว้าง 1 ทำให้สูง 1 ไปด้วย

ถ้าเริ่มตั้งแต่ 3 ถึง 5 แบบนี้กว้าง 2 ก็จะสูงแค่ =1/2 = 0.5 เพื่อให้พื้นที่ใต้กราฟเป็น 1 เสมอ เป็นต้น

ค่าที่สถิติของ Uniform Distribution ตั้งแต่ค่า x เป็น a ถึง b

ตัวอย่าง : หากเครื่องจักรของเราสามารถผลิตน้ำยาวิเศษได้วันละ 3-5 ลิตร โดย assume ว่าโอกาสของผลผลิตเป็น Uniform Distribution จงหาโอกาสที่จะผลิตได้ตั้งแต่ 3.5 ลิตร ขึ้นไป และ โอกาสที่จะผลิตได้ 3.5 ลิตรพอดีเป๊ะ

ความน่าจะเป็นนั้นสามารถคำนวณได้จากพื้นที่ใต้กราฟของส่วนที่สนใจ

ถ้าบอกว่าจะให้ผลิตได้ 3.5 ลิตรขึ้นไป ก็จะเป็นพื้นที่ส่วนที่ Highlight ในรูป

ดังนั้นโอกาสผลิตได้ตั้งแต่ 3.5 ลิตรขึ้นไป = (5-3.5) * 0.5 = 0.75 หรือ 75% นั่นเอง

และถ้าถามว่าโอกาสที่ได้ 3.50000000000 ลิตรพอดีเป๊ะๆๆๆๆๆๆๆ คือ เท่าไหร่? มันก็จะเป็นค่าที่น้อยมากกกกก (เข้าใกล้ 0) เนื่องจากความกว้างของสี่เหลี่ยมที่สนใจมันน้อยมากนั่นเอง

แต่ถ้าบอกว่าโอกาสที่ได้ตั้งแต่ 3.50-3.51 ลิตร แบบนี้ยังพอคำนวณได้ = (3.51-3.50)*0.5 = 0.005 = 0.5% นั่นเอง

สุ่มค่าจาก Uniform Distribution

ใน Excel เรามีฟังก์ชันที่สามารถสุ่มค่าจาก Uniform Distribution ที่เริ่มตั้งแต่ 0 ถึง 1 ได้โดยตรง นั่นคือ RAND นั่นเอง

=RAND()

ผลลัพธ์จะออกมาเป็นค่าจำนวนจริงที่ละเอียดเป็นทศนิยม (แต่ excel รองรับ digit ทั้งหมดได้แค่ 15 digits) โดยมีค่าตั้งแต่ 0 ถึง 1

แต่ผลลัพธ์ออกมาแค่ 1 ค่า ถ้าอยากได้หลายค่าต้อง copy paste เอาเอง

สรุปสูตรโดยทั่วไป ถ้าอยากจะ Random จาก a – b

=RAND()*(b-a) + a

อย่างไรก็ตามใน Excel 365 ที่รองรับ Dynamic Array สามารถใช้ฟังก์ชันใหม่ นั่นคือ RANDARRAY ได้ ซึ่งกำหนดให้ผลลัพธ์ออกมาหลายค่าได้เลย (ผลลัพธ์เป็น array) โดยกำหนดจำนวนแถว จำนวนคอลัมน์ค่ามากสุด น้อยสุด และกำหนดได้ว่าจะเอาเป็นจำนวนเต็มหรือไม่ก็ได้

=RANDARRAY(rows,columns,min,max,integer)

ใครอยากดูที่อธิบายแบบเป็นคลิปวีดีโอ ก็ดูได้ที่นี่

Normal Distribution

Normal Distribution มีอีกชื่อนึงว่า Gaussian distribution เป็น Distribution ที่พบมากที่สุดในธรรมชาติ (ก็เลยเรียกว่า Normal ไง) โดยมีลักษณะดังนี้

มีคุณสมบัติดังนี้

รูปร่างของ Normal Distribution จะขึ้นอยู่กับค่า Mean และ SD ของข้อมูล โดยที่ส่วนสูงสุดของภูเขาจะตรงกับค่า Mean ส่วนความกว้างของฐานจะขึ้นอยู่กับค่า SD โดยที่มักจะกินพื้นที่ไปถึงประมาณ Mean +- 3SD (แต่ในความเป็นจริงไปได้ถึง Infinity เลยนะ)

จะเห็นจากรูปว่ายิ่งฐานกว้าง ความสูงก็จะน้อยลง (เพราะพื้นที่ใต้กราฟต้องเป็น 100% เสมอไง )

http://reliawiki.org/index.php/Statistical_Background_on_DOE

ที่มาที่ไปของ Normal Distribution

จริงๆ แล้วถ้ายังจำ Binomial Distribution ในตอนที่แล้วได้ หากเราโยนเหรียญ 10 ครั้ง แล้ว Plot จำนวนครั้งที่ออกหัว จะได้ Distribution แบบนี้

ถ้าโยน 100 ครั้งล่ะ? ก็จะเห็นว่ากราฟมันหน้าตาเริ่มเป็นเส้นโค้งคล้ายๆ Normal ใช่มะ?

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

สุดท้ายคิดค้นไปมา ก็ได้ออกมาเป็นสูตรที่ดูแล้วโคตรน่ากลัวมากๆ ที่บอกว่า เส้นโค้งของ distribution ขึ้นกับค่า Mean และ SD (เพราะค่า Pi กับ e คือค่าคงที่) แบบนี้นั่นเอง

พอรู้ฟังก์ชันที่อธิบายเส้นโค้งของกราฟ Normal แล้วการจะหาพื้นที่ใต้กราฟก็สามารถทำได้ด้วยการคำนวณ Integrate นั่นเอง… (อ๊าก) แต่ถ้าจะให้คนธรรมดามานั่ง Integrate เอาก็คงยากเกินไป คนสมัยก่อนจึงพยายามทำให้กราฟเป็นมาตรฐานซึ่งเรียกว่า Standard Normal distribution แล้วสร้างตารางอ้างอิงสำเร็จรูปที่ได้คำนวณพื้นที่ใต้กราฟของจุดต่างๆ ไว้ให้แล้ว

Standard Normal Distribution

เราสามารถแปลงให้ กราฟ normal ที่มี µ (mean) และ σ (standard deviation) ใดๆ ก็ตามให้กลายเป็น การแจกแจงแบบปกติที่  µ (mean)  =  0   และ σ  =  1 และเปลี่ยนจากตัว x ให้กลายเป็นตัว z มันก็จะได้ผลลัพธ์เป็นกราฟ standard normal แทนครับ

โดยเราคำนวณค่า z ได้ดังนี้ z= (x-µ)/σ

คนสมัยก่อนก็เลยสามารถสร้างตารางอ้างอิงที่จะอธิบายได้ว่าค่า z แต่ละตัวเนี่ย มีความน่าจะเป็นเท่าไหร่บ้าง เช่น

ตัวอย่าง : สมมติการแจกแจงของคะแนนสอบปลายภาคของนักเรียนในโรงเรียนแจกแจงแบบ Normal โดยที่มี Mean = 60 SD =8 โดยที่ตัวเราได้คะแนน 70 ให้หาว่ามีนักเรียนกี่ % ที่คะแนนน้อยกว่าเรา

z = (x- mean / sd) = (70-60)/8

z = 1.25

สมัยเด็กๆ เราต้องเปิดตารางเทียบแบบนี้

จะได้ว่าพื้นที่น้ำเงิน = 0.3944

แต่ว่าจะหาว่ามีกี่ % ที่ได้คะแนนน้อยกว่าเรา ต้องอย่าลืมบวกพื้นที่ใต้กราฟฝั่งซ้ายอีก 0.5 ด้วย

ดังนั้น % นักเรียนที่ได้คะแนนน้อยกว่าเรา = 0.3944+0.5 = 0.8944 = 89.44% นั่นเอง

ถ้าทำด้วย Excel

ในโจทย์เดียวกัน ถ้าทำด้วย Excel เราสามารถใช้ฟังก์ชัน NORM.DIST ได้เลยโดยไม่ต้องมาทำเป็น Standard Z ด้วยซ้ำ

=NORM.DIST(x,mean,standard_dev,cumulative) =NORM.DIST(70,60,8,TRUE) =0.89435 = 89.435% นั่นเอง

หรือจะใช้ NORMS.DIST เพื่อใช้ค่า z แทน x, mean, sd ก็ได้

=NORM.S.DIST(z,cumulative) =NORM.S.DIST(1.25,TRUE) =0.89435 = 89.435% เท่ากันเป๊ะ

นั่นแปลว่าถ้ามี Excel แล้วเราก็ไม่ต้องไปแปลงให้เป็น z ก็ได้ครับ ใช้ NORM.DIST ได้เลย 555

ในทางกลับกัน หากอยากรู้ว่า ความน่าจะเป็น 89.435% นั้น เมื่อมี Mean =60, SD =8 แล้ว เทียบเท่ากับ X เท่าใด ก็ใช้ NORM.INV ได้เลย ง่ายมากๆ (INV= Inverse แปลว่ากลับด้าน)

=NORM.INV(probability,mean,standard_dev) =NORM.INV(0.89435,60,8) =69.99999 หรือ 70 นั่นเอง

สุ่มค่าจาก Normal Distribution

เราสามารถใช้ความรู้ของ NORM.INV มาประยุกต์ได้ โดย Random probability ที่มีค่าได้ตั้งแต่ 0-1 ด้วย RAND() นั่นเอง

สรุป สามารถทำได้ด้วยวิธีนี้

=NORM.INV(probability,mean,standard_dev) =NORM.INV(RAND(),mean,standard_dev)

เช่นผมลองสุ่มดังรูป 500 ครั้ง ผลลัพธ์ออกมาค่อนข้างเป็น Normal สวยงามเลยล่ะ

ตัวอย่างเพิ่มเติม

ตัวอย่าง : ใครเทพกว่า

ภาพประกอบจากการ์ตูนเรื่อง Attack on Titanนายเอเรน สอบได้คะแนน 60 คะแนนในวิชาต่อสู้ด้วยมือเปล่า ส่วนแจนสอบได้ 65 คะแนนในวิชาบังคับเครื่องเคลื่อนย้ายสามมิติ ทำให้แจนมาข่มเอเรนว่าผลสอบห่วยกว่าตัวเอง อาร์มินเพื่อนอีกคนเห็นไม่อยากเห็นเพื่อนทะเลาะกัน เลยไปหาข้อมูลเพิ่มเติมมาว่า

อาร์มินเลยคิด Percentile ของคะแนนสอบเอเรน และแจน โดยใช้ NORM.DIST ดังนี้

=NORM.DIST(x,mean,standard_dev,cumulative)

Percentile ของคะแนนสอบเอเรน

=NORM.DIST(60,70,10,TRUE) =15.87%

Percentile ของคะแนนสอบแจน

=NORM.DIST(65,80,15,TRUE) =15.87%

อาร์มินจึงสรุปให้ทั้งสองฟังได้ว่า ทั้งสองคนนั้นได้ Percentile เท่ากัน โดยที่กากเท่ากันทั้งคู่ ไม่ควรมาต้องทะเลาะกัน ดังนั้นเอเรนกับแจนจึงหยุดทะเลาะกัน (แล้วมาอัดอาร์มินแทน 555)

ตัวอย่าง : รู้แค่เลขขอบๆ ที่ 95%

สมมติน้ำหนักของพนักงานบริษัทจำนวน 95% อยู่ระหว่าง 50 kg และ 100 kg โดย assume ว่าเป็นการแจกแจงแบบ Normal Distribution ถ้าหากเรามีน้ำหนัก 70 kg จะหาว่าเราหนักเป็น Percentile ที่เท่าไหร่?

แบบนี้โจทย์ไม่ได้บอก Mean กับ SD มาตรงๆ แถมไม่ได้ให้ Data มาด้วย ดังนั้นต้องใช้ความรู้เรื่อง shape ของ normal มาช่วย

เรารู้ว่า Mean คือค่าที่อยู่ตรงกลางระหว่างขอบ 2 ตัว

SD นี่จะยากกว่า แต่ถ้าเอาแบบประมาณๆ ก็ยังง่าย เพราะเรารู้ว่า Normal Distribution พื้นที่ประมาณ 95% คือ Mean+- 2 SD ดังนั้น

หา Probability ด้วย NORM.DIST

=NORM.DIST(x,mean,standard_dev,cumulative) =NORM.DIST(70,75,12.5,TRUE) =34.46% ซึ่งก็คือ Percentile ด้วยนั่นเอง

แต่ถ้าเอาแบบเป๊ะมากขึ้น (ซึ่งไม่รู้จะเป๊ะทำไม เพราะค่าพื้นที่ 95% ก็คงประมาณมา 555) หรือจำไม่ได้ว่าพื้นที่ 95% คือ Mean+กี่SD ก็ให้ใช้ NORM.S.INV มาช่วย

แต่เราจะใช้ NORM.S.INV(95%) ตรงๆ ก็ไม่ได้อีก เพราะมันจะสะสมตั้งแต่ 0 เราต้องพลิกแพลงเป็น 2.5% แทน เพื่อเอาค่า z ฝั่งซ้ายมา

=NORM.S.INV(2.5%) = -1.959963985 ซึ่งคือค่า z ซึ่งเป็นตัวที่บอกว่าเลื่อนไปกี่เท่าของ sd นั่นเอง ดังนั้นข้อนี้เอาแบบเป๊ะๆ SD = (75-50)/1.9599 = 12.7557 นะ =NORM.DIST(70,75,12.7557,TRUE) =  34.75% นั่นเอง

ตอนต่อไป

พอเรามีความรู้เกี่ยวกับกราฟ Normal Distribution แล้ว ตอนต่อไปเราจะมาทำความรู้จัก Central Limit Theorem ซึ่งเป็นทฤษฎีสุดเจ๋งเกี่ยวกับกับการสุ่มตัวอย่างกันในบทถัดไป