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

คำแนะนำจากผู้เขียน - ใครที่สนใจในเรื่องข้อมูล วิชาสถิติถือว่าเป็น foundation ของเรื่องนี้ สำหรับบทความนี้ เป็นสรุปบันทึกการเรียนวิชา statistic 102 สำหรับนักวิทยาศาสตร์ข้อมูล - sprint 05 ขอให้เครดิตแก่ Data Rockie ผู้เปิดโลกทัศน์วิชาด้านข้อมูล โดยที่ผู้เขียนเคยเรียนแล้วไม่เข้าใจแต่ เรียนกับคอร์สนี้แล้วเข้าใจ
Content
- Type of Study
- Observational เชิงสำรวจ
- Experimental เชิงทดลอง
- Correlation does not imply causation
- What is RCT
- What os AB Tests
- Statistical Test
- Compare Means
- Compare Variance
- P-Value
Type Of Study
การทำงานวิจัยจะมีอยู่ 2 ส่วนหลักๆ คือ
- Observational
- Experimental
Observational
การวิจัยเชิงสำรวจ สามารถสรุปผลได้แบบ Correlation หรือเป็นการมองหาความสัมพันธ์ได้เท่านั้น ซึ่งไม่สามารถบอกได้ว่า X ทำให้เกิด Y อย่างเช่น แบบสอบถามออนไลน์ งาน marketing research การสำรวจความคิดเห็นคน วิธีนี้จะแค่ไปสำรวจ มองแล้วจดบันทึก ดูได้แค่ความสัมพันธ์เบื้องต้น
Experimental
การวิจัยเชิงทดลอง จะเป็นทางตรงข้ามกับวิธีวิจัยเชิงสำรวจ เช่น การทดลองยากับสัตว์ทดลอง ฉีดยาสูตรใหม่เข้าไปในหนู แล้วดูว่าหนูมีปฏิกิริยาอย่างไรกับยา
หรืออีกตัวอย่าง ยิงโฆษณาบน facebook
สมมติว่าเรามี โฆษณา อยู่ 2 version คือ โฆษณาเวอร์ชัน A ยาว 15 วินาที โฆษณาเวอร์ชัน B ยาว 30 วินาที เราอยากรู้ว่า ความยาวของโฆษณาตัวไหน คนมี conversion ไหนมากกว่ากัน วิธีนี้จะสามารถควบคุมตัวแปรได้ ควบคุมอะไรสักอย่างหนึ่งแล้วสังเกต ตัวแปรอีกตัวหนึ่ง (causation) ความน่าจะเป็นของเหตุการณ์ x ที่น่าจะเกิด Y ขึ้นมา
ทั้งสองแบบ เราจะสรุปผลไม่เหมือนกัน
Correlation does not imply causation
ตัวอย่าง ของการดูความสัมพันธ์

เรามักจะสังเกตเห็นว่า เวลาที่พระอาทิตย์ขึ้นแล้วไก่จะขัน หรือ ไก่ขันตอนเช้า พระอาทิตย์จะขึ้น แบบนี้เรามีการทดลองแบบไหน
การวิจัยแบบเขิงสำรวจเพื่อหาความสัมพันธ์ Correlation
อย่างเวลาที่เราไปต่างจังหวัด ตื่นเช้าช่วง 5-6 โมง มองเห็นเล้าไก่ เราไม่ได้ไปทำอะไรไก่ แต่ไก่ร้องขัน ในจังหวะเดียวกัน พระอาทิตย์ก็ขึ้นพอดี ซึ่ง เราได้แค่มอง เหตุการณ์ 2 เหตุการณ์เกิดขึ้นพร้อมกัน เป็นการสำรวจพฤษติกรรม แล้วนำมาจดบันทึก ซึ่ง ในการที่ไก่ขัน ไม่ได้หมายความว่า ไก่จะขันตอนพระอาทิตย์ขึ้น หรือ พระอาทิตย์ขึ้นเพราะไก่ขัน
มาดูอีกตัวอย่างหนึ่ง

สมมติว่า เราต้องอ่านหนังสือเพื่อทำการสอบเพื่อได้คะแนน ซึ่งมี ความสัมพันธ์ระหว่าง การอ่านหนังสือ กับ คะแนนสอบ คำถามคือ ทั้งสองอย่างนี้ เป็นการทดลองแบบไหน
การวิจัยแบบเชิงทดลอง Causation ซึ่ง มองว่าการอ่านหนังสือมีความน่าจะเป็นที่จะทำให้คะแนนสอบดีขึ้นหรือไม่ หรือว่ามันลดลง
ก็คือ เมื่อตัวแปรต้น (การอ่านหนังสือ หรือ X) มีการเปลี่ยนแปลง ก็จะทำให้ตัวแปรตาม (คะแนนสอบ หรือ Y) เปลี่ยนแปลงตามไปด้วย ซึ่ง จริงๆแล้วตัวอย่างนี้ มีทั้ง Correlation และ Causation
ถ้าเราอ่านหนังสือมากขึ้น ความสัมพันธ์กับคะแนนสอบ ก็น่าจะมีความน่าจะเป็นที่ คะแนนสูงเพิ่มตามไปด้วย แต่ก็พิสูจน์ได้ค่อนข้างยาก
ดูตัวอย่างนี้ เป็นความสัมพันธ์ระหว่าง การขายไอศกรีมกับ คนโดนฉลามโจมตี สามารถเข้าไปดูใน link ในรูปภาพได้

