สรุปบันทึกการเรียนวิชา statistic 101 สำหรับนักวิทยาศาสตร์ข้อมูล - sprint 05

Image placeholder
แวะมาทักทายกันได้


คำแนะนำจากผู้เขียน - ใครที่สนใจในเรื่องข้อมูล วิชาสถิติถือว่าเป็น foundation ของเรื่องนี้ สำหรับบทความนี้ เป็นสรุปบันทึกการเรียนวิชา statistic 101 สำหรับนักวิทยาศาสตร์ข้อมูล - sprint 05 ขอให้เครดิตแก่ Data Rockie ผู้เปิดโลกทัศน์วิชาด้านข้อมูล โดยที่ผู้เขียนเคยเรียนแล้วไม่เข้าใจแต่ เรียนกับคอร์สนี้แล้วเข้าใจ


เนื้อหาสำหรับบทความนี้

  1. Intro to statistics
  2. Hands on exercises - google sheet
    1. IMDb dataset
    2. Normal distribution
    3. Plotting distribution
    4. Measures of central tendency - การวัดค่ากลาง
    5. Measures of spread - การวัดการกระจาย
    6. Measures of position - การวัดตำแหน่ง
    7. Measures of relationship - correlation - การวัดความสัมพันธ์
    8. Measures of relationship - crosstabs
    9. AB Testing

Research Design

Random / Representative

การสุ่มตัวอย่าง (random)

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

ประชากรที่ถูกสุ่ม มีโอกาสที่จะถูกสุ่มขึ้นมาเท่ากัน

หลังจากสุ่มตัวอย่างขึ้นมาแล้วจะเกิดปรากฎการณ์ขึ้นมาอีกตัวอย่างนึงก็คือ representative

สัดส่วนที่คล้ายกับจำนวนของประชากรทั้งหมด (representative)

หน้าตาเหมือนกับประชากร เมื่อเราทำการสุ่มตัวอย่างขึ้นมา

ก่อนที่เราจะไปคำนวนหาค่าต่างๆ เช่น data analysis p value เราจะเริ่มจากการวางแผนว่าเราจะเก็บข้อมูลอย่างไร

data collection

  • random samplig หรือไม่
  • ข้อมูลจะ representative หรือไม่

ยกตัวอย่าง market research

อาจจะเริ่มจากการตั้งคำถาม เช่น

  • คนไทยชอบกินเบียร์เป็นอย่างไรบ้าง
  • awarness มีคนไทยกี่เปอร์เซ็นรู้จักเบียร์ยี่ห้อ x
  • คนไหนเคยกินเบียร์ x ในเดือนที่ผ่านมาบ้าง

ขั้นตอนที่ทำการวางแผน และ การ survey

  • การแบ่ง segment ของกลุ่มข้อมูล เช่น การแบ่งกลุ่มแต่ละภาคของประเทศไทย
  • การสำรวจข้อมูลของข้อมูลกลุ่มทั้งหมด อย่างเช่น ไปดูข้อมูลกลุ่มประชากร ที่อยู่ในสำมะโนครัว
  • แบ่งสัดส่วนตาม demography เช่น เพศ อายุ ภาคพื้นที่ เป็นต้น โดยต้องดูว่ากลุ่มตัวอย่างจะต้องเหมือนกับประชากรจริงๆ
  • ดูคุณภาพของตัวอย่าง จะต้องเหมือนกับประชากรจริงๆ

ตัวอย่าง ในเรื่องของ Random

ในประเทศอเมริกาเมื่อปี 1936 ได้มีการ predict เกี่ยวกับการเลือกตั้งระหว่าง พรรคลิพับดิกั้น และ เดโมแครต โดยนิตยสารที่ชื่อ The literaty Digest โดยส่งจดหมาย ไป survey ว่าใครจะชนะการเลือกตั้งส่งไปตามบ้านของผู้ที่ซื้อนิตยสารนี้ จำนวน 10 ล้านฉบับ แล้วมีผู้ตอบกลับมา จำนวน 2.4 ล้านฉบับว่า พรรคลิพับดิกั้นจะชนะ เมื่อเทียบอัตราส่วนแล้วถือว่าเยอะมาก 2.4 ล้านฉบับที่ตอบกลับ หลังจากได้ผลโพลสำรวจนี้แล้ว ทางสำนักพิมพ์ก็ได้ ตีพิมพ์ข่าวว่า พรรคลิพับดิกั้นจะชนะแน่นอน แต่สุดผลลัพท์จริงๆ คือ พรรคเดโมแครตชนะ

