อบรม 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 ด้วยน้าาาา)
ภาพรวมของสถิติ
Descriptive Statistics (สถิติเชิงพรรณนา) = การสร้างตัวเลขมาบรรยายลักษณะข้อมูลที่มีอยู่ในรูปแบบของผลสรุปต่างๆ ไม่ว่าจะมาจากข้อมูลทั้งหมดหรือมาจากกลุ่มตัวอย่างก็ตาม ซึ่งสามารถแบ่งการสรุปออกเป็น 2 กลุ่มใหญ่ๆ คือ
Central Tendency (แนวโน้มค่ากลาง) เช่น Mean (ค่าเฉลี่ยเลขคณิต), Median (มัธยฐาน)
Dispersion (การกระจาย) เช่น Standard Deviation (ส่วนเบี่ยงเบนมาตรฐาน)
Inferential Statistics (สถิติเชิงอนุมาน) = การนำข้อมูลจากตัวอย่างที่เก็บมาจำนวนน้อย ไปใช้อนุมาน (infer) เพื่อตอบคำถามเกี่ยวกับข้อมูลที่แท้จริงที่มีจำนวนมากกว่า ซึ่งเราไม่สามารถเก็บข้อมูลมาทั้งหมดได้จริงๆ โดยแบ่งเป็น
Estimation (การประมาณค่า) = การเอาข้อมูลจาก Sample ไปสรุปหรือประมาณค่าของข้อมูล Population
Hypothesis Testing (การทดสอบสมมติฐาน) = การใช้หลักการสถิติไปตอบคำถามที่เราสนใจ เช่น ยาตัวใหม่ได้ผลจริงๆ หรือแค่มโนไปเอง
นิยามของข้อมูลทางสถิติ
ข้อมูลทั้งหมดที่เราสนใจเรียกว่า Population (ประชากร) ถ้าเราเลือกที่จะเก็บข้อมูล Population ทั้งหมดเลยเราจะเรียกข้อมูลนั้นว่า Census และสิ่งที่เป็นตัวแปรวัดค่าของมันจะเรียกว่า Parameter (ใช้ตัวอักษรกรีก)
แต่ถ้าเราเก็บตัวอย่างมาบางส่วน (เนื่องจากเก็บหมดไม่ไหว) เราจะสิ่งที่เราเก็บมาว่า Sample (กลุ่มตัวอย่าง) และมีตัวแปรวัดค่าที่เรียกว่า Statistic (ใช้ตัวอักษรโรมัน)
ข้อมูลทางสถิตินั้นแบ่งได้เป็น 2 ประเภทใหญ่ๆ คือ
Qualitative Data เมื่อข้อมูลนั้นถูกจัดอยู่ในประเภท หรือหัวข้อ เช่น สีต่างๆ, ผ่าน หรือ ตก, ต่ำ กลาง สูง และสามารถแบ่งย่อยออกเป็น 2 ประเภทคือ
Nominal = เมื่อการเรียงของข้อมูลไม่มีความหมาย เช่น สีแดง เหลือง เขียว (การเรียงของสีไม่มีความหมาย)
Ordinal = เมื่อการเรียงข้อมูลมีความหมาย เช่น ต่ำ กลาง สูง, หรือ เกรด A-F เป็นต้น
Quantitative Data เมื่อข้อมูลนั้นสามารถนับหรือวัดได้ ซึ่งสามารถแบ่งย่อยออกเป็น 2 อย่างคือ
Discrete เมื่อข้อมูลนั้นวัดเป็นจำนวนเต็มได้เท่านั้น (สามารถนับเป็นชิ้นๆ ได้ เช่น จำนวนคนที่อยู่ในห้องเรียน)
Continuous เมื่อข้อมูลนั้นจะเป็นตัวเลขค่าอะไรก็ได้ (เช่น ส่วนสูง น้ำหนัก)
เอาล่ะเมื่อเห็นภาพรวมแล้ว ในตอนที่ 1 นี้เราจะมาเจาะลึกตัว Descriptive Statistics กัน และจะลองทำใน Excel กันด้วยครับ
ข้อมูลที่จะนำมาวิเคราะห์
ซึ่งข้อมูลก็ไม่มีอะไรมากครับ ให้ทุกคนสร้างเลข running 1-10 ใน Excel (โดยใส่ 1 แล้วคลิ๊กขวาที่ Fill Handle แล้วลากลงมา) จากนั้นให้เปลี่ยนเลขบางส่วนดังต่อไปนี้
เปลี่ยน 4 เป็นเลข 3
เปลี่ยน 8 เป็นเลข 7
เปลี่ยน 10 เป็น 100
สรุปจะได้ 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 : อันดับโดย คำนวณจาก k*(N-1)+1 โดยที่ N คือจำนวนข้อมูล
แบบ Exclusive : อันดับ คำนวณจาก k*(N+1) โดยที่ N คือจำนวนข้อมูล (นักสถิติมองว่าตัวนี้ตรงตามนิยามมากกว่า แต่มันจะมีปัญหากับ Percentile ที่ 0 กับ 100 ว่ามันจะ Error)
สำหรับคนที่สงสัยว่า Inclusive กับ Exclusive ต่างกันยังไง ลองดูคลิปที่ผมเคยทำไว้ได้ครับ
คลิปอธิบายความแตกต่างระหว่าง Inclusive กับ Exclusive
Quartile
คือการเรียงข้อมูลจากน้อยไปมาก แล้วแบ่งข้อมูลออกเป็น 4 ส่วน ถ้าเราอยู่ Quartile ที่ 3 แปลว่า มีข้อมูล 75% ที่น้อยกว่าเรา
=QUARTILE.INC(array,quart) // แบบ Inclusive หรือแบบที่เป็น =QUARTILE เฉยๆ =QUARTILE.EXC(array,quart) // แบบ Exclusive
โดยที่
Percentile ที่ 0 = Min (กรณี Inclusive)
Q1 = Percentile ที่ 25
Q2 = Percentile ที่ 50 = Median
Q3 = Percentile ที่ 75
Q4 = Percentile ที่ 100 = Max (กรณี Inclusive)
IQR (Interquartile Range)
คือการนำเอา Quartile 3- Quartile1
Box Plot หรือ Box and Whiskers Plot
เราสามารถเอาค่าพวก Mean และ Quartile มาแสดงเป็นกราฟที่เรียกว่า Box Plot ได้ ซึ่งเป็นกราฟที่สามารถแสดงการกระจายของข้อมูลได้ดีมากๆ อันดึงเลย แถมยังเหมาะกับการเปรียบเทียบการกระจายของข้อมูลหลายๆ กลุ่มได้ดีอีกด้วย
เราเอาค่า Q1, Q2, Q3 มาสร้างเป็นตัวกล่อง (Box)
คำนวณระยะมากสุดของแขนที่ยื่นออกมา (Whiskers) จาก Q1 และ Q3 ด้วยระยะทาง 1.5 เท่าของ IQR (บางที่อาจใช้ 3 เท่า)
อย่างไรก็ตามถ้าค่า Min กับ Max ไม่เกินระยะมากสุดของแขนที่คำนวณ เราก็จะเอาแขนยื่นออกไปเท่ากับค่า Min, Max นะครับ
ข้อมูลอะไรที่อยู่ไกลกว่าแขน Whiskers ที่ยื่นออกไป จะถูกมองว่าเป็น Outlier (ค่าที่น้อยหรือเยอะมากๆ เมื่อเทียบกับค่าอื่น) ซึ่งจะแสดงด้วยจุดแทนครับ
และบางทีก็จะเอาค่า Mean มา Plot ด้วยเครื่องหมายกากบาทด้วย
กราฟจะทำเป็นแนวนอนหรือแนวตั้งก็ได้ แล้วแต่ความชอบ 555
รูปเอามาจาก 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% เราก็จะรู้ว่าโอกาสมันน้อยมาก…
การเข้าใจความน่าจะเป็น จะช่วยให้เราตัดสินใจได้ดีขึ้น (กว่าไม่รู้) ซึ่งเรื่องนี้เป็นเรื่องที่มีประโยชน์มากๆ
บอกเลยว่าบทความนี้ยาวมาก แต่ผมก็ตั้งใจเขียนบทความนี้มากๆ เช่นกัน และอยากให้ออกมาดีที่สุดเท่าที่ทำได้ หวังว่าทุกคนจะได้ศึกษาจนเข้าใจและใช้มันได้อย่างสนุกสนานด้วยนะครับ
นิยามของคำที่เกี่ยวข้อง
การที่เราจะเข้าใจเรื่องความน่าจะเป็นนั้นเราจะต้องทำความรู้จักคำศัพท์ต่างๆ เหล่านี้ก่อน ดังนั้นมาลุยกันเลย!
Trial = การทดลอง หรือ การสังเกตการณ์ ซึ่งมักจะเป็นเหตุการณ์ที่เราไม่รู้แน่ชัดถึงผลลัพธ์ เช่น Trial คือการโยนเหรียญ การทอยลูกเต๋า การการดึงไพ่ เป็นต้น ซึ่งความน่าจะเป็นนั้นจะให้ความสนใจถึงผลลัพธ์ของ Trial นั้นๆ
Sample Space (S) = ผลลัพธ์ทั้งหมดที่เป็นไปได้ของ Trial
เช่น การโยนเหรียญ ซึ่งหน้าเหรียญที่เป็นไปได้มี 2 แบบ คือ h=หัว, t= ก้อย
ถ้า Trial เป็นการโยนเหรียญ 1 ครั้ง S ={h,t} คือมีทั้งหมด 2 แบบ
ถ้า Trail เป็นการโยนเหรียญ 2 ครั้ง S = {(h, h), (h, t), (t, h), (t, t)} ซึ่งจะมีทั้งหมด 4 แบบ
Events (E) = เหตุการณ์ใน Sample Space ที่เราสนใจ เช่น เหตุการณ์ที่เหรียญออกหัวอย่างน้อย 1 ครั้ง ในการโยนเหรียญ 2 ครั้ง คือ E={(h, h), (h, t), (t, h)} ซึ่งเป็นไปได้ 3 แบบ
ดังนั้น ความน่าจะเป็นของสิ่งที่เราสนใจ จะเขียนได้ว่า
Probability of Event หรือ P(E) = จำนวน Event E / จำนวน Sample Space = E/S
S = {(h, h), (h, t), (t, h), (t, t)} = 4 แบบ
E = {(h, h), (h, t), (t, h)} = 3 แบบ
ดังนั้น P(ออกหัวอย่างน้อย 1 ครั้งในการโยนเหรียญ 2 ครั้ง) = 3/4 = 0.75 หรือ 75% นั่นเอง
Counting Theory (กฎการนับ)
การที่จะคำนวณความน่าจะเป็นได้ดีแบบไม่ต้องมานั่งเขียนผลลัพธ์ที่เป็นไปได้ทีละตัวนั้น เราจะต้องนับ Event และ Sample Space ให้ถูกต้องโดยใช้หลักการต่างๆ เหล่านี้ให้เป็นเสียก่อน
กฏพื้นฐานของการนับ (Fundamental Principle of Counting)
มีกฎ หลักๆ 2 อันในการหาจำนวนผลลัพธ์ที่เป็นไปได้ คือ
ถ้าสิ่งที่ต้องทำมีหลายขั้นตอน ให้เอาจำนวนทางเลือกแต่ละขั้นตอนคูณกัน
ถ้าสิ่งที่ต้องทำเป็นไปได้หลายกรณี ให้เอาจำนวนผลลัพธ์ที่เป็นไปได้ในแต่ละกรณีบวกกัน (ระวังบวกเบิ้ลหากมีความเป็นไปได้ที่จะเกิดทั้ง 2 กรณีพร้อมกัน)
ตัวอย่าง : แต่งตัวเล่นละคร Titan
สมมติว่าในการเล่นละครเวทีคุณต้องเลือกว่าจะเล่นเป็นฝ่ายมนุษย์ หรือฝ่าย Titan (ยักษ์)
ถ้าเป็นฝ่ายมนุษย์ : จะมีเสื้อให้เลือก 4 แบบ กางเกง 2 แบบ
ถ้าเป็นฝ่าย Titan : จะเลือกใส่ชุดได้ 9 ชุด แต่ละชุดมี 3 สี
ถามว่ามีความเป็นไปได้ในการแต่งตัวเล่นละครเวทีทั้งหมดกี่แบบ?
แบบนี้จะเห็นว่ามี 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 ตามลำดับ ดังนั้นเราต้องเอารูปแบบแต่ละขั้นตอนมาคูณกัน
Slot 1 = มีให้เลือก 4 ตัว
Slot 2 = มีให้เลือก 3 ตัว (เพราะหยิบไปใส่ใน Slot 1 แล้วอันนึง)
Slot 3 = มีให้เลือก 2 ตัว
Slot 4 = มีให้เลือก 1 ตัว
ดังนั้นการคำนวณ = 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 ขั้นตอน คือ ขั้นตอนการเลือกผู้ชาย กับ ขั้นตอนเลือกผู้หญิง ดังนั้นต้องเอารูปแบบคูณกัน
ขั้นตอนการเลือกผู้ชาย = 10P3 ซึ่งใช้ Permutation เพราะลำดับของสีมีความสำคัญ =PERMUT(10,3)
ขั้นตอนการเลือกผู้หญิง = 7P2 ซึ่งใช้ Permutation เพราะลำดับของสีมีความสำคัญ =PERMUT(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 กัน ดังนี้ เช่น สมมติว่า
S คือ คนในบริษัททั้งหมด (Sample Space คือ สิ่งที่เป็นไปได้ทั้งหมด)
E คือ คนในบริษัทที่ใส่แว่น (Eye Glass)
F คือ คนในบริษัทที่เป็นผู้หญิง (Female)
เราสามารถใช้ความรู้นี้ประยุกต์ใช้ได้กับทั้งกฏการนับ และ ความน่าจะเป็นเลย (เพราะจริงๆ ก็คือแนวคิดเดียวกัน)
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 สำรับมี 52 ใบ (ไม่เอา Joker)
ประกอบด้วย 4 ชุด คือ ดอกจิก (clubs) ,โพธิ์ดำ (spades), ข้าวหลามตัด (diamonds), โพธิ์แดง หรือหัวใจ (hearts)
โดยที่ 2 ชุดแรกสีดำ, 2 ชุดหลังสีแดง (พูดง่ายๆ คือมีดำครึ่งนึง แดงครึ่งนึง)
แต่ละชุดมีไพ่ 13 ใบ คือ Ace, เลข 2-10, และอีก 3 หน้า แจค (jack), แหม่ม (queen), คิง (king)
ผมทำเป็นภาพสรุปไว้ให้ดังนี้
การคำนวนความน่าจะเป็น (หรือใช้กับกฎการนับก็ได้) เมื่อมีเหตุการณ์มากกว่า 1 เหตุการณ์
แบบเกิดอย่างน้อยเหตุการณ์ใดเหตุการณ์หนึ่ง (Union=OR)
หลักการคือเอาความน่าจะเป็นมารวมกัน แค่ว่าระวังว่าการรวมนั้นจะทำให้เบิ้ลหรือไม่ เช่น
กรณีที่เหตุการณ์ทั้งสองอย่างไม่สามารถเกิดพร้อมกันได้ (เรียกว่า Mutually Exclusive)
เมื่อไม่มีส่วนซ้ำ ก็จะบวกกันตรงๆ ได้เลย
P (E U F) = P(E) + P(F)
กรณีเหตุการณ์ทั้งสองอย่าง สามารถเกิดพร้อมกันได้
เพราะ E และ F มีส่วนซ้ำกัน ทำให้ถ้าบวกตรงแล้วเราจะนับเบิ้ลไป 1 ที จึงต้องเอาส่วนที่ซ้ำกันออกไป 1 ที (ให้หายเบิ้ล)
P (E U F) = P(E) + P(F) – P(E ∩ F)
ซึ่งจะเห็นว่า ถ้าเป็น Mutually Exclusive แล้ว P(E ∩ F) จะเท่ากับ 0 ทำให้ได้สูตรข้างบนนั่นเอง
แบบต้องเกิดทั้ง 2 เหตุการณ์ (Intersect=AND)
หลักการคือเอาความน่าจะเป็นมาคูณกัน เหมือนกับกฏการนับทั่วไปเลย ซึ่งขึ้นกับว่าเมื่อเกิดเหตุการณ์แรกไปแล้วเหตุการณ์ที่ 2 ที่จะเกิดขึ้นนั้น มีความน่าจะเป็นเปลี่ยนไปหรือไม่ ? ถ้าไม่เปลี่ยนก็ใช้ตัวเดิม (เรียกว่า Independent) ถ้าเปลี่ยน (เรียกว่า Dependent) ก็ต้องแก้ความน่าจะเป็นให้สอดคล้องกับความเป็นจริงนั้นๆ
กรณีเหตุการณ์ทั้งสองไม่ขึ้นต่อกัน (Independent)
เช่น หาความน่าจะเป็นของการโยนเหรียญ 2 ครั้งแล้วออกหัวทั้ง 2 ครั้ง จะได้ว่า
เรามีเหตุการณ์ที่เกิดขึ้น 2 อัน คือ E = การโยนเหรียญครั้งแรกได้หัว , F = การโยนเหรียญครั้งที่สองได้หัว
P(E) = P(ออกหัว) = 0.5
P(F) = P(ออกหัว) = 0.5
P(E ∩ F) = ความน่าจะเป็นที่ครั้งแรกและครั้งที่สองออกหัว = P(E) × P(F) = 0.5 x 0.5 = 0.25
กรณีที่เหตุการณ์นั้นขึ้นต่อกัน (Dependent) :
เช่น หาความน่าจะเป็นที่จะจั่วไพ่ Q 2 ครั้งติดกัน โดยไม่มีการใส่ไพ่คืน (การจั่วครั้งแรกมีผลต่อครั้งที่สองแน่นอน)
เรามีเหตุการณ์ที่เกิดขึ้น 2 อัน คือ E = การจั่วครั้งแรกได้ Q, F = การจั่วครั้งที่สองได้ Q
ซึ่งความน่าจะเป็นของการจั่วได้ Q = 4/52 (เพราะในไพ่ 52 ใบ นั้นมี Q 4 ตัว)
ดังนั้น P(E) = P(จั่วได้ Q) = 4/52 อันนี้ไม่มีอะไรแปลก
แต่สำหรับการจั่วครั้งที่สอง เราจะใช้ P(จั่วได้ Q) ซึ่งคือ ความน่าจะเป็นของการจั่วได้ Q เฉยๆ ไม่ได้ เพราะในความเป็นจริงโอกาสในการได้ Q ในครั้งที่สองมันเปลี่ยนไปแล้ว เป็น 3/51 (เพราะเหลือ Q3 ใบ จากไพ่ที่เหลือ 51 ใบ)
เราเรียกความน่าจะเป็นของการจั่ว Q ในครั้งที่สอง (ที่เปลี่ยนไปจากการจั่ว Q ไปครั้งแรกสำเร็จแล้ว)
ว่า P(จั่วQครั้งสอง | จั่ว Q ครั้งแรก) ซึ่งมีชื่ออย่างเป็นทางการว่า Conditional Probability นั่นเอง ในที่นี้ผมใช้ว่า P(F|E)
สูตรคือ P(E ∩ F) = P(E) × P(F|E)
สรุปแล้ว P(E ∩ F) = ความน่าจะเป็นที่จะจั่วไพ่ได้ Q 2 ครั้งติดกัน = P(E) × P(F|E) = 4/52 * 3/51 = 0.004525 หรือ 0.45% นั่นเอง
หากจริงๆ แล้วเหตุการณ์ E กับ F ไม่ขึ้นต่อกัน จะทำให้ P(F|E) เท่ากับ P(F) เฉยๆ
ทำให้ P(E ∩ F) = P(E) × P(F) เท่ากับกรณี Independent นั่นเอง
ตัวอย่าง 1 : จั่วไพ่ J Q K และสีดำ
ถ้าจั่วไพ่ออกมา 1 ใบจากสำรับ 52 ใบ จงหาโอกาสที่จะได้ไพ่ที่เป็นหน้า J Q K และมีสีดำ?
trial = การจั่วไพ่ 1 ใบจากสำรับ 52 ใบ
sample space = ไพ่ 52 ใบ ที่มีความน่าจะเป็นที่จะได้แต่ละใบเท่าๆ กัน
event = ไพ่ J, Q, K ที่มีสีดำ (ดอกจิก ไม่ก็โพธิ์ดำ) จึงมีที่ตรงตามต้องการแค่ 6 ใบ
probability = 6/52 = 0.1154 =11.54%
หรือจะคำนวนอีกวิธีได้ว่า
เนื่องจากทั้งสองอัน 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 หรือไพ่สีดำ?
trial = การจั่วไพ่ 1 ใบจากสำรับ 52 ใบ
sample space = ไพ่ 52 ใบ ที่มีความน่าจะเป็นที่จะได้แต่ละใบเท่าๆ กัน
event = ไพ่ J, Q, K 12 ใบ หรือ ไพ่ที่มีสีดำ 26 ใบ ก็ตรงตามต้องการ เนื่องจากทั้ง 2 เหตุการณ์มีส่วนซ้ำกันได้ทำให้ต้องหัก ไพ่ JQK ที่มีสีดำออก (มี6 ใบจากที่คิดในคำถามแรก) ทำให้เหลือไพ่ที่ตรงความต้องการ = 12+26-6 = 32 ใบ
probability = 32/52 = 0.615
หรือจะคำนวนอีกวิธีได้ว่า
กัน 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 โหล คือ โหล ก กับ ข แต่ละโหลใส่ลูกบอลสีแดงกับเขียวปนกัน
โหล ก มี 4 ลูก โอกาสได้บอลแดง 50%
โหล ข มี 10 ลูก โอกาสได้บอลแดง 30%
มีคนสลับโหลไปๆ มาๆ แล้วให้คุณหลับตาแล้วหยิบลูกบอลมั่วขึ้นมาลูกนึง ปรากฏว่าได้บอลสีแดง ถามว่าโอกาสที่คุณหยิบบอลมาจากโหล ข เป็นกี่ %
คุณคิดด้วย 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 (ได้สีแดง)
P(ได้สีแดง | หยิบจากโหล ข) คือ 3/10 อันนี้ง่ายมาก
P(หยิบจากโหล ข) = 10/14 เพราะมีบอลจากโหล ข 10 ลูก จากบอลทุกโหล 14 ลูก
P(ได้สีแดง) = ถ้านับเอาเราจะได้ 5/14 ซึ่งง่ายๆ เนอะ
แต่ถ้าในความจริงเรานับชิ้นไม่ได้ เช่นโจทย์อาจบอกมาเป็น 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(ชาย ∩ กทม) = 813/3134
P(ชาย) = 1724/3134
P(กทม|ชาย) = 813/1724 นั่นเอง
หรือจะมองอีกแบบก็ยังได้
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 ใบ แล้วเป็นสีดำ จงหาโอกาสที่มันจะเป็นไพ่ดอกจิก
trial = การจั่วไพ่ 1 ใบจากสำรับ 52 ใบ
sample space หลังจากการรู้ว่าเป็นสีดำ= ไพ่สีดำ มี 26 ใบ
event = ได้ไพ่ดอกจิก
probability = 13/26 = 0.5
หรือจะคำนวนอีกวิธีได้ว่า
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%
โอกาสที่จะเจอผู้ชายแปลงเพศ =P(ผู้ชายแปลงเพศ) = 5%
โอกาสที่จะเดินเจอคนสวย = P(เจอคนสวย) = 20%
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 มาแล้วได้ข้อมูลดังนี้
โอกาสที่ข้อความที่รู้ว่าเป็น Spam จะมีคำว่า Viagra อยู่นั้นคือ 70%
โอาสที่ข้อความที่รู้ว่าไม่ใช่ Spam จะมีคำว่า Viagra อยู่นั้นคือ 10%
โอกาสที่จะเจอข้อความเป็น Spam =P(Spam) = 80%
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 ด้วย แต่มันจะซับซ้อนกว่านี้เนอะ
แหล่งศึกษาความรู้เพิ่มเติม
Math E-Book ( kanuay.com ) มีสรุปเนื้อหา math และแบบฝึกหัดให้โหลดฟรี
https://www.youtube.com/results?search_query=probability
เดี๋ยวมาเติมให้นะ
ตอนต่อไป
เป็นไงบ้างครับกับเนื้อหาความน่าจะเป็นที่ผมเตรียมไว้ให้ ผมพยายามเขียนให้เข้าใจง่ายที่สุดเท่าที่ทำได้แล้ว หวังว่าจะพอเข้าใจนะครับ แต่ถ้าไม่เข้าใจอะไรตรงไหนก็ 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 Distributions : การแจกแจงความน่าจะเป็นแบบที่เหตุการณ์ที่สนใจนั้นสามารถนับแยกเป็นชิ้นๆ ได้(ไม่ได้มีค่าต่อเนื่องกัน) จึงสามารถ Plot กราฟเป็นแท่งๆ ได้เลย เช่น ใช้แจกแจงความน่าจะเป็นที่ที่ข้อสอบ 10 ข้อแล้วถูกต้อง 0,1,2,3,… 10 ข้อ ซึ่งจะได้กราฟ 10 แท่ง เป็นต้น ดังนั้นเราจะสามารถอ่านความน่าจะเป็นของเหตุการณ์ที่สนใจจากค่าแกน Y ได้เลยง่ายๆ
Continuous Probability Distributions : การแจกแจงความน่าจะเป็นแบบที่เหตุการณ์ที่สนใจนั้นไม่สามารถนับเป็นชิ้นๆ ได้ เพราะเลขมีค่าต่อเนื่องกัน เช่น การแจกแจงของน้ำหนักของคนในบริษัท น้ำหนักมันอาจเป็น 63.43 kg แบบนี้ได้ ซึ่งเป็นค่าต่อเนื่อง ทำให้การอ่านความน่าจะเป็นของกราฟที่ Plot ออกมาต้องอ่านจาก “พื้นที่ใต้กราฟ” แทน
ในบทความนี้เราจะมาเรียนรู้เรื่อง Discrete Probability Distribution กันก่อนนะครับ
Discrete Probability Distributions
เป็นการแจกแจงความน่าจะเป็นที่นับเป็นชิ้นๆ ได้ (ไม่ได้มีความต่อเนื่องกันจนแยกเป็นชิ้นไม่ได้) ซึ่งการที่เราเข้าใจ Distribution แบบนี้แล้ว จะทำให้เข้าใจที่มาที่ไปของ Distribution แบบ Continuous ที่เกิดขึ้นมากที่สุดในโลกที่มีชื่อว่า Normal Distribution ได้ด้วย
การแจกแจงความน่าจะเป็นแบบ Discrete ที่ผมจะขอพูดถึงมี 3 อัน คือ Bernoulli Distribution, Binomial Distribution, และ Poisson Distribution
Bernoulli Distribution
คือการแจกแจงความน่าจะเป็นที่มีผลลัพธ์ 2 แบบ คือ สำเร็จ (จริง) และ ล้มเหลว(เท็จ) โดยมีความน่าจะเป็นของความสำเร็จคือ P และล้มเหลวคือ (1-P)
มีค่า Mean = E(X)=P
มี Variance = var(X)= P*(1-P)
ตัวอย่าง การมั่วข้อสอบ 1 ข้อ (มี choice 4 อัน)
Mean = โอกาสที่จะสำเร็จ = 1/4 = 0.25
Variance = (0.25)*(1-0.25) = 0.25*0.75 = 0.1875
หมายเหตุ: Bernoulli Distribution ถือเป็นตัวพื้นฐานที่แทบใช้อะไรไม่ได้มากเพราะใช้ได้แค่กรณีมี Trial ครั้งเดียว แต่เดี๋ยวเราจะได้เรียนตัวถัดไปที่มีชื่อว่า Binomial Distribution ซึ่งใช้ได้กับกรณีที่มี Trial กี่ครั้งก็ได้ อันนี้สิเจ๋งจริง! (แปลว่าจริงๆ แล้ว Bernoulli Distribution ก็คือการใช้ Binomial Distribution แบบมี Trial 1 รอบนั่นเอง)
รูปการ Plot Bernoulli Distribution
เนื่องจากผลลัพธ์ของ Bernoulli Distribution เป็นไปได้แค่ 0=ไม่สำเร็จ, 1=สำเร็จ และมันมีแค่ Trial เดียว ดังนั้นผลลัพธ์ก็เลยมีแค่ 2 แท่งแบบ Basic ๆ นี่แหละ…
Binomial Distribution
เป็นการทดสอบคล้ายๆ Bernoulli ก่อนหน้านี้ แต่คราวนี้โดยทำซ้ำๆ กัน n ครั้ง
แต่ละครั้งมีผลลัพธ์ได้ 2 แบบ คือ สำเร็จ และ ล้มเหลว ความน่าจะเป็นของความสำเร็จ ในการทดลองแต่ละครั้งเท่ากัน คือ P
การทดลองแต่ละครั้งเป็นอิสระต่อกัน (Independent) นั่นคือ ผลการทดลองครั้งต่อไปไม่ได้ขึ้นกับผลในครั้งก่อนหน้า
ตัวอย่างเช่น มั่วข้อสอบ choice จำนวน 10 ข้อ แล้วดูว่าโอกาสถูก xx ข้อเป็นเท่าไหร่บ้าง
ดังนั้น Binomial Distribution เป็นการแจกแจงของจำนวนครั้งที่เกิดความสำเร็จ (X) ในการทดลอง Bernoulli trial ทั้งหมด n ครั้ง โดยมีความน่าจะเป็นของความสำเร็จคือ P
มีค่า Mean คือ n*P
มีค่า Variance คือ n * P * ( 1 – P )
เช่น มั่วข้อสอบ Choice จำนวน 10 ข้อ
มีค่า Mean คือ n*P = 10 * 1/4 = 2.5
มีค่า Variance คือ n * P * ( 1 – P ) = 10*1/4*3/4 = 1.875
การคำนวณ Binomial Probability หรือ ความน่าจะเป็นที่ความสำเร็จจำนวน X ครั้งจะเกิดขึ้น (ความน่าจะเป็นแต่ละแท่ง) มีสูตรดังนี้
b(x; n, P) = nCx * Px * (1 – P)n – x
สูตรดูเหมือนจะยุ่งๆ ยากๆ แต่จริงๆ แล้วที่มาที่ไปนั้น Make Sense ใช้ได้เลย เดี๋ยวมาดูการแทนค่ากันก่อน แล้วผมจะอธิบายที่มาของสูตรทีหลังนะครับ
ตัวอย่าง 1 : สมมติว่ามั่วข้อสอบ 10 ข้อ โอกาสที่ตอบถูก 6 ข้อพอดีคือเท่าไหร่?
มีการทดลอง 10 ครั้ง n= 10
จำนวนครั้งที่สำเร็จ X=6
โอกาสที่จะสำเร็จได้แต่ละครั้ง = P = 1/4
โอกาสที่ตอบถูก 6 ข้อพอดี = 10C6 * (1/4)^6 * (3/4)^4
โอกาสที่ตอบถูก 6 ข้อพอดี = 0.016222 = 1.62%
ซึ่งที่มาที่ไปของสูตร จริงๆ ก็มาจากเนื้อหาตอนที่แล้วนี่แหละ
จากสูตรนี้ 10C6 * (1/4)^6 * (3/4)^4 เดี๋ยวเรามาดูกันว่าที่มาที่ไปแต่ละตัวมาจากไหน
ทำข้อสอบ 10 ข้อ ตอบถูก 6 ข้อ แปลว่ามี 10 ขั้นตอน แล้วทำสำเร็จ 6 ขั้นตอน ไม่สำเร็จ 4 ขั้นตอน
ในครั้งที่สำเร็จ จำนวน 6 ครั้งนั้น แต่ละอันมีโอกาส 1/4 ดังนั้นโอกาสจะเป็น 1/4 คูณกัน 6 รอบ หรือ (1/4)^6
ในครั้งที่ไม่สำเร็จ จำนวน 4 ครั้งนั้น แต่ละอันมีโอกาส 3/4 ดังนั้นโอกาสจะเป็น 3/4 คูณกัน 4 รอบ หรือ (3/4)^4
มีรูปแบบ Pattern ทั้งหมด เหมือนการสลับเพื่อสร้างคำใหม่จาก S6ตัวF4 ตัว = 10!/6!4! = 10C6
Action ต้องทำต่อเนื่องกันดังนั้นก็เลยต้องเอาทุกตัวมาคูณกันทั้งหมด ก็เลยได้ว่า =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) ภายในขอบเขตหรือระยะเวลาที่กำหนด โดยมีจำนวนครั้งของความสำเร็จโดยเฉลี่ยภายในขอบเขตหรือระยะเวลาที่กำหนดดังกล่าว เท่ากับ μ (จริงๆ จะเอาสัญลักษณ์อะไรก็ได้นั่นแหละ)
มี Mean = μ
มี Variance = μ (เท่ากับ Mean)
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
Mean = ค่าเฉลี่ยตรงกลาง = (a+b)/2
Variance = 1/12 * (b-a)^2
ตัวอย่าง : หากเครื่องจักรของเราสามารถผลิตน้ำยาวิเศษได้วันละ 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 จาก Uniform Distribution ตั้งแต่ 0-2 ก็ใช้ RAND() *2 ได้
หากอยากจะ Random จาก Uniform Distribution ตั้งแต่ 3-5 ก็ให้เลื่อนจาก 0-2 ไป 3 ค่า โดย RAND()*2 + 3 นั่นเอง
สรุปสูตรโดยทั่วไป ถ้าอยากจะ 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 ไง) โดยมีลักษณะดังนี้
มีคุณสมบัติดังนี้
กราฟของฟังก์ชั่นเป็นรูประฆังคว่ำ (ผมว่าชอบคิดว่ามันเหมือนภูเขามากกว่า 555 )
มีจุดสูงสุดอยู่จุดเดียว (unimodal คือมี Mode เดียว ) ที่ x = µ
มีลักษณะสมมาตรโดยมีสมการ x = µ เป็นแกนสมมาตร (แบ่งพื้นที่ฝั่งละ 50%)
ค่า Mean = Median = Mode
มีค่า x ตั้งแต่ – ∞ ถึง + ∞
พื้นที่ใต้กราฟรวมกันทั้งหมด มีค่าเท่ากับ 1 (อันนี้เป็นจริงสำหรับกราฟ Continuous ทุกอันแหละ)
หากเราขยายช่วงค่า x ออกมาจากแกนกลาง
ข้างละ 1 sd จะกินพื้นที่รวมประมาณ = 68%
ข้างละ 2 sd จะกินพื้นที่รวมประมาณ = 95%
ข้างละ 3 sd จะกินพื้นที่รวมประมาณ = 99.7%
รูปร่างของ 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 คะแนนในวิชาบังคับเครื่องเคลื่อนย้ายสามมิติ ทำให้แจนมาข่มเอเรนว่าผลสอบห่วยกว่าตัวเอง อาร์มินเพื่อนอีกคนเห็นไม่อยากเห็นเพื่อนทะเลาะกัน เลยไปหาข้อมูลเพิ่มเติมมาว่า
วิชาต่อสู้ด้วยมือเปล่า มีคะแนนเฉลี่ยอยู่ที่ 70 และมี SD ที่ 10
วิชาบังคับเครื่องเคลื่อนย้ายสามมิติ มีคะแนนเฉลี่ยอยู่ที่ 80 และมี SD ที่ 15
อาร์มินเลยคิด 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 ตัว
ดังนั้น Mean = AVERAGE(50,100) = 75 อันนี้ไม่ยากอะไร
SD นี่จะยากกว่า แต่ถ้าเอาแบบประมาณๆ ก็ยังง่าย เพราะเรารู้ว่า Normal Distribution พื้นที่ประมาณ 95% คือ Mean+- 2 SD ดังนั้น
75-2SD = 50
SD = (75-50)/2 = 12.5
หา 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 ซึ่งเป็นทฤษฎีสุดเจ๋งเกี่ยวกับกับการสุ่มตัวอย่างกันในบทถัดไป