เส้นสีแดง จำนวนคนที่ report ว่าโดนฉลามโจมตี ส่วนเส้นสีน้ำเงินเป็นจำนวนของการขายไอศกรีม จะเห็นว่า ทั้ง 2 ตัวแปร มีความสัมพันธ์กัน ในทิศทางเดียวกัน แต่ว่า ลองพิจารณาดูให้ดีๆ ทั้ง 2 ตัวแปร ไม่ได้มีส่วนเกี่ยวข้องกันเลย
Spurious Correlation ความสัมพันธ์ปลอมๆ
Luraing Variable เป็นตัวแปรตัวที่สามที่ส่งผลกระทบความสัมพันธ์ แต่ไม่ได้บันทึก คือ อุณหภูมิ
ลองพิจารณาดูให้ดี เหมือนจะเป็นเดือนที่คนออกมาท่องเที่ยว มาทะเล หรืออากาศมันร้อนขึ้น
ซึ่งจะเห็นว่าถ้าข้อมูลแบบ Big data มันจะเป็นการวิจัยแบบ Observational คือทำได้แค่สังเกตข้อมูลที่วิ่งขึ้นลงเท่านั้น ไม่สามารถสรุปผลแบบ Experimental ได้
เราจะมาเรียนรู้กันว่า วิธีอะไรที่จะพิสูจน์ว่า X จะทำให้ Y เกิดการเปลี่ยนแปลง
การทดสอบสมมติฐานแบบ Causation
จะทดสอบว่า ไก่ขัน ทำให้พระอาทิตย์จริงหรือไม่

สมมติว่ามีไก่อยู่ 100 ตัว
แล้วเราแบ่งไก่ออกเป็น 2 กลุ่มการทำ Random หรือสุ่ม สมมติว่า
เลือกไก่มา 1 ตัว จาก 100 ตัว ไปกลุ่มที่ 1 ด้วยการทอยเหรียญ ออกหัว แล้วไก่ไปกลุ่มที่ 2 ด้วยการทอยเหรียญ ออกก้อย โดยทำไปเรื่อยๆ จนครบ 100 ตัว
จากนั้นก็ทำ theatment หรือ Action อะไรบางอย่างเข้าไปในไก่กลุ่มที่ 1 โดยการมัดปากไก่ และ ปล่อยให้ไก่กลุ่มที่ 2 เดินเล่นตามปกติ ในช่วงเวลาตี 5 - 7 โมง
ผลลัพท์ที่ได้ คือ พระอาทิตย์ก็ขึ้นอยู่ดี
โดย ความน่าจะเป็นของไก่กลุ่มที่ 1 ที่ไม่สามารถขันได้ มีค่าเท่ากับ 1
และ ความน่าจะเป็นของไก่กลุ่มที่ 2 ที่ขันร้องตามเวลา มีค่าเท่ากับ 1
ตัว theatment ไม่ได้มีผลไปทำให้ตัวแปร พระอาทิตย์ เปลี่ยนแปลงไป
สำหรับตัวอย่างนี้ คือ ความน่าจะเป็นที่พระอาทิตย์ จะขึ้นหรือไม่ขึ้น
ซึ่งนี่คือตัวอย่าง ให้เห็นขั้นตอน ซึ่งในชีวิตจริง
เราอาจจะไปเก็บ Population หรือ Sample มาแล้วนำมาทดสอบ โดยสร้าง theatment ขึ้นมาดูว่า ตัวแปรที่เราสนใจมันเปลี่ยนแปลงไปหรือเปล่า
ยกตัวอย่าง - เรื่องการอ่านหนังสือ คล้ายกับตัวอย่างเรื่องไก่
โดยตั้งสมมติฐานว่า การอ่านหนังสือ ทำให้คะแนนสอบดีขึ้น หรือ แย่ลง
โดยกำหนดให้มีเด็กจำนวน 100 คน โดยแบ่ง ออกเป็น 2 กลุ่ม
กลุ่มที่ 1. ไม่ต้องอ่านหนังสือ ให้ไปทำอย่างอื่น
กลุ่มที่ 2 ให้อ่านหนังสือวันละ 10 ชั่วโมง
เป็นเวลาระยะ 1 เดือน
จากนั้นทดสอบเก็บคะแนนแล้วนำมาเปรียบเทียบกัน
โดยเราสมมติฐานว่า คะแนนเด็กที่อ่านหนังสือวันละ 10 ชั่วโมงจะต้องมีคะแนนสูง ขึ้นแน่ๆ
ถ้า คะแนนสูงขึ้นจริง อย่างมีนัยสำคัญ
เราสามารถสรุปได้เลยว่า
การอ่านหนังสือ ช่วยให้คะแนนสอบดีขึ้น
หรือ theatment ที่เราใส่เข้าไป ช่วยเข้าไปเปลี่ยนความน่าจะเป็นให้มีค่ามากขึ้นหรือน้อยลงได้
จาก Concept ที่เขียนมาทั้งหมด จะเรียกว่า Randomized Control Trials