เป็นเพราะอะไร?

มันเป็นเรื่องของ Random ที่ไม่ Representative เพราะว่า พรรคลิพับดิกั้น คนที่เชียร์พรรคนี้เป็นคนรวย ซึ่ง คนที่จะซื้อและสมัครใช้นิตยสารสำนักพิมพ์นี้ ก็ต้องมีเงิน ซึ่ง context หรือ บริบทแวดล้อมในอเมริกาไม่ตรงกับประชากรส่วนใหญ่ จึงทำให้ผลโพลนั่นผิด หรือ ไม่ representative ตั้งแต่แรกแล้วนั่นเอง

ย้อนกลับมาที่คำว่า Random คำว่าสุ่มจะต้องมีการถูกเลือกสุ่มขึ้นมาจากประชากรทั้งหมดอย่างละเท่าๆกัน แต่จากตัวอย่างนั่นเป็นการเลือกเฉพาะกลุ่มเพียงกลุ่มเดียว

ถึงแม้ว่าจำนวน sample จะเยอะมากถึงขนาด 2.4 ล้านแต่ผลก็ผิดได้ ถ้าไม่ได้ทำ Random ขึ้นมา

Quanlity คุณภาพของสุ่มตัวอย่างเป็นเรื่องสำคัญมากๆ

การสุ่มตัวอย่าง (sample) ออกมาจากประชากร(Population)ทั้งหมด โดยเชื่อว่า สุ่มออกมาอย่างละเท่าๆกัน หลังจากนั้นก็สรุปผลจากค่า sample ไปพิสูจน์ที่ประชากร (Population) หรือที่เรียกว่าการทำ Inference หรือ การทดสอบสมมติฐาน

ตัวอย่างการทำ inference

โดยปกติการทำ inference อยู่ในชีวิตประจำวันของเราทุกคนกันอยู่แล้ว ยกตัวอย่างเช่น การทำอาหาร โดยสมมติว่า Population คือ น้ำแกงหม้อหนึ่ง ซึ่ง เราจะต้องสงสัยกันอยู่แล้ว ว่า น้ำแกงหม้อนี้จะอร่อยหรือไม่ เราจะทำการสุ่ม (random) ขึ้นมาชิมก่อน (sample) โดยเราเชื่อว่าการคนน้ำแกงในหม้อเข้ากับเครื่องปรุงกันดีแล้ว (representative)

ทั้งหมดนี้เรียกว่า inference เพื่อการตัดสินใจ

อีกตัวอย่าง เรื่องหุ้น

สมมติว่าเราจะซื้อหุ้นสักตัวหนึ่ง โดยเราสุ่มตัวอย่างขึ้นมาจากข้อมูลข่าวสาร จากหนังสือพิมพ์ จาก Broker หรือ internet แล้วแต่ก็ไม่สามารถรู้ได้ว่า ข้อมูลจริงๆนั้น ดีมากน้อยแค่ไหน จากนั้นเราก็ทำ inference จากข้อมูลที่สามารถหาอ่านได้ base on information ที่ publish

The Descriptive Statistics

Measurement of Central Tendency

Mean = ค่าเฉลี่ย

Median = ค่ากลาง (50%)

Mode = คำตอบที่คนตอบมากที่สุด

เวลาวัดค่ากลาง ถ้าเวลาที่ข้อมูลของเราเป็น Normal Distribution ค่ากลางที่ดีที่สุด คือ ค่าเฉลี่ย (Mean) แต่ในบางสถานการณ์ ข้อมูลมันไม่ได้เป็น Normal Distribution เสมอ มันอาจจะเบ้ซ้าย Negative Skew หรือ เบ้ขวา Positive Skew ก็ได้ ซึ่งค่ากลางที่ใช้วัดกราฟที่เกิดการเบ้ จะไม่ใช่ค่าเฉลี่ยแล้ว แต่จะเป็นค่ากลาง Median

