Weerapat Satitkanitkul, PhD

Weerapat Satitkanitkul, PhD

Formal Senior Data Scientist at Big Data Institute (Public Organization), BDI

บทความทั้งหมด

All Articles

Author Category Post Filter
โมเดลของคุณเมพ (MAPE) แค่ไหน: 2 วิธีวัดผลความแม่นยำโมเดล
บทความนี้ เราจะคัดเลือกตัวชี้วัด (Metrics) บางตัว ที่ใช้ในการวัดผลของโจทย์การวิเคราะห์ในประเภท Regression (เช่น ทำนายรายได้ ทำนายความต้องการใช้ไฟฟ้า) ทั้งตัวชี้วัดมาตรฐาน (เช่น MSE, RMSE, MAE, MAPE, sMAPE ฯลฯ)  และ ตัวชี้วัดที่ปรับตามบริบทการใช้งาน เพื่ออธิบายถึงวิธีการคำนวณ ข้อดีข้อเสีย และวิธีการเลือกใช้กันนะครับ
11 July 2023
Simpson’s Paradox: ตัวแปรแฝงที่เปลี่ยนแปลงข้อสรุป กับ 2 กรณีตัวอย่างที่น่าเหลือเชื่อ
Simpson’s Paradox คืออะไร? ความขัดแย้งของซิมป์สัน  (Simpson’s Paradox) เป็นปรากฏการณ์ทางสถิติ ที่เกิดขึ้นในกรณีที่แนวโน้มของข้อมูลมีทิศทางสลับด้านกันเมื่อมีการแบ่งกลุ่มของข้อมูลย่อย โดยในบทความนี้ผู้เขียนจะนำเสนอตัวอย่างที่น่าสนใจในการการสรุปข้อมูลจากข้อมูลชุดเดียวกัน แต่สามารถได้ข้อสรุปที่ตรงกันข้ามกัน Case Study 1: เคสการอคติทางเพศของ UC Berkeley (Dexter, 2017) เมื่อปี 1973 มหาวิทยาลัย UC Berkeley มีประเด็นเรื่องการมีอคติทางเพศ เนื่องจากเมื่อดูสถิติการรับนักศึกษาเข้าแล้ว มีนักเรียนเพศหญิงเพียง 35% (จาก 4321 คน) ที่ได้รับการคัดเลือกเพื่อเข้าเรียน แต่นักเรียนเพศชายกลับได้รับคัดเลือกเพื่อเข้าเรียนถึง 44% (จาก 8442 คน) จึงกลายเป็นประเด็นทางสังคมในเรื่องความไม่เท่าเทียมทางเพศ ต้นตอของความไม่เท่าเทียมอยู่ที่ไหน? ซึ่งเมื่อทางมหาวิทยาลัย UC Berkeley ได้เห็นข้อมูลนี้ แล้วจึงได้ทำการสืบค้นข้อมูลเพิ่มเติม เพื่อทีจะชี้เป้าว่าภาควิชาใด ที่เป็นต้นตอของความไม่เท่าเทียมทางเพศในครั้งนี้ จากนั้นจึงได้เผยข้อมูลสรุปสำหรับ 6 ภาควิชา ที่มีจำนวนผู้สมัครมากที่สุดได้ดังนี้ การสรุปข้อมูลในแง่มุมนี้ได้ให้ข้อสรุปที่แตกต่างกัน โดยสามารถสรุปได้ว่ามีทั้งหมด 4 ภาควิชา (จาก 6) ที่มีอัตราส่วนการรับนักเรียนเพศหญิงสูงกว่าอัตราส่วนการรับนักเรียนเพศชาย ซึ่งขัดแย้งกับแนวโน้มภาพรวมที่อัตราการรับนักเรียนชายสูงกว่า ทำไมข้อมูลถึงขัดแย้งกัน? โดยที่คำถามต่อไปที่น่าสนใจก็คือ เกิดอะไรขึ้นกับข้อมูลชุดนี้ ? ในกรณีนี้เราอาจจะเรียกว่ามีตัวแปรแฝง (Lurking Variable) ซึ่งในกรณีนี้คือ “ภาควิชา” โดยผู้อ่านสามารถสังเกตได้ว่าภาควิชา A มีอัตราการรับที่สูงมาก (82% ของนักเรียนหญิงที่สมัครภาควิชานี้) แต่มีจำนวนนักเรียนหญิงที่สมัครเข้าภาควิชา A เพียง 108 คน (คิดเป็น 2% ของนักเรียนหญิงที่สมัครทั้งหมด) แต่มีจำนวนนักเรียนชายที่สมัครเข้าภาควิชา A อยู่ถึง 825 คน (คิดเป็น 10% ของนักเรียนชายที่สมัครทั้งหมด) ในทางกลับกัน ภาควิชา F นั้นมีอัตราการรับนักศึกษาต่ำนั้นมีผู้สมัครที่เป็นนักเรียนหญิง 341 คน (คิดเป็น 8% ของนักเรียนหญิงที่สมัครทั้งหมด) แต่มีผู้สมัครที่เป็นนักเรียนชายเพียง 373 คน (คิดเป็น 4% ของนักเรียนชายที่สมัครทั้งหมด) ดังนั้นเมื่อทำการวิเคราะห์จากข้อมูลสถิตินี้ อาจะสรุปได้ว่า ผู้สมัครเพศหญิงมีแนวโน้มที่จะสมัครเข้าภาควิชาที่มีอัตราการคัดเลือกเข้าเรียนต่ำ (ภาควิชา F) แต่ผู้สมัครเพศชายมีแนวโน้มที่จะสมัครเข้าภาควิชาที่มีอัตราการคัดเลือกเข้าเรียนสูง (ภาควิชา A) จึงเป็นสาเหตุให้เกิด Simpson’s Paradox ในครั้งนี้ Case Study 2: การสูบบุหรี่ทำให้อายุยืน (David R. Appleton, 1996) ในปี ค.ศ. 1996 ได้มีงานวิจัยที่ประเทศอังกฤษ โดยทำการศึกษาเปรียบเทียบอัตราการรอดชีวิต 20 ปี ระหว่างกลุ่มตัวอย่างที่สูบบุหรี่ และกลุ่มที่ไม่สูบบุหรี่ โดยคณะผู้วิจัยพบว่ากลุ่มตัวอย่างที่สูบบุหรี่ นั้นมีอัตราการมีชีวิตรอด (ไม่เสียชีวิตภายใน 20 ปี) สูงกว่ากลุ่มตัวอย่างที่สูบบุหรี่ (76% สำหรับผู้สูบบุหรี่ และ 69% สำหรับผู้ไม่สูบบุหรี่) ในเบื้องต้นนั้นจะสามารถสรุปได้ว่าการสูบบุหรี่นั้นทำให้มีอายุยืนมากขึ้น ตัวแปรแฝงอยู่ที่ไหน? แน่นอนว่าข้อสรุปเบื้องต้นที่ได้นั้นค่อนข้างตรงกันข้ามกับสิ่งที่เรารู้และเข้าใจกัน ในกรณีนี้เราวิเคราะห์แบบเจาะลึก (Drill Down) ว่าสาเหตุที่แท้จริงที่ทำให้ข้อมูลออกมาเป็นลักษณะใด เพื่อที่จะค้นหา ผู้ร้ายตัวจริง (Lurking Variable) โดยนำกลุ่มตัวอย่างมาแบ่งเป็น 2 กลุ่มอายุ (18-65 ปี และ 65 ปีขึ้นไป) จะสามารถระบุสาเหตุเบื้องหลังแท้จริงนั้นเป็นที่การกระจายตัวของอายุในกลุ่มตัวอย่าง เมื่อวิเคราะห์แบบจำแนกกลุ่มอายุตามตารางด้านบน จะพบว่ากลุ่มที่ไม่สูบบุหรี่นั้น มีอัตราการรอดชีวิตสูงกว่ากลุ่มที่สูบบุหรี่ในทั้งสองกลุ่มอายุ ซึ่งตรงกันข้ามกับข้อสรุปเมื่อทำการพิจารณาจากภาพรวม ความขัดแย้งเชิงข้อมูลในกรณีนี้เกิดจากความเอนเอียงในการสุ่มตัวอย่าง (Sampling Bias) โดยจะพบว่ากลุ่มตัวอย่างที่ไม่สูบบุหรี่นั้นมีสัดส่วนที่ของผู้มีอายุเกิน 65 ปีถึง 26% แต่กลุ่มที่สูบบุหรี่มีสัดส่วนของผู้ที่มีอายุเกิน 65 ปีอยู่เพียง 8% ดังนั้นอัตราการรอดชีวิตของกลุ่มที่ไม่สูบบุหรี่จึงมีน้อยกว่า ในการวิเคราะห์แบบภาพรวม ข้อสรุปและวิธีการหลีกเลี่ยง Simpson’s Paradox ในปัจจุบันข้อมูลนั้น ถือเป็นสินทรัพย์ที่มีค่าสำหรับหลาย ๆ องค์กรในการตัดสินใจโดยการขับเคลื่อนด้วยข้อมูล (Data-Driven Decision Making) ซึ่งบทความนี้ ได้ทำการแสดงกรณีตัวอย่างของการแสดงผลของข้อมูล ให้ตรงกันข้ามกันกับความเป็นจริง เพื่อลดความเสี่ยงในการตีความผิดพลาดที่เกิดจาก Simpson’s Paradox ผู้วิเคราะห์ข้อมูลควรจะทำการหาตัวแปรแฝง (Lurking Variables) โดยพิจารณาสิ่งต่อไปนี้ แหล่งอ้างอิงเพิ่มเติม
3 April 2023
เทคนิคการ Feature Engineering จากพิกัดละติจูด ลองจิจูด
ในปัจจุบัน เราจะพบข้อมูลพิกัดบอกตำแหน่ง ละติจูด (Latitude) และลองจิจูด (Longitude) เป็นจำนวนมาก โดยการนำไปใช้ประโยชน์เชิงวิเคราะห์นั้น หากเลือกใช้ ละติจูด และลองจิจูดเป็นสองตัวแปรแยกกันมักจะได้ผลออกมาแล้วตีความยาก ในบทความนี้จะทำการอธิบายและนำเสนอตัวอย่างวิธีการ Feature Engineering จากข้อมูลพิกัดจุด การเลือกใช้ ละติจูด และลองจิจูดเป็นสองตัวแปรแยกกันมักจะได้ผลออกมาแล้วตีความยาก การสร้าง Feature จากข้อมูลพิกัดจุด (Geospatial Data) นั้นจำเป็นต้องใช้ความเข้าใจในความสัมพันธ์จากบริบทของภูมิศาสตร์ กับโจทย์ปัญหาที่เราต้องการแก้ เช่น หากโจทย์ต้องการทำนายราคาบ้าน เราอาจจะเริ่มด้วยการคิดว่ามีปัจจัยใดบ้างที่มีผลต่อราคา เช่น ระยะทางจากสถานีรถไฟฟ้า, ระยะทางจากศูนย์กลางเมือง, ระยะห่างจากทะเล เป็นต้น ดังนั้นเราจะต้องแปลงปัจจัยดังกล่าวให้เป็นตัวเลขเพื่อนำไปใช้ในการวิเคราะห์ และนำไปใช้ประโยชน์ได้ ในบทความนี้ เราจะยกตัวอย่างการใช้ข้อมูลพิกัดจุดเพื่อใช้ทำนายราคาบ้านโดยใช้ข้อมูล Kaggle California Housing Prices ในการวิเคราะห์ ซึ่งเป็นข้อมูลสำรวจ Census ในปี 1990 แต่ละระเบียนจะเป็นข้อมูลของสิ่งปลูกสร้าง 1 บล็อก ในชุดข้อมูลนี้จะมีข้อมูลอยู่ทั้งหมด 10 คอลัมน์ แต่เราจะเลือกใช้แค่ 4 คอลัมน์ ได้แก่ รูปภาพประกอบในบทความนี้สามารถสร้างได้จากชุดคำสั่งใน Python ซึ่งผู้อ่านสามารถทำตามได้จาก House Value California: Feature Engineering หากเรานำพิกัดจุดมาใช้โดยตรงนั้นจะไม่ค่อยได้ประโยชน์เท่าไหร่ เพื่อให้เห็นภาพชัดเจนเราจะใช้ scatter plot ระหว่างตัวแปรและค่าราคาบ้าน จะเห็นได้ว่าตัวแปรละติจูดและลองจิจูด นั้นไม่ได้มีความเกี่ยวข้องกับราคาบ้านที่ชัดเจน ดังนั้นเราอาจจำเป็นต้องผ่านกระบวนการอื่นเพิ่มเติมก่อนที่จะนำในการนำตัวแปรสองตัวนี้ไปใช้ประโยชน์ได้ การใช้ Diagonal เพื่อประเมินระยะห่างจากชายฝั่ง จาก Fig.2 จะมองเห็นได้ชัดเจนว่าบ้านที่อยู่ใกล้กับชายฝั่งจะมีราคาแพงมากกว่าบ้านที่อยู่ห่างจากชายฝั่ง โดยเราสามารถแปลความใกล้กับชายฝั่งได้แบบง่ายๆ โดยการนำเอาพิกัดละติจูดและลองจิจูดมาบวกกันเป็น Feature ใหม่ที่ชื่อว่า Diagonal เมื่อย้อนกลับไปดูที่ Fig. 2 จะสามารถเห็นได้ว่าถ้าผลบวกน้อยจะใกล้ชายฝั่ง (เส้นสีเขียว) ถ้าผลบวกมากจะอยู่ห่างจากชายฝั่ง (เส้นส้ม) [1] จะเห็นได้ว่า Diagonal นั้นมีความสัมพันธ์กับราคาบ้านที่ชัดเจนขึ้นและสอดคล้องกับ Label ที่ได้มาจากคอลัมน์ ocean_proximity การคำนวณ Diagonal นั้นมีข้อดีที่ใช้ง่ายและสามารถมองเห็นได้ด้วยตาเปล่า แต่อาจจะต้องปรับการใช้ตามลักษณะรูปร่างขอเมือง ในกรณีนี้สามารถใช้ได้ดีเป็นกรณีพิเศษเนื่องจากรัฐ California มีลักษณะเป็นแนวเส้นเฉียงจากซ้ายบนลงขวาล่าง (ตามรูป) โดยในประเทศไทยนั้นมีจังหวัดที่มีรูปร่างที่เหมาะกับการใช้ Diagonal ได้แก่ กระบี่, ตรัง และสตูล เป็นต้น การใช้ Principal Component Analysis ในส่วนนี้เราจะนำการใช้ Principal Component Analysis [3]เพื่อนำแนวความคิดของการใช้ diagonal มาใช้กับเมืองที่อยู่ติดชายฝั่ง แต่อาจจะไม่ได้เฉียงจากซ้ายบนลงขวาล่าง โดยจังหวัดในประเทศไทยที่เข้าข่ายนี้ ได้แก่ ชลบุรี และ ประจวบครีขันธ์ การใช้ Principal Component Analysis (PCA) นั้นจะให้ตัวโปรแกรมหาแกนที่เหมาะสมให้เราเอง โดยหลักการคร่าวๆนั้นตัวโปรแกรมจะทำการลากเส้นบนแผนที่ (ตาม Fig.4) แล้วเลือกแกนที่มีการกระจายตัวของข้อมูลมากที่สุดเป็น PCA 1 และเลือกแกนที่ตั้งฉากกันเป็น PCA 2 จะเห็นได้ว่าค่าของ PCA 2 ที่ได้มานั้นจะมีค่าสูงเมื่อบ้านอยู่ห่างจากชายฝั่ง และต่ำเมื่อบ้านอยู่ใกล้ชายฝั่ง จึงทำให้นำมาใช้แทน Diagonal ได้ แต่วิธีการนี้ก็ยังมีข้อจำกัดอยู่ที่ว่าสามารถใช้ได้กับเมืองที่มีลักษณะเป็นแนวเฉียงเท่านั้น ซึ่งในกรณีอื่นนั้นอาจจะนำความรู้เรื่องตำแหน่งของใจกลางเมืองมาช่วยในการสร้าง Feature เพื่อนำมาใช้ประโยชน์ได้ การใช้ระยะห่างจากเมืองใหญ่ ย้อนกลับไปที่ Fig. 2 เราอาจสังเกตได้ว่าบ้านที่มีราคาสูงจะกระจุกตัวอยู่ใกล้ตัวเมือง Los Angeles และ San Francisco ซึ่งค่อนข้างสมเหตุสมผล เนื่องจากมีระยะใกล้กับสิ่งอำนวยความสะดวกและสถานที่ทำงานมากกว่า ทำให้มีความราคาแพงกว่าบ้านที่อยู่ห่างจากตัวเมือง ในกรณีนี้เราอาจจะเลือกใช้ระยะห่างจากเมืองใหญ่ถึงบ้านใช้เป็น feature ที่ใช้ในการทำนายราคาบ้านได้ โดยการคำนวณระยะทางจากพิกัดละติดจูด และ ลองจิจูด ตามหลักแล้วจะต้องใช้ฟังก์ชั่น Haversine (มีฟังก์ชั่นสำเร็จรูปใน Python – คู่มือการใช้) เพื่อการคำนวณให้แม่นยำ แต่ในกรณีนี้เราใช้เพื่อนำมาทำ Feature Engineering อาจจะไม่ต้องการความแม่นยำมาก เราอาจจะใช้สูตรพิทาโกรัส เพื่อคำนวณระยะห่างแบบง่ายๆ โดยเราจะเลือกใช้ระยะทางจากเมืองที่อยู่ใกล้บ้านที่สุดมาใช้คำนวณได้ สรุปผล การทำ Feature Engineering นั้น สิ่งที่จะต้องคำนึงถึงเป็นอย่างแรกคือลักษณะรูปร่างของเมืองและความสัมพันธ์ของข้อมูล ในบทความนี้เราได้ยกตัวอย่างรัฐ California ซึ่งมีลักษณะเฉพาะตัว โดยได้ยกตัวอย่างการทำ Feature Engineering อยู่ 3 วิธีคือ Diagonal, Principal Component Analysis และ การใช้ระยะห่างจากเมืองใหญ่ โดยเน้นวิธีการที่สามารถตีความได้ง่ายและไม่ซับซ้อน โดยในบางกรณีการนำข้อมูล Geospatial ไปใช้ยังมีวิธีอื่นที่ไม่ได้รวมไว้อยู่ในบทความนี้ เช่น Clustering, geohash [6] โดยผู้ทำการวิเคราะห์สามารถเลือกใช้ให้เข้ากับบริบทของโจทย์ อ้างอิง
28 July 2022
Bayesian Trap: กับดักจากความแม่นยำ
ถ้าหากว่าคุณเข้ารับการตรวจเลือด เพื่อวินิจฉัยโรค ๆ หนึ่ง แล้วผลออกมาเป็นบวก…คำถามที่เราอาจจะสงสัยคือว่า โอกาสที่เราจะเป็นโรคนั้นจริง ๆ เป็นเท่าไหร่? เราจะมาลองทำการคำนวณค่าความน่าจะเป็นนี้กัน และทำความรู้จักกับ Bayesian Trap เพื่อเสริมสร้างความเข้าใจของเราในการตีความค่าความแม่นยำ (accuracy) ให้ได้ลึกซึ้งมากยิ่งขึ้น กรณีตัวอย่าง (Case Study) : กับดักของเบย์เซียน (Bayesian Trap) ในกรณีที่ผลตรวจเลือดของเราเป็นบวก เพื่อที่จะหาค่าความน่าจะเป็นที่เราจะเป็นโรคนี้จริงๆ เราจำเป็นที่จะต้องรู้ความแม่นยำของผลตรวจเลือดครั้งนี้ก่อน ถ้าหากเรารู้ว่าผลเลือดนี้มีความแม่นยำเป็น 99% หลาย ๆ ท่านอาจจะคิดว่า เราจะมีโอกาสเป็นโรคนี้ถึง 99% ซึ่งในความเป็นจริงแล้วอาจจะไม่ใช่แบบนั้น เนื่องจากว่าเราไม่ได้คำนึงความเป็นไปได้ที่เราจะเป็นโรคนี้ แต่ผลตรวจให้คำตอบที่ผิดคือ ให้ผลตรวจเป็นผลบวกแทนที่จะเป็นผลลบ ซึ่งทำให้เราจะต้องพิจารณาสัดส่วนของประชากรที่เป็นโรคและไม่เป็นโรค โดยปรากฏการณ์นี้เรียกว่า Bayesian Trap ก่อนที่จะทำการคำนวณความน่าจะเป็นนั้น อยากให้ทุกท่านลองพิจารณาดังภาพข้างล่างเพื่อประกอบการอธิบาย ถึงแม้ว่าผลตรวจเลือดจะมีความแม่นยำถึง 99% แต่เนื่องจากมีจำนวนคนที่ไม่เป็นโรคอยู่เป็นจำนวนมาก อาจจะทำให้เรามีโอกาสที่สูงขึ้นที่จะอยู่ในกลุ่มคนสีส้ม (คือกลุ่มคนที่ไม่เป็นโรคแต่มีผลเลือดเป็นบวก) แทนที่เป็นกลุ่มคนสีฟ้า (คือ กลุ่มคนที่เป็นโรคและมีผลเลือดเป็นบวก) จากรูปด้านบน เมื่อเราได้รับผลตรวจเป็นบวก ค่าความน่าจะเป็นที่คุณจะเป็นโรคนี้จะสามารถคำนวณได้ด้วยอัตราส่วน คือ จำนวนกลุ่มคนที่เป็นโรคและมีผลเลือดเป็นบวก (กลุ่มคนสีฟ้า) ต่อจำนวนกลุ่มคนทั้งหมดที่มีผลเลือดเป็นบวก (กลุ่มคนสีส้มและกลุ่มคนสีฟ้า) เพื่อความสะดวกในการคำนวณ สมมติว่าเรามีกลุ่มคนอยู่ 10,000 คน และมีคนที่เป็นโรคนี้อยู่เพียงแค่ 10 คน คนที่ได้รับผลตรวจเลือดเป็นบวก จะมีอยู่สองกลุ่มคือ ดังนั้นหากเราพิจารณาจากกลุ่มคนที่มีผลตรวจเลือดเป็นบวกข้างต้น เราจะมีโอกาสที่จะเป็นโรคนี้จริง ๆ อยู่ที่ประมาณ 10/110 หรือประมาณ 9% เท่านั้น ซึ่งหมายความว่าความแม่นยำของการทดสอบที่เป็น 99% ตามที่ระบุไว้ในตอนแรกนั้นอาจจะไม่ใช่ตัวเลขที่เหมาะสมในการนำไปใช้ หลักการทางเบย์เซียน (Bayesian) หลักการที่ได้ใช้อธิบายไว้ในข้างต้นเป็นตัวอย่างเบื้องต้นของการอนุมานแบบเบย์เซียน (Bayesian Inference)   โดยหลักการแล้ว จะใช้ 2 องค์ประกอบในการพิจารณา คือ เมื่อทำการคำนวณเสร็จแล้ว เราจะได้ความรู้หลังประสบการณ์ (Posterior Knowledge) ซึ่งถือว่าเป็นคำตอบของการทำ Bayesian Inference ครับ เช่นกรณีการตรวจโรคข้างต้น เราจะได้คำตอบเป็นค่าความน่าจะเป็นของการที่ผู้ที่ได้รับผลตรวจเป็นบวกนั้นจะเป็นโรคจริงๆครับ ในการอนุมานแบบเบย์เซี่ยน (Bayesian) เราจะใช้สมการของเบย์ (Bayes’ Equation) ในการหาข้อสรุปจากข้อมูลที่เราได้รับ โดยมีพื้นฐานมาจากสมการทางคณิตศาสตร์ดังนี้ [latexpage] $$\mathbb{P}(A|B) = \frac{\mathbb{P}(B|A)\mathbb{P}(A)}{\mathbb{P}(B)} $$ โดยที่ $A$ คือ เหตุการณ์ (event) ที่ใช้อธิบายถึงคำตอบที่แท้จริงของเหตุการณ์ที่เราสนใจ เช่น เป็นโรค, ไม่เป็นโรค $B$ คือ เหตุการณ์ (event) ที่ใช้อธิบายข้อมูลที่เราได้รับ เช่น ผลตรวจเลือดเป็นบวก, ลบ นอกจากเราสามารถตีความแต่ละเทอมในสมการได้ดังต่อไปนี้ครับ: Posterior Probability หรือ $\mathbb{P}(A|B)$ เป็นค่าความน่าจะเป็นของคำตอบที่เราสนใจหลังจากได้พิจารณาข้อมูลเพิ่มเติมแล้ว เช่น ค่าความน่าจะเป็นที่เราจะเป็นโรค หลังจากได้รับผลตรวจเลือดเป็นบวก Likelihood หรือ $\mathbb{P}(B|A)$ เป็นค่าความน่าจะเป็นที่เราจะได้ข้อมูลนี้ ในกรณีที่ event $A$ เป็นจริง เช่น ค่าความน่าจะเป็นที่ได้ผลตรวจเลือดเป็นบวกในกรณีที่เราทราบว่าเป็นโรคนี้อยู่แล้ว Prior Probability หรือ $\mathbb{P}(A)$ เป็นค่าความน่าจะเป็นที่ของคำตอบที่เราสนใจก่อนที่จะได้รับข้อมูลนี้ เช่น สัดส่วนของคนที่เป็นโรคนี้ในประชากรโรคทั้งหมด Marginalization หรือ $\mathbb{P}(B)$ เป็นโอกาสที่เราจะได้ข้อมูลชุดนี้ขึ้นมา เช่น ค่าความน่าจะเป็นที่จะได้ผลตรวจเลือดเป็นบวก สถิติแบบเบย์เซียนนั้นถูกตั้งชื่อตามนักสถิติชาวอังกฤษที่ชื่อว่า Thomas Bayes โดยแนวคิดของศาสตร์แขนงนี้ได้ถูกอ้างอิงมาจากบทความที่ชื่อว่า An Essay towards solving a Problem in the Doctrine of Chances ในปี 1963 ในบทความนี้ได้อธิบายถึงขั้นตอนการเปลี่ยนแปลงความเชื่อของเราผ่านทางข้อมูลที่เราได้รับ แนวคิดสถิติแบบเบย์เซียนต่างจากสถิติแบบความถี่ที่เราเคยเรียนมาอย่างไร แนวคิดแบบเบย์เซียน (Bayesian) จะค่อนข้างแตกต่างจากสถิติในแบบความถี่ (frequentist)  ที่เราเคยเรียนมา ตรงที่การตีความของค่าความน่าจะเป็น โดยฝั่ง frequentist นั้นจะมองว่าความน่าจะเป็นขึ้นอยู่กับความถี่ของการเกิดเหตุการณ์ต่าง ๆ แต่ฝั่งของ Bayesian นั้นมองว่าความน่าจะเป็นคือความของเราเกี่ยวกับเหตุการณ์ที่เราสนใจและความรู้ของเรานั้นสามารถเปลี่ยนแปลงได้ทุกครั้งที่เราได้หลักฐานเพิ่มเติมผ่านการอนุมานแบบเบย์เซียน (Bayesian Inference) โดยส่วนใหญ่แล้วสถิติแบบ Frequentist นั้นจะเน้นการวิเคราะห์ผ่านทาง Likelihood เป็นหลัก นั่นหมายความว่าเราจะได้คำตอบที่อธิบายข้อมูลได้ดี ในทางกลับกันสถิติแบบ Bayesian นั้นจะต้องคำนึงถึงความรู้เบื้องต้น (Prior Knowledge) ด้วย การวิเคราะห์แบบเบย์เซียนนั้นอาจฟังสมเหตุสมผลกว่าสถิติแบบความถี่ แต่ในทางปฎิบัติแล้วอาจจะมีข้อจำกัดอยู่บางประการ เช่น ถึงแม้ว่าจะมีข้อจำกัดที่กล่าวมาข้างต้น เรายังสามารถนำสถิติแบบ Bayesian ไปใช้ได้ดีในกรณีที่อุปกรณ์การวัดของเรามีโอกาสที่จะคลาดเคลื่อนได้ เช่น การติดตามตำแหน่งยานพาหนะ, การวินิจฉัยโรค หรือการบังคับยานปลอดมนุษย์โดยสาร (Drone) เป็นต้นครับ ในส่วนถัดไปของบทความนี้เราจะอธิบายหลักการนำสถิติแบบเบย์เซียนมาใช้ติดตามตำแหน่งยานพาหนะกันครับ การใช้ Bayesian Statistic ในการติดตามตำแหน่งยานพาหนะ โดยปกติแล้วเราจะใช้อุปกรณ์จีพีเอส (GPS) เพื่อใช้ในการระบุตำแหน่งพาหนะ แต่ในบางครั้งตำแหน่งที่ได้รับจากอุปกรณ์นั้นอาจมีความคลาดเคลื่อนได้ มากหรือน้อยขึ้นอยู่กับประสิทธิภาพของอุปกรณ์ และลักษณะการใช้ ดังนั้นเราอาจจะต้องนำเอาข้อมูลจากสภาพแวดล้อม เช่น ตำแหน่งปัจจุบันของยานพาหนะ, ความเร็วของยานพาหนะ, สภาพถนน, ทิศทางลม และสภาพการจราจรมาเป็นเครื่องช่วยคำนวณค่าปัจจุบัน ในทางปฏิบัติแล้ว เราจะใช้ตัวกรองคาลมาน (Kalman Filter) (ซึ่งเป็นที่รู้จักกันว่าคือ การประมาณค่าของสมการกำลังสองเชิงเส้น) เพื่อคำนวณตำแหน่งที่สมเหตุสมผลของยานพาหนะที่เราติดตาม ในบทความนี้เราจะไม่ลงรายละเอียดทางคณิตศาสตร์ของ Kalman Filter แต่จะใช้ตัวอย่างจำลองเพื่อแสดงให้เห็นถึงหลักการและเหตุผลที่จะนำไปใช้ สมมติว่าเราสนใจที่จะติดตามตำแหน่งของรถคันหนึ่งที่วิ่งจากซ้ายไปขวา (ดังรูปด้านล่าง) โดยปกติแล้ว ถ้าหากว่าเราถามว่ารถคันนี้ควรจะไปอยู่ตรงไหนในเวลา 5 วินาทีถัดมา คำตอบที่เป็นไปได้มากที่สุดคืออยู่ในเลนเดิมไปข้างหน้า แต่ถ้าหากว่า GPS ระบุว่ารถคันนี้อยู่ที่เลนฝั่งตรงข้ามประมาณ 20 เมตรข้างหน้า (ซึ่งสวนเลน ตามในรูปกำหนด) ในกรณีนี้ เราควรจะยึดตามค่าที่อ่านได้จาก GPS ได้มากแค่ไหน หลักการอนุมานทาง Bayesian จะช่วยให้เราแก้ไขข้อผิดผลาดจากอุปกรณ์นำทาง ในกรณีที่ค่าที่อ่านได้อยู่ในตำแหน่งที่ไม่สมเหตุสมผล โดยสรุปแล้วบทความนี้ได้พูดถึง Bayesian Trap ซึ่งทำให้เราต้องคำนึงถึงลักษณะทางประชากร (Prior) ประกอบหลักฐานใหม่เสมอ ซึ่งแนวคิดนี้ได้เปิดช่องทางให้เราสามารถจัดการกับแหล่งข้อมูลหลายๆ แหล่งได้ ซึ่งเราได้ทำการยกตัวอย่างการติดตามตำแหน่งของยานพาหนะ ในทางปฏิบัติแล้วแนวคิดทาง Bayesian สามารถนำไปใช้ประโยชน์ได้ในหลายทาง สำหรับรายละเอียดเพิ่มเติม ผู้อ่านสามารถหาได้จากลิงค์อ้างอิง หรือบทความใน bigdata.go.th ในโอกาสถัดไปครับ แหล่งข้อมูลอ้างอิงเพิ่มเติม
28 September 2021
การคำนวนผลที่ได้จากนโยบายด้วย Causal Impact Analysis
ไม่ว่าจะเป็นองค์กรของรัฐบาลหรือบริษัทเอกชน ผู้ที่มีอำนาจตัดสินใจย่อมต้องการวัดผลที่ได้รับจากนโยบายหรือโครงการที่ได้นำมาใช้เพื่อประเมินว่าผลที่ได้รับนั้นคุ้มค่ากับค่าใช้จ่ายในการดำเนินนโยบายหรือไม่ โดยวันนี้เราจะมาทำความรู้จักกับการทำ Causal Impact Analysis ตัวอย่างในวันนี้เราจะทำการวิเคราะห์ผลกระทบต่อราคาหุ้นของเครือ Volkswagen หลักจากที่ถูกฟ้องร้องเรื่องละเมิดกฎหมายควบคุมมลพิษ เหตุการณ์ครั้งนี้เป็นที่รู้จักกันในชื่อว่า Volkswagen Emission Scandal โดยปกติแล้ว คำถามประเภทนี้เราจะนำข้อมูลจากกลุ่มตัวอย่างที่ไม่ได้รับผลกระทบมาเปรียบเทียบ แต่ในกรณีนี้นั้นเป็นไปไม่ได้ ดังนั้นเราจะใช้ข้อมูลที่มีก่อนเกิดเหตุการณ์เพื่อมาใช้ทำนายค่าชี้วัดหลังจากเกิดเหตุการณ์ และนำผลมาเปรียบเทียบ Causal Impact Analysis: Simple Model เราจะใช้ R programming เพื่อทำการวิเคราะห์ในบทความนี้ เราจะเริ่มโดยการ plot ข้อมูลราคาปิดตลาดต่อหุ้นของ Volkswagen เพื่อพิจารณา ก่อนอื่นเราจะโหลด packages ที่จำเป็นแล้วก็เริ่มทำการ plot (หากยังไม่เคยติดตั้ง packages เหล่านี้ ให้ใช้คำสั่งที่ถูก commented ไว้นะครับ) จะเห็นได้ว่า หลังจากเส้นประที่ขีดไว้ ราคาปิดตลาดต่อหุ้นนั้นลดลงอย่างรวดเร็วมาก เราต้องการประเมินว่าผลกระทบนี้เป็นเท่าไหร่  เบื้องต้นเราอาจจะใช้วิธีการ Time Series แบบมาตรฐานเพื่อนำมาใช้ประเมิน จะได้ผลการวิเคราะห์ดังนี้ จะเห็นได้ว่าการประเมินในรูปแบบนี้ไม่สามารถใช้ได้ในระยะยาว เนื่องจากค่าความไม่แน่นอนจะสูงขึ้นอย่างรวดเร็ว ซึ่งค่อนข้างสมเหตุสมผล เนื่องจากว่าข้อมูลราคาในอดีตอาจจะบอกข้อมูลได้ไม่สมบูรณ์ ดังนั้นเราจะเลือกนำ Time Series ชุดอื่นที่มีพฤติกรรมคล้าย ๆ กัน และไม่ได้รับผลกระทบจากเหตุการณ์นี้ ในกรณีนี้เราจะนำเอาราคาปิดตลาดของผู้ผลิตรถยนต์รายอื่น เช่น BMW และ Allianz มาพิจารณาเปรียบเทียบกัน จะพบว่าแนวโน้มของทั้งสามราคามีค่าใกล้เคียงกัน แต่ว่า BMW และ Allianz ไม่ได้รับผลกระทบกับคดีความครั้งนี้ เราจึงมีแนวคิดที่ว่าจะใช้ Time Series ของราคา BMW และ Allianz เพื่อมาทำนายราคาในกรณีที่การฟ้องร้องครั้งนี้ไม่เกิดขึ้น Bayesian Structural Time Series Bayesian Structural Analysis จะนำเอาการ Regression มารวมกันกับเทคนิคทาง Time Series โดยจะสรุปได้ในโดยสมการ เราจะใช้ Package ใน software R และหลักการทาง Bayesian Inference เพื่อประมาณค่าของ  และค่าความคลาดเคลื่อนที่เป็นไปได้ของการประมาณ โดยผลลัพธ์ที่ได้สามารถนำมาแสดงผลได้ดังแผนภาพข้างล่างนี้ โดยที่ตัวแปร series ในโค้ดข้างล่างนี้เป็นตัวแปรเดียวกันกับโค้ดที่ใช้สร้าง Figure 3 ข้างบน  จะเห็นได้ว่า confidence interval นั้นไม่ได้กว้างขึ้นในระยะยาว ทำให้การทำนายระยะยาวพอมีความเป็นไปได้มากขึ้น นอกจากนี้เรายังสามารถดู Summary Statistics เพื่อประเมินความมั่นใจของค่าประมาณของเราได้ References
29 June 2021
PDPA Icon