หัวใจของวิชาสถิติ
กลับมาที่เรื่องไก่อีกรอบหนึ่ง

ไก่กลุ่มที่ 1 ที่กำหนดให้ ไม่สามารถขันได้ เรียกอีกอย่างหนึ่งว่า กลุ่ม Control ควบคุมไม่ให้ขัน
ไก่กลุ่มที่ 2 ที่กำหนดให้ ขันได้ตามปกติ เรียกอีกอย่างหนึ่งว่า กลุ่ม Test
โดยการ Random ไก่แล้ว Control นั่นเอง

facebook marketing science
การทดสอบการโฆษณาบน facebook
สมมติว่าเวลาที่เรายิงโฆษณาออกไป เราอยากรู้ว่ามันจะช่วยเพิ่มยอดขายให้กับเราหรือไม่
จากขั้นนตอนที่ระบบ facebook ทำเวลาที่ยิง Ads
สมมติเรา filter Population ออกมาเป็นคนที่จะซื้อสินค้าอย่างหนึ่งของเรา ช่วงอายุ 20 - 30 ปี
ที่อยู่ในกรุงเทพ
และ facebook จะทำการแบ่งข้อมูลออกเป็น 2 กลุ่ม
โดยกลุ่มที่ 1 จะเป็นกลุ่มที่เห็นโฆษณาที่ยิง Ads ออกไป จะเรียกว่ากลุ่ม Test
และ กลุ่มที่ 2 จะเป็นกลุ่มที่ถูกกำหนด ให้ไม่เห็น Ads เลย จะเรียกว่ากลุ่ม Control ควบคุมไม่ให้เห็น
แล้วก็ Run เก็บข้อมูลไปเรื่อยๆ จนครบกำหนดเวลา ยกตัวอย่างเช่น 14 วัน
จากนั้นก็นำทั้ง 2 กลุ่มมาประเมินดูว่า มีคนมาซื้อสินค้า มากกว่ากันแค่ไหน โดยเปรียบเทียบการซื้อสินค้าระหว่างกลุ่มที่เห็นโฆษณา กับ กลุ่มที่ไม่เห็นโฆษณาเลย Conversion Diff
The Group that could potentially be exposed to the treatment
- Test Group ✅
The Group that won’t be exposed to the treatment
- Control Group ✅
The variable that the test group is exposed to
- Treatment ✅
The true impact of an ad. Also known as lift
- Result ✅
AB Testing

การทำสอบ AB Testing เป็นการทดสอบเหมือนเดิม คือ
อายุ 20 - 30 ปี อยู่ในกรุงเทพ
แบ่งออกเป็น 2 กลุ่ม โดยเพศ ชาย หญิง มีสัดส่วนเท่าๆกัน มีโปรไฟล์เท่าๆกัน มี Bias น้อยมากโดยทั้ง 2 กลุ่มจะเห็นโฆษณา เหมือนกัน
แต่เห็นโฆษณาคนละเวอร์ชัน เวอร์ชันในกลุ่มแรกอาจจะเห็นโฆษณา 15 วินาที และ อีกเวอร์ชัน 30 วินาที คราวนี้มาเปรียบเทียบการกด like comment ต่างๆ เปรียบเทียบสัดส่วนว่า โฆษณาตัวไหนดีกว่ากัน

RCT
เราสามารถวัด impace ที่แท้ของการ จะเรียกว่าค่า lift ในทาง data science จะเรียกว่า lift เหมือนกัน แปลว่ามันเพิ่มขึ้น กี่เปอร์เซ็น
AB Test
เทียบได้แค่ว่า โฆษณาไหนมีประสิทธิภาพมากกว่ากัน
วิธีการใช้งาน
ดูตามเป้าหมายว่าเราอยากรู้อะไร โดยดูว่า โฆษณามี impact หรือไม่จากวิธี RCT จากนั้นก็ค่อยเอามาทดสอบด้วย AB Test