กรณีที่ เบ้ซ้าย ค่าเฉลี่ยจะโดนดึงอยู่ทางซ้าย

กรณีที่ เบ้ขวา ค่าเฉลี่ยจะโดนดึงอยู่ทางขวา

ค่า Median เป็น Robust จะทนต่อข้อมูลที่ outlier จะอยู่ตรงกลางเสมอ

Normal Distribution

Negative Skew (เบ้ซ้าย)

Positive Skew (เบ้ขวา)

ตัวอย่าง. GDP

รายได้ของประเทศไทย ที่เอามาหารด้วยประชากรทั้งหมดของประเทศไทย

ซึ่งจะเห็นว่าตั้งแต่ปี 2010 - 2020 มีอัตราค่า GDP ที่สูงขึ้น 28%

คำถามคือ คนไทยรวยจริงหรือไม่

มันมีปัจจัยอื่นๆเข้ามาเกี่ยวข้อง เช่น เงินเฟ้อ และ การกระจายตัวที่ไม่สมบูรณ์

เป็นแบบนี้เกือบทุกประเทศ ที่ รวยกระจุก จนกระจาย ซึ่ง ถ้าลองเอาข้อมูลมา plot graph เราจะได้ กราฟที่ เบ้ขวา คนรวย มีไม่เยอะ แต่คนกลุ่มนี้มาดึงให้ค่าเฉลี่ยสูงขึ้น

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

GDP สูงขึ้น แต่ราคาสินค้าทั่วไปก็สูงขึ้นตาม แสดงว่า คนไทย อาจจะไม่ได้รวยขึ้นจริง ใช่หรือไม่?

Gini Index ถ้าค่าเข้าใกล้ 0 แสดงว่าการกระจายดีที่สุด ส่วนประเทศไทย 36 กว่าๆ%

สามารถสรุปได้ว่า เราไม่สามารถใช้ค่าเฉลี่ยได้ ต้องดูปัจจัยอื่นๆด้วย

Measures of spread

การวัดการกระจายตัว

Variant ค่าความแปรปรวน

SD : Standard Deviation ค่าเบี่ยงเบนมาตรฐาน จากค่าเฉลี่ยตรงกลาง

www.investopedia.com/

ค่าไหนที่มีค่าที่สูงกว่า Q3 มากกว่า 1.5 เท่า อาจจะเป็น outlier หรือ ถ้าสูงกว่า 3 เท่าเป็น outlier ชัวร์ๆ

Normal distribution

การเปลี่ยนข้อมูลดิบ ให้เป็นค่ามาตรฐาน (Z-Score)

Z-Score = (X - Mean) / SD

ตัวอย่างการคำนวน

ขั้นตอนการคำนวน

  1. เก็บรวบรวมข้อมูล สมมติว่ามีนักเรียนทั้งหมด 20 คนโดยเก็บความสูงตามตาราง
  2. หาค่าเฉลี่ยของ Column ส่วนสูงของนักเรียนทั้งหมด ได้ 169.2
  3. หาค่า SD ของ Column ส่วนสูงของนักเรียนทั้งหมด ได้ 6.63
  4. เปลี่ยนส่วนสูงของแต่ละแถว (ข้อมูลดิบ) ยกตัวอย่างเช่น ในแถวที่ 1 ส่วนสูง 164 ลบด้วยค่าเฉลี่ย 169.2 แล้วหารด้วยค่า SD 6.63 จะได้ค่า Z-Score เท่ากับ -0.94
  5. ค่า Z เป็นได้ทั้งค่าลบและค่าบวก
  6. ความหมายของค่าบวกและค่าลบเป็นอย่างไร เมื่อสูตรบอกว่า X-Mean แล้วได้ 0 แสดงว่าความสูงของนักเรียนคนนั้น มีความสูงเท่ากับค่าเฉลี่ยของข้อมูลทั้งหมด และ ค่า Z เป็น 0
  7. แสดงว่า ค่า Z เป็นบวก คนๆนั้นมีความสูงมากกว่าค่าเฉลี่ย และ ค่า Z เป็นลบ แสดงว่าคนๆนั้นมีเตี้ยกว่าค่าเฉลี่ย
  8. อย่างข้อมูลแถวที่ 3 มีความสูงมากกว่าคนๆอื่นๆอยู่ 1.63 เท่าของค่า SD
  9. ถ้าเอาค่า Z-Score คูณกับ SD เช่น ข้อมูลแถวที่ 3 คือ 1.63 เท่าคูณกับ 6.63 เท่ากับ 10.8 เซนติเมตร
  10. ลองเอา 10.8 ไปบวกกับค่าเฉลี่ย 169.2 จะได้ 180 พอดีซึ่งก็คือความสูงของข้อมูลแถวที่ 3

