การวิเคราะห์ความสัมพันธ์กับข้อมูลขนาดใหญ่ (Correlation Analysis in Big Data)
ในโลกของ Big Data การจะนำข้อมูลมาใช้งานต้องผ่านการวิเคราะห์ข้อมูลเพื่อหาความสัมพันธ์ในลักษณะต่าง ๆ เสียก่อน ซึ่งในบทความนี้เราหยิบยกเอาวิธีทางสถิติและการใช้โค้ดในภาษา R และ Python มาแนะนำให้ทุกคนได้เรียนรู้กัน
วิธีการวิเคราะห์ความสัมพันธ์กับข้อมูลขนาดใหญ่ หรือ Correlation Analysis in Big Data ที่เราจะคุยกันในวันนี้มี 2 วิธี คือ
ในบทความนี้ผู้เขียนอยากแนะนำวิธีทางสถิติและโค้ดในภาษา R และ Python ที่สามารถนำมาใช้วิเคราะห์ความสัมพันธ์กับข้อมูลขนาดใหญ่ (Correlation Analysis in Big Data) ได้ดังนี้
ข้างล่างเป็นตัวอย่างของโค้ดที่ใช้ในการคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ทั้ง 3 ประเภทในภาษา R และ ภาษา Python
R Code:
Python Code:
การหาค่า Maximal Information Coefficient (MIC)
ค่า Maximal Information Coefficient (MIC) เป็นวิธีทางสถิติประเภทหนึ่งในวิธีทางสถิติที่เรียกว่า Maximal Information-Based Nonparametric Exploration (MINE) โดยค่า MIC จะให้ค่าอยู่ในช่วงระหว่าง 0 ถึง 1.0 และสามารถนำมาใช้หาความสัมพันธ์ของข้อมูลได้ทั้งแบบเส้นตรงและไม่ใช่เส้นตรง (linear and non-linear association)
กล่าวคือ หากค่า MIC ใกล้ 1.0 นั้นหมายความว่า ตัวแปรทั้งสองมีความสัมพันธ์กันอย่างมาก และหากค่า MIC เท่ากับ 0 นั้นหมายความว่า ตัวแปรทั้งสองตัวไม่มีความสัมพันธ์ต่อกัน
นอกจาก ค่า MIC จะสามารถนำมาใช้หาความสัมพันธ์ของข้อมูลได้หลากหลายรูปแบบแล้ว คุณสมบัติทางคณิตศาสตร์ของ ค่า MIC ยังสามารถนำมาใช้เป็นเกณฑ์เพื่อบ่งบอกว่าความสัมพันธ์ระหว่างตัวแปรสองตัวแปรนั้นมีความไม่เป็นเส้นตรงมากน้อยเพียงใด (degree of non-linearity)
ผู้เขียนหวังว่าตัวอย่างโค้ดที่ได้นำเสนอแบบสองภาษา (ทั้งภาษา R และ ภาษา Python) จะเป็นประโยชน์กับผู้ที่สนใจการเขียนโค้ดเพื่อใช้ในการวิเคราะห์ข้อมูล
เขียนโดย วรพิชญา ระเบียบโลก
ตรวจทานและปรับปรุงโดย นัทธมน มยุระสาคร
อ้างอิง:
Reshef DN, Reshef YA, Finucane HK, Grossman SR, McVean G, Turnbaugh PJ, Lander ES, Mitzenmacher M, Sabeti PC. Detecting novel associations in large data sets. Science. 2011 Dec 16;334(6062):1518-24. doi: 10.1126/science.1205438. PMID: 22174245; PMCID: PMC3325791.
Davide Albanese, Michele Filosi, Roberto Visintainer, Samantha Riccadonna, Giuseppe Jurman and Cesare Furlanello. minerva and minepy: a C engine for the MINE suite and its R, Python and MATLAB wrappers. Bioinformatics (2013) 29(3): 407-408 first published online December 14, 2012 doi:10.1093/bioinformatics/bts707