สิ่งที่สำคัญที่สุด คือ Sample กับ. Population คืออะไร
ยังพูดถึงการยิง Ads facebook อยู่ในตัวอย่างนี้
สมมติว่าวงกลมก้อนใหญ่คือ ประชากรทั้งหมด ที่ชอบสินค้าของเรา เช่น มีอยู่ 500,000 คนในกรุงเทพ (Population) ค่าที่แท้จริงเรียกว่า ค่ามิว (u) แต่ facebook ดึงข้อมูลมาแค่ 100,000 คน (Sample) ค่าเฉลี่ย มีโอกาสที่จะผิดอยู่
นักสถิติก็เลยทำอย่างไรก็ได้ ให้มั่นใจได้ว่า ใกล้เคียงกับของจริงมากที่สุด มีโอกาสผิดน้อยที่สุด ถ้ามันผิดจะต้องวัดผลให้ได้ว่า มันผิดแค่ไหน เราเรียกขั้นตอนนี้ว่า Estimation
Descriptive Stats - Simulate Data in Google Sheet
มาลองทำการ Simulate ข้อมูลเพื่อเอาไว้ใช้กันด้วย Google Sheet
ซี่งยกตัวอย่างว่าเราจะมาจำลองข้อมูลยอดขายที่ทำด้วย Google Sheet สมมติว่า เรามียอดขายอยู่ที่ 1500 บาทต่อวัน โดยมีค่าเบี่ยงเบนมาตรอยู่ที่ประมาณ 200 บาท ซึ่งค่านี้เป็นค่าสมมติ หรือว่าเป็นค่าที่ได้จากยอดขายจริงๆก็ได้ มาลองทำตามตัวอย่างกันดู
Mean | SD |
---|---|
1500 | 200 |
เราทำการ simulate ข้อมูลด้วยฟังก์ชัน Random แบบ Normal Distribution โดยสมมติว่ายอดขายที่ได้นี้เป็นแบบ Normal Distribution
=RAND()
โดยฟังก์ชันนี้ เป็นฟังก์ชัน Random ค่าออกมา ซึ่งเวลาที่มีการ update Cell ใน google sheet จะมีการเปลี่ยนแปลงค่าเสมอ
คราวนี้เราจะ wrap ฟังก์ชัน random ด้วย
=NORMINV(RAND(), MEAN, SD)
สิ่งที่สูตรนี้ทำ มันจะ Random วิ่งตามค่า Mean และ SD ที่เรากำหนดเอาไว้ โดยวิ่งเป็นข้อมูลที่เป็น Normal Distribution
หลังจากรันสูตร สังเกตว่าค่าที่ได้จะได้ใกล้เคียงกับค่า Mean ที่เรากำหนดไว้
ต่อไปให้ทำการ copy สูตรลงมา ประมาณ 100 รายการ จำลองว่าเรามีการขายของได้ 100 รายการ
1721.2209 |
---|
1406.2157 |
1808.1768 |
1489.9449 |
1334.4035 |
… |
1607.2228 |
1440.6397 |
1658.8289 |
1377.6884 |
ลองทดสอบว่า ได้ค่า mean และ SD เป็นอย่างไรด้วย สูตร
=AVERAGE(A:A)
=STDEV.S(A:A)
ไม่ว่าจะกดกี่ครั้งก็จะได้ค่าใกล้เคียงกับค่าที่เรากำหนดขึ้นมา
1495.5 |
---|
204.4 |
ลองทดสอบอีกอย่างหนึ่ง คือ การนำค่าที่ได้ทั้งหมดมาว่ากราฟ ก็จะเห็นว่าค่าที่ได้จะออกมาเป็น Normal Distribution เสมอ

เราสามารถใช้ Extension ที่อยู่ใน Add-On ของ google sheet ได้ด้วย ชื่อ XLminer สามารถติดตั้งเพิ่มเติมได้ เมื่อกดฟังก์ชัน มันจะมีเมนูออกมาทางด้านข้าง และ สามารถ Descriptive Stats ที่จะ gernerate ข้อมูลสถิติออกมา
1518.7139 | Mean | 1471.511463 | |
---|---|---|---|
1427.3369 | Standard Error | 21.58940861 | |
1716.1295 | Median | 1433.363369 | |
1650.9083 | Mode | 2090.928 | |
1396.5649 | Standard Deviation | 216.9708712 | |
1946.4517 | Sample Variance | 47076.35897 | |
1257.5175 | Kurtosis | 0.6038413232 | |
1278.7182 | Skewness | 0.5671078275 | |
1831.2171 | Range | 1044.06325 | |
1815.6453 | Minimum | 1046.86475 | |
1713.3594 | Maximum | 2090.928 | |
1123.6585 | Sum | 148622.6577 | |
1457.1668 | Count | 101 | |
1888.5966 | Largest(1) | 2090.928 | |
1312.6600 | Smallest(1) | 1046.86475 | |
1344.8566 | Confidence Level(95%) | 42.83277065 | |
… |
Normal Distribution - Simulate Data in Google Sheet
Normal Distribution เป็น Empirical Rule ถ้าข้อมูลมีการวิ่งกระจายตัวปกติ มันจะได้ค่า SD ตามตารางด้านล่างเสมอ