ทำไมเราต้องคำนวนค่า Z หรือ normal distribution

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

เลข 100 ที่เห็นในรูปภาพเป็น ค่าเฉลี่ย (mean) เลข 84 คือ - 1SD และ 116 คือ +1SD

โดยเรียง -2SD และ -3SD และ +2SD และ +3SD ตามลำดับ

1SD เท่ากับ 16

คราวนี้เราอยากรู้ว่าข้อมูลจะไปตกอยู่ในพื้นที่ที่เราสนใจอยู่เท่าไรกี่เปอร์เซ็น ยกตัวอย่างเช่น ข้อมูลไปตกอยู่ในช่วง 84 - 116 เราก็แค่เอา 0.3413 + 0.3413 ได้ออกมา 68%

ข้อมูลที่กระจายตัวปกติ ถ้าอยู่ในช่วย 68.2% จะอยู่ในช่วง -1 ถึง 1SD จากค่าเฉลี่ยตรงกลาง

ข้อมูลที่กระจายตัวปกติ ถ้าอยู่ในช่วย 95% จะอยู่ในช่วง -2 ถึง 2SD จากค่าเฉลี่ยตรงกลาง

ข้อมูลที่กระจายตัวปกติ ถ้าอยู่ในช่วย 99.7% จะอยู่ในช่วง -3 ถึง 3SD จากค่าเฉลี่ยตรงกลาง

นักสถิติชอบมาก ถ้าข้อมูลกระจายตัวปกติ เราสามารถเอาค่า 68.2, 95, 99.7 ไปคำนวนหาความน่าจะเป็นได้ทันที

มาเริ่มวิเคราะห์สถิติกับ Dataset

เปิด Google Sheet ขึ้นมาแล้วดึงข้อมูลมาจากหน้าเว็บไซต์ imdb ได้เลยโดยดึงจาก html

… คือ ยังมีอีกเยอะ

โดยเราจะใช้ dataset นี้มาลองเล่นและใช้การวิเคราะห์สถิติเพื่อทำความเข้าใจข้อมูลโดยเริ่มจาก เราจะต้องรู้ความหมายของแต่ละ column ก่อน

  1. No เป็น index หรือลำดับของแต่ละแถว
  2. Movie_Name เป็นชื่อของหนัง
  3. Year เป็นปีที่ฉาย
  4. Rating เป็น คำแนะนำสำหรับผู้รับชม เช่น R หมายถึง หนังเรทอาร์ ส่วน PG-13 ผู้ใหญ่ควรให้คำแนะนำเด็กอายุต่ำกว่า 13 ไม่ควรรับชม
  5. Length เป็นความยาวของหนัง
  6. Genre เป็นประเภทของหนัง โดยจะมีมากกว่า 1 ประเภท
  7. Score เป็นคะแนนที่ผู้ที่รับชมแล้ว มาโหวตให้ในเว็บของ imdb

ขั้นตอนถัดไปให้ตั้งชื่อ Name Range แล้วตั้งชื่อว่า IMDB เพื่อสามารถ Refer เขียนสูตรใน Google Sheet ได้

จากนั้นสร้างหน้าเปล่าขึ้นมา 1 หน้าเพื่อจะดึงค่าจาก Dataset ตั้งต้นด้วยฟังก์ชัน Query() โดยที่จะดึงข้อมูลจาก Column ที่ 5. หรือ ความยาวของหนัง

QUERY(imdb, "select E")

imdb เป็นชื่อ Table ที่ตั้งจาก Name Range เมื่อขั้นตอนที่แล้ว