We use cookies to optimize your browsing experience and improve our website’s performance. Learn more at our Privacy Policy and adjust your cookie settings at Settings

Privacy Preferences

You can choose your cookie settings by turning on/off each type of cookie as needed, except for necessary cookies.

Accept all
Manage Consent Preferences
  • Strictly Necessary Cookies
    Always Active

    This type of cookie is essential for providing services on the website of the Personal Data Protection Committee Office, allowing you to access various parts of the site. It also helps remember information you have previously provided through the website. Disabling this type of cookie will result in your inability to use key services of the Personal Data Protection Committee Office that require cookies to function.
    Cookies Details

  • Performance Cookies

    This type of cookie helps the Big Data Institute (Public Organization) understand user interactions with its website services, including which pages or areas of the site are most popular, as well as analyze other related data. The Big Data Institute (Public Organization) also uses this information to improve website performance and gain a better understanding of user behavior. Although the data collected by these cookies is non-identifiable and used solely for statistical analysis, disabling them will prevent the Big Data Institute (Public Organization) from knowing the number of website visitors and from evaluating the quality of its services.

  • Functional Cookies

    This type of cookie enables the Big Data Institute (Public Organization)’s website to remember the choices you have made and deliver enhanced features and content tailored to your usage. For example, it can remember your username or changes you have made to font sizes or other customizable settings on the page. Disabling these cookies may result in the website not functioning properly.

  • Targeting Cookies

    "This type of cookie helps the Big Data Institute (Public Organization) understand user interactions with its website services, including which pages or areas of the site are most popular, as well as analyze other related data. The Big Data Institute (Public Organization) also uses this information to improve website performance and gain a better understanding of user behavior. Although the data collected by these cookies is non-identifiable and used solely for statistical analysis, disabling them will prevent the Big Data Institute (Public Organization) from knowing the number of website visitors and from evaluating the quality of its services.

Save settings
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.