+/- 1SD | 68.2 |
---|---|
+/- 2SD | 95 |
+/- 3SD | 99.7 |
ให้ simulation อีกครั้งสำหรับตัวอย่างนี้
=NORMINV(RAND(), 200, 15)
โดยค่า Mean เท่ากับ 200 และ SD เท่ากับ 15
ซึ่งในหัวข้อนี้จะพิสูจน์การเป็น Empirical Rule ด้วยการ ใช้ Google Sheet
=AVERAGE(A9:A109)
=STDEV.S(A9:A109)
={$D$9-$D$10, $D$9+$D$10}
={$D$9-2*$D$10, $D$9+2*$D$10}
={$D$9-3*$D$10, $D$9+3*$D$10}
นี้คือสูตรในการหาค่า SD ตามตาราง
MEAN | 200.1880107 | |
---|---|---|
SD | 14.29162417 | |
+/- 1SD | 185.8963865 | 214.4796348 |
+/- 2SD | 171.6047623 | 228.771259 |
+/- 3SD | 157.3131382 | 243.0628831 |
LOWER BOUND | UPPER BOUND |
ค่า SD นี้บอกถึงอะไร
มันเป็นการบอกว่า ความน่าจะเป็นข้อมูล รายการขายทั้งหมด มีความน่าจะเป็นที่จะมาตกอยู่ในช่วงของ SD แต่ละค่า ตามความน่าจะเป็น 68.2, 99.5 และ 99.7 เปอร์เซ็น
ลองพิสูจน์ดูด้วยฟังก์ชัน นับจำนวน
=COUNTIFS($A$9:$A$109, ">=" &D11, $A$9:$A$109, "<=" &E11)
MEAN | 198.6841789 | ||
---|---|---|---|
SD | 16.28744636 | Proportion | |
+/- 1SD | 182.3967326 | 214.9716253 | 69 |
+/- 2SD | 166.1092862 | 231.2590716 | 97 |
+/- 3SD | 149.8218398 | 247.546518 | 101 |
LOWER BOUND | UPPER BOUND |
จะเห็นว่า ค่าที่ได้ 69, 97, 101 คือ จำนวนที่นับค่าได้ ถ้าอยากรู้อัตราส่วนจะต้องหารด้วยจำนวนทั้งหมด คือ 100
MEAN | 201.8240277 | ||
---|---|---|---|
SD | 15.1134612 | Proportion | |
+/- 1SD | 186.71 | 216.937 | 66.00% |
+/- 2SD | 171.60 | 232.051 | 98.00% |
+/- 3SD | 156.48 | 247.164 | 101.00% |
LOWER BOUND | UPPER BOUND |
จะเห็นว่าใกล้เคียงกับค่า empical rule
Confident Interval
จากที่กล่าวไว้ตอนต้นในเรื่องของ Population กับ sample ที่เลือกมา
สมมติว่าวงกลมก้อนใหญ่คือ ประชากรทั้งหมด ที่ชอบสินค้าของเรา เช่น มีอยู่ 500,000 คนในกรุงเทพ (Population) ค่าที่แท้จริงเรียกว่า ค่ามิว (u) แต่ facebook ดึงข้อมูลมาแค่ 100,000 คน (Sample) ค่าเฉลี่ย ซึ่งมีโอกาสที่จะผิดอยู่
นักสถิติก็เลยทำอย่างไรก็ได้ ให้มั่นใจได้ว่า ค่าที่ได้จะใกล้เคียงกับของจริงมากที่สุด มีโอกาสผิดน้อยที่สุด ถ้ามันผิดจะต้องวัดผลให้ได้ว่า มันผิดแค่ไหน เราเรียกขั้นตอนนี้ว่า Estimation ซึ่งในเรื่องนี้คือการ ประเมินค่า โดยใช้ค่า Confident Interval เป็นค่าช่วงความมั่นใจว่า ค่าที่ได้ sample มาเป็นค่าตัวแทนของ Population จริงๆ
การที่จะรู้ค่าที่แท้จริงได้นั้น จะต้องเก็บข้อมูลจริงๆ จากทั้งหมด 500,000 คนจึงจะได้ข้อมูลที่ถูกต้องจริงๆ แต่มันเป็นไปไม่ได้
โดยใช้ตัวอย่าง Rating หนังชื่อ Tenet โดยกำหนดว่ามีคะแนนตั้งแต่ 0 - 10 คะแนน
ซึ่งโจทย์มีอยู่ว่า เราอยากจะรู้ว่า หนังเรื่อง Tenet มีอยู่กี่คะแนน ซึ่งในความเป็นจริง เราไม่สามารถที่จะเข้าไปเก็บข้อมูลจากคนที่ดูหนังเรื่อง Tenet ทั้งหมด สมมติว่า คนดูเรื่องนี้ในประเทศไทย 10,000 คน แต่เราไม่สามารถจะไปเดินถามได้ทั้งหมด ทำได้แค่เก็บข้อมูลสุ่มตัวอย่าง อาจจะจำนวน 50 คนโดยการถามเพื่อนบน facebook
Rating | |||
---|---|---|---|
7.5 | Mean | ||
8.0 | SD | ||
6.8 | N | ||
8.1 | |||
7.4 | |||
7.8 | |||
… |
เราจะหาค่าเฉลี่ย ค่าเบี่ยงเบนมาตรฐาน และ จำนวนทั้งหมด
Mean | 7.606 |
---|---|
SD | 0.7279646626 |
N | 50 |
เราจะใช้สูตร ใน google sheet การหา Confident Interval
โดยข้อควรรู้ก่อนจะนำสูตรมาใช้ คือ ค่า Error ในการประมาณค่า
ซึ่งในการสุ่มตัวอย่างแต่ละครั้ง อาจจะทำให้ค่าต่างๆ เช่น ค่าเฉลี่ย ค่าเบี่ยงเบนมาตรฐาน และค่าอื่นๆทางสถิติ มีการเปลี่ยนแปลงอยู่เสมอ เมื่อมีการเก็บข้อมูลการสุ่มตัวอย่างใหม่ เพราะว่าค่าต่างๆที่เก็บมาเป็นตัวเลขสุ่ม
นักสถิติจึงจำเป็นต้องทำเป็นช่วงความเชื่อมั่นขึ้นมาสามารถเขียนเป็นตารางได้ว่า
Confident Interval | ||
---|---|---|
95% | LOWER BOUND | UPPER BOUND |
ความมั่นใจ 95% หมายความว่าอย่างไร
ซึ่งในการสุ่มตัวอย่างมาในแต่ละครั้ง สมมติว่ามีการสุ่มตัวอย่าง 100 ครั้ง ค่าที่คำนวน X จะอยู่ในช่วง Confidence Interval ได้ทั้งหมด 95 ครั้ง อีก 5 ครั้ง คือ Error และค่าที่จะต้องเป็นค่าที่เป็น Rating จริงๆ หรือ True Parameter อยู่ในช่วงประมาณไหน
=CONFIDENCE.NORM(alpha (error), SD , N)
สังเกตว่า ข้อมูลชุดนี้จะต้องเป็น ข้อมูลที่มีการกระจายตัวปกติด้วย