"select E" เป็นคำสั่ง query ดึงข้อมูลจาก column E

จะได้ผลลัพท์

… คือ ยังมีอีกเยอะ

จากนั้นให้ Hilight ทั้ง Column Length ที่ Query ข้อมูลออกมา

แล้วไปกด Insert แล้วเลือก เมนูกราฟ มันจะ suggest graph เป็น histogram ถัาไม่เป็น histogram ให้เลือกกราฟชนิดนี้

เราก็จะได้ Histogram ออกมาที่หน้าตา ค่อนข้างจะ Normal Distribution

ขั้นตอนถัดมาให้หาค่าเฉลี่ยของ Langth ใช้ google sheet คำนวนได้เลย

=AVERAGE(A10:A109)
=MEDIAN(A10:A109)

ที่หาค่าเฉลี่ย และ ค่ากลาง เพื่อเช็คดูว่าค่า ที่อยู่ตรงกลางอยู่ตรงไหนและเป็น Normal Distribution หรือเปล่า จะเห็นว่า ค่ากลางทั้งสอง จะไม่ได้ Normal Distribution เป้ะๆ แต่ อยู่ใกล้ๆกัน

คราวนี้เราจะมาหาค่า Z ของ Length แต่ละแถว โดยที่เราจะต้องมีค่า Mean แล้วยังขาด SD เราจะมาหาค่า SD กัน

อธิบายการเลือกใช้ สูตร คือ

=STDEV.s() // หมายความว่า ใช้ข้อมูลแบบ Sample
=STDEV.p() // หมายความว่า ใช้ข้อมูลทั้งหมดของ ประชากร

ในรายการของ IMDB อาจจะมีอยู่ 1000 เรื่อง แต่ข้อมูลที่ดึงมามี 100 เรื่องแสดงว่าเป็นข้อมูลแบบ Sample

=STDEV.s(A10:A109)

คราวนี้เราก็ได้ข้อมูลเพื่อทำค่า Z ได้แล้ว

=ArrayFormula((A10-$E$9)/$E$11)

เมื่อเราได้ค่า Z มาแล้ว เพื่อให้การอ่านข้อมูลของเราอ่านง่ายขึ้น เราจะใส่สีเข้าเพื่อแยกความแตกต่าง

โดยไปที่เมนูถังสีและเลือก Conditional Formatting จากนั้นก็ใส่เงื่อนไขเข้าเพื่อกำหนดสีตามเงื่อนไข

ถ้าสังเกตจากข้อมูล โดยหนังที่ได้ topten 10 เรื่องแรก ส่วนใหญ่จะค่อนข้างนานกว่าค่าเฉลี่ย

เรามาลองหาค่าคุณลักษณะของ Z บ้าง

=AVERAGE(B10:B109)
=STDEV.S(B10:B109)

จะเห็นว่าค่าเฉลี่ย มีค่าเป็น 0 และ ค่า SD มีค่าเป็น 1

เรามาลอง plot graph ของค่า z กันบ้างว่าหน้าตามันเป็นอย่างไร

จะเห็นว่าการทำค่า Z ไม่ได้ทำให้รูป pattern เปลี่ยนไป คล้ายกับข้อมูลเดิม

พูดง่ายๆ ก็คือ การทำให้ข้อมูลดิบแปลงให้ข้อมูลอยู่ระหว่าง 0 ถึง 1 สามารถมองเป็น 0% - 100% ก็ได้

วิธีการที่ผ่านมาเรียกว่า การ Normalization และ Stardardization จะมีประโยชน์ในการนำไป Build Model อื่นๆต่อ

คราวนี้จะมาพิสูจน์ ความน่าจะเป็นที่เกิดจาก Normal Distribution

ให้สร้าง ตาราง Lower และ Upper ขึ้นมาโดยทำบน google sheet ได้เลย

จากนั้นก็คำนวน

(Average - SD) * 1SD, (Average + SD) * 1SD
(Average - SD) * 2SD, (Average + SD) * 2SD
(Average - SD) * 3SD, (Average + SD) * 3SD

ทำใน google sheet

=$E$9-$E$11*1 , =$E$9+$E$11*1
=$E$9-$E$11*2 , =$E$9+$E$11*2
=$E$9-$E$11*3 , =$E$9+$E$11*3