ซึ่งค่าที่ได้ จะเรียกว่า Margin Error หรือ ขอบของ Error ที่ 95%

Margin Error | 0.2017778021 |
---|
จากนั้นก็เอาค่าเฉลี่ย - ค่า Margin Error , ค่าเฉลี่ย + ค่า Margin Error
เราก็จะได้ ช่วย Confidence Interval ขึ้นมา
95% | LOWER BOUND | UPPER BOUND |
---|---|---|
7.404 | 7.808 |
สรุปอีกครั้งว่า ทุกๆครั้งที่มีการ สุ่มตัวอย่างใหม่ค่าต่างๆทางสถิติมันจะเปลี่ยน ดังนั้น นักสถิติจึงได้กำหนดค่าที่น่าจะเป็นค่า Rating อยู่ในช่วง ประมาณ 7.404 ถึง 7.808 โดยมั่นใจได้ 95%
เราได้ใช้วิธีสูตรใน google sheet ไปแล้ว มาดูขั้นตอนการคำนวนแบบไม่ใช้สูตรกันบ้าง
ขั้นตอนที่ 1 หาค่า SE : Standard Error
Standard Error = SD/SQRT(N)
ขั้นตอนที่ 2
=Standard Error * 1.96
ค่า 1.96 คือค่า Z ที่ข้อมูลมีการกระจายตัวแบบ Normal Distribution
เราก็จะได้ค่า Margin Error เท่ากับ
Margin Error | 0.2017815098 |
---|
ซึ่งใกล้เคียงกับวิธีที่ใช้สูตร
มาทำความเข้าใจกับ Confidence Interval ที่ 95% ที่ sample 20 ครั้ง