ผลลัพท์

คราวนี้เราจะทดสอบว่า ความน่าจะเป็น เป็นเท่าไรบ้าง กี่เปอร์เซ็น

โดยใช้ CountIfs เป็นการนับแบบมีเงื่อนไข โดยนับค่าที่อยู่ในความยาวของหนัง Length ว่ามีจำนวนเท่าไร

=COUNTIFS(A10:A109,">=105.2", A10:A109, "<=163.9")

## 68

โดยความน่าจะเป็น จากหนังทั้งหมดมี 100 เรื่อง ก็คือ 0.68 หรือ 68%

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

สมการ Normal Distribution

จาก สูตรที่เราเห็น ประกอบไปด้วย

  • π : ค่า Pi ค่าคงที่ 3.1416…
  • e : exponential หรือ ค่าออยเลอร์ ค่าคงที่ 2.718…
  • µ : ค่ามิว หรือ ค่าเฉลี่ย ซึ่งเราหาได้จากข้อมูลดิบ
  • ∂ : ค่า Standard Deviation ซึ่งเราหาได้จากข้อมูลดิบ
  • y : ค่าที่เราต้องการ
  • x : ค่าข้อมูลดิบ

เมื่อเราแทนค่าต่างๆ ตามทฤษฎี Normal Distribution เป็นไปตามรูปด้านล่าง

ข้อมูลดิบ x คือ ค่า Z

ค่า Mean คือ 0

ค่า SD คือ 1

ยกตัวอย่าง การคำนวนค่า Z

โดยกำหนดค่า Z เอาไว้ที่ +/- 4 หรือ -4 ถึง +4

เราจะมาหาค่า f(z) กัน โดยใช้ google sheet

โดยเราจะพิจารณาไปที่ละเทอม

จะเขียน code แบบนี้

=( 1/SQRT(2*PI()) )

จากนั้นมาพิจารณาเทอมถัดไป

คูณด้วย Exponential ที่ข้อมูลดิบคือ Z และ ที่ค่าเฉลี่ยเป็น 0 และทั้งหมดยกกำลัง 2

* EXP( -(A2^2)/2)

เมื่อเอาทั้ง 2 เทอมมารวมกันจะเขียน สูตรว่า

=( 1/SQRT(2*PI()) ) * EXP( -(A2^2)/2)

เมื่อลองเอาค่ามา plot graph เราก็จะได้

Standard Normal Distribution

แต่จริงๆแล้ว google sheet มีฟังก์ชันนี้อยู่แล้ว

เพียงแค่ใช้ จะได้ค่า normal distribution เหมือนกันเลย โดยไม่ต้องเขียนสูตรยาวเมื่อตอนต้น

=PHI(A2:A42)

Measure of Spread

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

ให้เราใช้ Query ที่ table imdb ขึ้นมา

=QUERY(imdb, "select B, E")

เราก็จะได้ ตาราง 2 column คือ ชื่อหนังและ ความยาว

การหาค่าการกระจายเราแค่ใช้ สูตร

=STDEV.S(B10:B109)
=VAR(B10:B109)

SD : ค่าเบี่ยงเบนมาตรฐาน

VAR : ค่าความแปรปรวน

ทั้งสองค่านี้มีความสัมพันธ์กันและกัน คือ

VARIANT จะเป็น กำลัง 2 ของ SD

SD จะเป็น รากที่ 2 ของ VARIANT

VARIANT :  =STDEV.S(B10:B109)^2
SD : =SQRT(VAR(B10:B109))

ซึ่งถ้าหาได้ตัวใดตัวหนึ่งก็หาอีกตัวหนึ่งได้

และนำมาหาค่า Position ต่อได้ คือ Percentile

=PERCENTILE(B10:B109, 0) , =MIN(B10:B109)
=PERCENTILE($B$10:$B$109, 0.25)
=PERCENTILE($B$10:$B$109, 0.5) , =MEDIAN(B10:B109)
=PERCENTILE($B$10:$B$109, 0.75)
=PERCENTILE($B$10:$B$109,1), =MAX(B10:B109)