ซึ่งในการ Sample ในแต่ละครั้ง จะเก็บค่า True Parameter ตามภาพ โดยจะมีครั้งหนึ่งที่ไม่เก็บ ซึ่งในความเป็นจริง เราไม่มีทางรู้ว่า มีช่วงไหนที่มีการเก็บค่า True Parameter อยู่ และ ไม่มีใครที่จะเก็บข้อมูล Sample ซ้ำ 20 ครั้งหรือ 100 ครั้งด้วย นักสถิติก็บอกเลยว่าเก็บมาครั้งเดียว และใช้ค่าความเช่ือมั่นเพื่อทดสอบ
ซึ่งอย่างที่บอก ไม่มีใครมานั่งเก็บข้อมูลซ้ำ เพราะมันเสียค่าใช้จ่าย เราเก็บแค่ครั้งเดียวตามตัวอย่าง แล้วสร้างตารางความเชื่อมั่นขึ้นมา แล้ว Assume ว่านี้คือ ข้อมูลที่มีความมั่นใจ 95% นะ
Mean | 7.606 | |
---|---|---|
SD | 0.7279646626 | |
N | 50 | |
95% | LOWER BOUND | UPPER BOUND |
7.404 | 7.808 |
https://datarockie.com/blog/significance-test-confidence-interval/
https://home.kku.ac.th/nikom/estimation_nk_2560_2page.pdf
https://sites.nicholas.duke.edu/statsreview/671-2/
Independent T-Test
เราจะมาทดสอบข้อมูลด้วย T-Test กัน
สมมติว่ามีโจทย์ว่า เรามีร้านค้าออนไลน์ขายของอยู่ 2 สาขา ตามภาพ

โดยโจทย์บอกว่าระหว่างร้านที่ 1 ไม่มีการยิง Ads Facebook เลย และ ร้านที่ 2 มีการยิง Ads Facebook โดยเก็บข้อมูลทั้งหมด 90 วัน เปรียบเทียบกัน อยากรู้ว่า ร้านไหนมีผลต่อยอดขายมากกว่ากัน
หลังจากเก็บข้อมูลมาครบทั้ง 90 วัน แล้วก็เอาข้อมูลทั้ง 2 ร้านมาเปรียบเทียบกัน
Day | Store 1 | Store 2 |
---|---|---|
1 | 266.9 | 344.1 |
2 | 300.0 | 355.2 |
3 | 286.0 | 363.3 |
4 | 289.8 | 291.7 |
5 | 274.3 | 347.9 |
6 | 280.7 | 301.6 |
7 | 274.2 | 335.8 |
8 | 289.5 | 341.8 |
9 | 276.1 | 306.1 |
10 | 280.1 | 312.1 |
… | ||
90 | 272.6 | 324.2 |
สังเกตว่า การวิจัยนี้เป็นการแบบ RCT
ร้านที่ 1 ตัวแปรแบบ Control
ร้านที่ 2 ตัวแปร Test
Store 1 | |
---|---|
No advertising in store | |
280 | Mean |
15 | SD |
Store 2 | |
---|---|
Has advertising in store | |
315 | Mean |
28 | SD |
จากตารางเปรียบเทียบร้านค้าเป็นการ Simulation ขึ้นมาเพื่อทดสอบสมมติฐานเท่านั้นโดยใช้ สูตร
=NORMINV(RAND(), MEAN Store 1, SD Store 1)
=NORMINV(RAND(), MEAN Store 2, SD Store 2)
หลังจากที่ได้ค่าเฉลี่ย และ ค่าเบี่ยงเบนมาตรฐานแล้ว
ขั้นตอนถัดไปจะมาทดสอบ RCT โดยที่เราจะใช้ สถิติคือ T Test ซึ่งเป็นการเปรียบเทียบค่าเฉลี่ย แต่ก่อนจะทดสอบ T Test. ได้เราจะต้องทำ F Test กันก่อน ซึ่งเป็นการทดสอบความแปรปรวน (Test equality of variances)
โดยสมมติฐานหลักของ การทำ. F Test คือ
if p-value <=0.05, Reject H0
H0 : equal vars assumed
H1 : equal vars not assumed
การจะ Accept Assumed หรือยอมรับสมมติฐาน H0 หรือ Reject Assumed หรือปฏิเสทสมมติฐาน H1 ได้จะต้องดูที่ค่า F Test. ซึ่ง ถ้าค่า P-value มีค่า น้อยกว่าหรือเท่ากับ 0.05 (5%) เราจะ Reject แล้วสรุปผลว่า ร้านค้าที่ 1 และ ร้านค้าที่ 2 มีค่า Variant ที่ไม่เท่ากัน
คราวนี้ลองมาพิสูจน์อะไรสักเล็กน้อยโดยการทำ Simulation
จากตารางด้านล่าง เราได้มีการเก็บข้อมูลตั้งแต่วันที่ 1 - 90 โดยที่ Store ที่ 1 ไม่มีการยิงโฆษณา และ Store ที่ 2 มีการยิงโฆษณา เราจะนำมาเปรียบเทียบยอดขายกัน
Day | Store 1 | Store 2 | DIFF |
---|---|---|---|
1 | 294.7 | 308.9 | 14.2 |
2 | 276.8 | 357.3 | 80.4 |
3 | 277.2 | 290.2 | 13.1 |
4 | 284.1 | 326.0 | 41.8 |
5 | 259.9 | 328.3 | 68.4 |
6 | 288.1 | 351.0 | 62.9 |
7 | 296.2 | 310.3 | 14.2 |
8 | 302.0 | 328.0 | 26.0 |
9 | 282.6 | 275.7 | -6.9 |
10 | 280.0 | 318.3 | 38.3 |
11 | 284.8 | 307.6 | 22.8 |
12 | 293.4 | 285.9 | -7.5 |
13 | 287.1 | 300.1 | 13.1 |
14 | 314.5 | 296.7 | -17.8 |
15 | 293.2 | 355.3 | 62.1 |
… | |||
90 | 309.6 | 337.9 | 28.3 |
จากตาราง สังเกตเห็นว่า ในบางวันร้านค้าที่ 2 แม้ว่าจะมีการยิง Ads แต่ร้านที่ 1 ไม่มีการยิง Ads ขายดีว่า ค่า Diff ก็จะเป็นค่าติดลบ เพราะว่า เราเอา Store 2 - Store 1
คราวนี้ก็เกิดคำถามว่า แล้วการยิงโฆษณาในร้านค้าที่ 2 มันช่วยให้ยอดขายดีขึ้นจริงหรือเปล่า
เราต้องมาทดสอบสมมติฐานทางสถิติ
ก่อนอื่นจะต้องทดสอบ FTest ก่อนโดยใช้สูตร
=F.TEST(Net Of Store1 , Net Of Store2) // Net : ยอดขาย
Test equality of variances | |
---|---|
F.Test | 0 |
ค่านี้เป็น. P-value จะเป็นค่าที่น้อยมาก ซึ่ง สามารถเขียนสูตรเพื่อสรุปผลได้เลย
=IF(F.TEST(Net Of Store1 , Net Of Store2) <= 0.05, "REJECT H0", "ACCEPT H0")
สรุปผลว่า ทั้ง 2 ร้านมีค่า Variant ไม่เท่ากัน
Test equality of variances | |
---|---|
F.Test | REJECT H0 |
มีคำถามว่าทำไม จึงต้องทำ F Test ก่อน
คำตอบ คือ ถ้า REJECT H0 หรือ ACCEPT H0 จะใช้สูตรในการคำนวน T Test ไม่เหมือนกัน
คราวนี้เรารู้แล้วว่า REJECT H0 เราจะใช้สูตรว่า
=T.TEST(Net Of Store1 , Net Of Store2, 2, 3)
ให้สังเกตว่าเลข 2 จะเป็นการกำหนดให้ระบุการกระจายแบบ 2 tails ส่วน 3 เรากำหนดเพราะการคำนวนก่อนหน้านี้ คือ ค่า variant ไม่เท่ากัน

กรณีที่เป็นการ ทดสอบแบบ Pair T-Test ให้ใช้ type = 1 อย่างเช่น การทดสอบคะแนนข้อสอบนักเรียนหลังจากที่มีการติวเข้ม 30 วัน เป็นต้น เป็นแบบ Before After
ทำเหมือนเดิมกับ F Test สรุปผลลงไปเลยโดยใช้ IF
=IF(T.TEST(Net Of Store1 , Net Of Store2, 2, 3) <= 0.05, "REJECT H0", "ACCEPT H0")
โดยที่
if p-value <=0.05, Reject H0
H0 : mean store1 = mean store2
H1 : mean store1 != mean store2
Test equality of means | |
---|---|
T.Test | REJECT H0 |
หมายความว่า ยอดขายของทั้ง 2 ร้านมีค่าไม่เท่ากัน โดยที่ร้านที่ 2 มีค่าสูงกว่า หรือ ขายดีกว่า เมื่อดูจากค่าเฉลี่ย
Store 1 | |
---|---|
No advertising in store | |
280 | Mean |
15 | SD |
Store 2 | |
Has advertising in store | |
315 | Mean |
28 | SD |
หรือจะใช้วิธีว่า เราหาค่าเฉลี่ยของค่า Diff ของทั้ง 2 ร้าน แล้วดูว่าค่าเฉลี่ยมีค่ามากกว่า 0 หรือไม่
เราทำการ Sample ใหม่ไม่ว่าจะกี่รอบ เช่น 100 รอบ 1000 รอบ ก็มีค่ามากกว่า 0 อาจจะมีสักครั้งที่มีค่า ต่ำกว่า ซึ่งมีค่าน้อยมาก ซึ่งหากว่าเราลองเอาค่า Diff นี้เก็บไว้แล้วนำมา Plot กราฟก็จะเห็นภาพที่ชัดขึ้น
เราสามารถสรุปผลได้ว่า การยิง Ads ช่วยให้ยอดขายดีขึ้นจริง
คอร์สนี้ดีมากกกก (ไก่ ล้านตัว) ใครอ่านจบ แนะนำว่าให้ไปสมัครเรียน ติดตามได้ที่ link ด้านล่างนี้เลย จริงๆ
Course Online DATA ROCKIE Bootcamp