จะเห็นว่า ค่า percentile ที่ 0 จะเป็นค่าต่ำสุดของข้อมูล สามารถใช้ ค่า MIN ได้

จะเห็นว่า ค่า percentile ที่ 50% จะเป็นค่าต่ำสุดของข้อมูล สามารถใช้ ค่า MEDIAN ได้

จะเห็นว่า ค่า percentile ที่ 100% จะเป็นค่าต่ำสุดของข้อมูล สามารถใช้ ค่า MAX ได้

Percentile สามารถแปลเป็นภาษาที่เข้าใจได้ว่า ค่าตั้งแต่ น้อยสุดจนถึงค่ามากสุด ตัดค่าเอาไว้ที่ 25% คือ ความยาวหนังที่ตำ่กว่า 114.5 มีอยู่ที่ 25% ส่วนที่เหลือ คือ 75%

ถ้าลองไปดูที่ Boxplot จะได้ค่า IQR คือ Per 75 - Per 25

IQR. = 37.75

Measures of Relationship

จาก Data set เราจะเห็นค่าความยาวหนัง และ Score ของหนัง

Assumtion สมมติว่า เรามาสงสัยกันว่า ความยาวของหนังมันมีความสัมพันธ์กับคะแนนของหนังหรือเปล่า

เช่น

ความยาวของหนังยาว คะแนนจะดี สูงขึ้น ?

ความยาวของหนังสั้น คะแนนจะแย่ ลดลง ?

เราสามารถที่จะใช้ pearson correlation ได้ คือ เป็นการวัดความสัมพันธ์ที่เป็นตัวเลขทั้งคู่

=QUERY(imdb , "select E, G")

เรามาลองสร้างกราฟ ถ้าข้อมูล 2 column เป็นตัวเลขทั้งคู่เราสามารถใช้ Scatter plot มาวาดได้ เราจะได้หน้าตาออกมาแบบนี้

จะเห็นว่าเรายังดูไม่รู้เรื่อง เพราะว่าเราเอาข้อมูล data set ที่มีคะแนนสูงมากมา plot

เราสามารถปรับแกนได้ให้ เลือกค่า Min ใกล้ๆเลข 8 หรือ เลข 8 เลยก็ได้

ดูๆแล้ว ดูด้วยตาเปล่า น่าจะมีความสัมพันธ์หรือเปล่า แต่อย่าเพิ่งเชื่อ ให้ใช้การคำนวนเข้ามาช่วย

การหา correlation

ค่า correlation มีค่าที่วิ่งตั้งแต่ +/- 1

ถ้าความสัมพันธ์เป็น บวก แสดงว่ามีความสัมพันธ์ ในทิศทางเดียวกัน


=CORREL(SCORE,LENGTH)

=CORREL(B10:B109,A10:A109)

##
0.3796788098

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

ซึ่งค่า correlation จะมีอยู่คำนึงที่ต้องให้ความสำคัญและต้องระวัง


Correlation doesn’t imply causation


ตัวแปร 2 ตัวมีความสัมพันธ์ก็จริงแต่ ไม่ได้หมายความว่า X เป็นสิ่งที่ทำให้เกิด Y ก็คือ ความยาวหนังไม่ได้บอกว่า คะแนนจะดีขึ้น ซึ่ง ไม่เสมอไป


Correlation จะใช้วัด Linear Association


หมายความว่า ถ้ากราฟที่ได้ออกมาเป็นข้อมูลที่ออกมาเป็นเส้นโค้ง แปลว่า Correlation จะใช้งานกับกราฟประเภทนี้ไม่ได้ ถ้าใช้แล้วจะไม่เวิร์ค


การเลือกใช้ สถิติ จะชึ้นอยู่กับข้อมูลที่เราเก็บมาเป็นแบบไหน


IQR จะใช้วัดการกระจายตัวกับข้อมูลที่ skew


คอร์สนี้ดีมากกกก (ไก่ ล้านตัว)  ใครอ่านจบ แนะนำว่าให้ไปสมัครเรียน ติดตามได้ที่ link ด้านล่างนี้เลย  จริงๆ 

Course Online DATA ROCKIE Bootcamp

แวะมาทักทายกันได้
donate

Categories: Tutorial Tags: #Data Science , 1297