หน่วย
1. ปัญญาประดิษฐ์ทางเศรษฐมิติและสถิติ: บทบาท ขอบเขต การรับรองความถูกต้อง และความเป็นส่วนตัว 2. การทำความสะอาดและการเตรียมข้อมูล: ข้อมูลสูญหาย ค่าผิดปกติ และการเข้ารหัส 3. การวิเคราะห์ข้อมูลเชิงสำรวจและการแสดงภาพ: การสร้างกราฟและการตีความด้วยปัญญาประดิษฐ์ 4. การถดถอยเชิงเส้น: การสร้างแบบจำลอง การตีความค่าสัมประสิทธิ์และการสันนิษฐาน 5. การวินิจฉัยการถดถอยและการละเมิด: Collinearity, Heteroscedasticity, Autocorrelation 6. การทดสอบสมมติฐานและค่า p: นัยสำคัญ กำลัง และการเปรียบเทียบพหุคูณ 7. p-hacking, HARKing และความสมบูรณ์ทางสถิติ: ข้อผิดพลาดในยุคของปัญญาประดิษฐ์ 8. การวิเคราะห์อนุกรมเวลา: ความคงที่, ARIMA และการพยากรณ์ 9. การวิเคราะห์สาเหตุและนโยบาย: DiD, IV, RDD และปัญญาประดิษฐ์ 10. การสร้างโค้ดและการทำซ้ำ: R/Python, การกำหนดเวอร์ชันและการทำซ้ำ 11. การเขียนรายงาน การสื่อสาร และจริยธรรม: การนำเสนอผลลัพธ์และขอบเขตการสื่อสาร
หน่วย 2 / 11

การทำความสะอาดและการเตรียมข้อมูล: ข้อมูลสูญหาย ค่าผิดปกติ และการเข้ารหัส

กำไร:

  • ความสามารถในการจดจำประเภทข้อมูลที่ขาดหายไป (MCAR/MAR/MNAR) ค่าผิดปกติ และข้อผิดพลาดในการเขียนโค้ด และใช้ AI กับข้อมูลที่ถูกต้องเพื่อสร้างโค้ดการล้างข้อมูลและการวินิจฉัย
  • ความสามารถในการดูว่าแต่ละขั้นตอนการทำความสะอาด (การลบ การมอบหมาย การเปลี่ยนแปลง) ที่แนะนำโดยปัญญาประดิษฐ์จะส่งผลต่อผลการวิเคราะห์อย่างไร และสร้างขั้นตอนการทำงานที่ย้อนกลับได้และเป็นเอกสาร
  • การรักษาการตัดสินใจในการล้างข้อมูลนั้นขึ้นอยู่กับความรู้เกี่ยวกับกระบวนการที่สร้างข้อมูล และปัญญาประดิษฐ์นั้นเป็นผู้ช่วยที่ได้รับการดูแล ไม่ใช่หุ่นยนต์ตาบอด

นักวิเคราะห์ที่มีประสบการณ์ทุกคนรู้ความจริงข้อหนึ่ง: เวลาส่วนใหญ่ของโครงการเชิงประจักษ์ไม่ใช่การสร้างแบบจำลอง แต่เป็นการล้างข้อมูล (งานแก้ไขข้อผิดพลาด การละเว้น และความไม่สอดคล้องกันในข้อมูล และการเตรียมให้พร้อมสำหรับการวิเคราะห์) ตามกฎทั่วไปแล้ว ประมาณ 70-80% ของเวลาจะเข้าสู่การทำความเข้าใจ ทำความสะอาด และเปลี่ยนแปลงข้อมูล เหลือเพียง 20-30% สำหรับการวิเคราะห์จริง ในหน่วยการเรียนรู้นี้ เราจะมาดูทีละขั้นตอนว่าปัญญาประดิษฐ์ (AI) ช่วยลดภาระอันหนักหน่วงนี้ได้อย่างไร แต่การตัดสินใจเรื่องใดควรยังคงอยู่กับคุณและเพราะเหตุใด

เรามาใส่ข้อเท็จจริงพื้นฐานสองประการกันก่อน ประการแรก การตัดสินใจในการทำความสะอาดขึ้นอยู่กับความรู้ของคุณเกี่ยวกับกระบวนการที่สร้างข้อมูล มีเพียงคุณเท่านั้นที่รู้ว่าเหตุใดค่าจึงหายไป เหตุใดตัวเลขจึงมีขนาดใหญ่เกินไป AI ไม่เห็นข้อมูล ไม่ทราบบริบท เขียนโค้ดไม่ได้ตัดสินใจ ประการที่สอง แต่ละขั้นตอนการทำความสะอาดอาจเปลี่ยนแปลงผลการวิเคราะห์ การลบค่าผิดปกติสามารถกลับค่าสัมประสิทธิ์ได้ การเติมค่าเฉลี่ยที่หายไปสามารถลดความแปรปรวนได้ ดังนั้นการล้างข้อมูลควรสามารถย้อนกลับได้และบันทึกไว้: อย่าแตะต้องข้อมูลดิบ ทำแต่ละขั้นตอนในโค้ด บันทึกผลกระทบของแต่ละขั้นตอน

ขั้นตอนการทำความสะอาดทีละขั้นตอน

1. รู้ข้อมูล ขั้นแรกให้ดูโครงสร้าง: จำนวนแถว (การสังเกต) และคอลัมน์ (ตัวแปร), ประเภทของตัวแปรแต่ละตัว (ตัวเลข, หมวดหมู่, วันที่), สถิติสรุป, จำนวนที่หายไป คุณสามารถขอรหัส "โปรไฟล์ข้อมูล" นี้จาก AI ได้ แต่คุณอ่านผลลัพธ์แล้วถามคำถามเช่น "เหตุใดตัวแปรนี้จึงมาเป็นข้อความ"

2. ทำความเข้าใจและจำแนกข้อมูลที่ขาดหายไป ข้อมูลที่ขาดหายไปแบ่งออกเป็น 3 ประเภท MCAR (หายไปโดยสิ้นเชิงโดยการสุ่ม): การหายไปไม่ได้เกิดจากสิ่งใดเลย เช่น เซ็นเซอร์ทำงานล้มเหลวแบบสุ่ม MAR (หายไปแบบสุ่ม): การหายไปขึ้นอยู่กับตัวแปรอื่นๆ ที่สังเกตได้ เช่น ผู้สูงอายุจะเว้นว่างคำถามบ่อยขึ้น แต่คุณทราบอายุ MNAR (หายไปโดยไม่สุ่ม): การหายไปขึ้นอยู่กับมูลค่าที่ตรวจไม่พบ ตัวอย่างเช่น ผู้มีรายได้สูงไม่รายงานรายได้ของตน ความแตกต่างนี้มีความสำคัญเนื่องจากเป็นตัวกำหนดวิธีการแก้ปัญหา และ AI ไม่สามารถตัดสินใจเรื่องนี้ให้กับคุณได้

3. จัดการกับข้อบกพร่อง ตัวเลือก: การลบแบบรายการ, การใส่ค่าเฉลี่ย/มัธยฐาน, การใส่ข้อมูลหลายรายการตามแบบจำลอง การลบใน MCAR นั้นค่อนข้างปลอดภัยแต่จะลดขนาดตัวอย่างลง การมอบหมายหลายรายการมีความเหมาะสมมากกว่าใน MAR ไม่มีวิธีการง่ายๆ ที่รับประกันความเป็นกลางใน MNAR กลไกการขาดควรได้รับการสร้างแบบจำลองหรืออย่างน้อยควรทำการวิเคราะห์ความไว การเติมค่าเฉลี่ยเป็นเรื่องง่ายแต่อันตราย: ลดความแปรปรวน ทำให้ความสัมพันธ์อ่อนแอลง และซ่อนความไม่แน่นอน

4. ตรวจสอบค่าผิดปกติ ค่าผิดปกติคือการสังเกตการณ์ที่อยู่ห่างไกลจากสิ่งอื่นมาก แยกสองคำถาม: นี่เป็นข้อผิดพลาด (อายุ 999 เขียนในการป้อนข้อมูล) หรือเป็นมูลค่าที่แท้จริงแต่มีค่าผิดปกติ (รายได้ของมหาเศรษฐี)? แก้ไขข้อบกพร่อง อย่าลบค่าผิดปกติที่แท้จริงเนื่องจากแสดงถึงข้อมูล การลบค่าผิดปกติ "เพราะมันรบกวนจิตใจ" คุณกำลังบิดเบือนข้อมูลไปสู่ผลลัพธ์

5. การเขียนโค้ดและความสม่ำเสมอ สร้างมาตรฐานหมวดหมู่ ("ชาย", "ชาย", "E" ทั้งหมดเป็นรหัสเดียว) นำวันที่มาเป็นรูปแบบเดียว หน่วยเป็นขนาดเดียว ตรวจจับแถวที่ซ้ำกัน นี่เป็นระยะที่มีความเสี่ยงน้อยที่สุดที่ AI จะช่วยได้ดีที่สุด

6. จัดทำเอกสารและหยุดการทำงาน บันทึกแต่ละขั้นตอนด้วยโค้ดและบรรทัดความคิดเห็น โดยแยกข้อมูลดิบและข้อมูลล้างออกจากกัน ดังนั้นเมื่อผู้ตัดสินถามว่า "เหตุใดข้อสังเกตเหล่านี้จึงตกไป" คุณมีคำตอบของคุณพร้อมแล้ว

ข้อควรระวัง: อย่าตัดสินใจทำความสะอาดโดยพิจารณาจากผลลัพธ์ การลบบรรทัดที่ระบุว่า "เมื่อคุณลบบรรทัดนี้ ค่าสัมประสิทธิ์จะมีนัยสำคัญ" เป็นรูปแบบ p-hacking ที่ร้ายกาจที่สุด ซึ่งเราจะเห็นในหน่วยถัดไป

ตารางเปรียบเทียบ: วิธีการข้อมูลขาดหายไป

วิธีการ

เมื่อไหร่จึงจะเหมาะสม?

ความเสี่ยง

บทบาทของเอไอ

ลบแถว

MCAR อัตราการขาดหายไปต่ำ

ตัวอย่างมีขนาดเล็กลง โดยมีอคติใน MAR/MNAR

เขียนโค้ด คุณตัดสินใจ

การกำหนดค่าเฉลี่ย / ค่ามัธยฐาน

การวิเคราะห์เบื้องต้นอย่างรวดเร็ว

ลดความแปรปรวน ซ่อนความสัมพันธ์

ง่ายแต่ไม่แนะนำ ควรเตือน

การมอบหมายงานหลายรายการ (MI)

MAR ตัวแปรสำคัญ

หากติดตั้งไม่ถูกต้องจะเกิดการเข้าใจผิด

แนะนำโค้ดและแพ็คเกจ(เม้าส์)

การสร้างแบบจำลองกลไก

เอ็มนาร์

ซับซ้อน คาดเดายาก

ร่างเท่านั้น จำเป็นต้องมีผู้เชี่ยวชาญ

ข้อความแจ้งที่สามารถคัดลอกได้สี่รายการ

1. การทำโปรไฟล์ข้อมูล:

บทบาทของคุณ: ผู้ช่วยล้างข้อมูล ฉันไม่เปิดเผยข้อมูล ฉันต้องการรหัส R ฉันมี data.frame ชื่อ 'digit'; ตัวแปร: รหัส อายุ (ตัวเลข) รายได้ (ตัวเลข) การศึกษา (หมวดหมู่) ภูมิภาค (หมวดหมู่) วันที่ (วันที่) งาน: เขียนโค้ดที่สร้างประเภท หมายเลขและอัตราที่หายไปสำหรับตัวแปรแต่ละตัว สถิติสรุปสำหรับตัวเลข และตารางความถี่สำหรับตัวแปรแบบหมวดหมู่ เพิ่มบรรทัดแสดงความคิดเห็น

2. การวินิจฉัยข้อมูลที่ขาดหายไป:

เขียนโค้ดที่ตรวจสอบรูปแบบที่หายไปของข้อมูล 'หลัก' ด้านบน: - อัตราที่หายไปของแต่ละตัวแปร - ตาราง/กราฟอย่างง่ายที่แสดงความสัมพันธ์ของการขาดหายไปกับตัวแปรอื่นๆ ฉันจะดูผลลัพธ์ของโค้ดและสร้างความแตกต่าง MCAR/MAR/MNAR คุณเพียงแค่สร้างเครื่องมือวินิจฉัย อย่าตัดสินใจเกี่ยวกับวิธีการมอบหมายงาน

3. การตรวจสอบค่าผิดปกติ (ไม่ใช่การลบ):

เขียนโค้ดสำหรับตัวแปร 'รายได้' ที่จะตรวจสอบค่าผิดปกติโดยไม่ต้องลบ: boxplot, ขอบเขตตาม IQR และตารางแสดงรายการการสังเกตค่าผิดปกติ + ค่า ฉันจะดูว่าสิ่งเหล่านี้เป็นความผิดพลาดหรือจริง เพิ่มการลบอัตโนมัติ

4. มาตรฐานการเข้ารหัส:

ในตัวแปร 'การศึกษา' ค่าต่างๆ จะถูกเขียนแบบผสม: "โรงเรียนประถมศึกษา", "โรงเรียนประถมศึกษา", "ประถมศึกษา", "โรงเรียนมัธยม", "โรงเรียนมัธยม", "มหาวิทยาลัย", "univ" เขียนโค้ด R ที่แปลงรหัสเหล่านี้เป็นหมวดหมู่ที่สอดคล้องกัน แสดงตารางการแมปอย่างชัดเจน เพื่อให้ฉันสามารถยืนยันการแปลงแต่ละรายการได้ ตั้งค่าที่คุณไม่รู้จักเป็น "UNKNOWN"

พรอมต์อ่อน / พรอมต์แรง

พรอมต์ที่อ่อนแอ:

ทำความสะอาดข้อมูล เติมช่องว่าง ละทิ้งค่าผิดปกติ

ความต้องการนี้เป็นอันตราย: ทำให้ AI มีอำนาจอย่างไร้เหตุผล ขาดแบบไหน เติมแบบไหน จริงอะไรขัดแย้ง ไม่มีความชัดเจนเลย ผลลัพธ์อาจเป็นชุดข้อมูลที่เอนเอียงอย่างลับๆ

พรอมต์อันทรงพลัง:

บทบาทของคุณ: ผู้ช่วยทำความสะอาด คุณไม่ใช่ผู้มีอำนาจตัดสินใจ ดำเนินการทีละขั้นตอนและเขียนโค้ดที่รายงานผลกระทบของแต่ละขั้นตอน: 1) แสดงรูปแบบที่หายไป (อย่าลบ/เติม) 2) แสดงรายการผู้สมัครที่ผิดปกติ (อย่าลบ) 3) แก้ไขความไม่สอดคล้องกับหมวดหมู่กับตารางการแมป พิมพ์จำนวนแถวและสถิติสรุปหลังจากแต่ละขั้นตอนเพื่อให้ฉันดูและยืนยันการเปลี่ยนแปลงได้ การแทรกการกำหนด/การลบอัตโนมัติ

ความแตกต่างนั้นชัดเจน: ผู้ที่แข็งแกร่งจะวางตำแหน่ง AI ให้เป็นผู้ช่วยภายใต้การดูแล โดยสร้างขั้นตอนที่ย้อนกลับได้และบันทึกไว้

มินิเคสสามอัน

กรณีที่ 1 — กับดักการมอบหมายโดยเฉลี่ย ข้อมูลรายได้ของนักวิเคราะห์รายหนึ่งสำหรับ 5,000 คน หายไป 18% เขาบอกให้ AI "เติมช่องว่าง"; AI เฉลี่ยพวกเขาทั้งหมด ผลลัพธ์: ความแปรปรวนของรายได้ลดลง 22% และค่าสัมประสิทธิ์ความสัมพันธ์ระหว่างรายได้ทางการศึกษากลับอ่อนแอลงกว่าเดิม วิธีที่ถูกต้อง: ข้อบกพร่องคือ MAR (เนื่องจากการศึกษา) ต้องกรอกหลายงาน (หนู) บทเรียน: วิธีการเติมขึ้นอยู่กับกลไก

กรณีที่ 2 — การทำความสะอาดนอกเหนือจะทำให้สิ่งที่ค้นพบกลับกัน มีบริษัทขนาดใหญ่มาก 3 แห่ง (0.6% ของการสังเกตทั้งหมด) ในข้อมูลบริษัทเดียว สิ่งเหล่านี้ถูกลบโดยคำแนะนำ "การทำความสะอาด" ของ AI การประหยัดจากขนาดสัมประสิทธิ์เปลี่ยนจากบวกเป็นลบ อย่างไรก็ตาม ทั้ง 3 บริษัทนั้นมีอยู่จริงและเป็นส่วนสำคัญของอุตสาหกรรม วิธีที่ถูกต้องคือรายงานด้วยการประมาณค่าที่สมบูรณ์และแม่นยำแทนที่จะลบออก บทเรียน: ค่าผิดปกติที่แท้จริงคือข้อมูล ไม่ใช่สัญญาณรบกวน

กรณีที่ 3 — ข้อผิดพลาดในการเข้ารหัสแบบเงียบ ในแผงเดียว ตัวแปรวันที่มาในสองรูปแบบที่แตกต่างกัน ("2020-03-01" และ "01/03/2020") เมื่อรหัสรวมที่สร้างโดย AI เข้าใจผิดว่าเป็นค่าที่แตกต่างกัน การสังเกต 1,400 ครั้งไม่ตรงกัน และอัตราการเติบโตก็กลายเป็นเรื่องไร้สาระ ไม่สำคัญว่านักวิเคราะห์จะไม่ตรวจสอบจำนวนแถว บทเรียน: ต้องมีจำนวนการสังเกตและการตรวจสอบสุขภาพจิตหลังจากแต่ละขั้นตอน

ข้อผิดพลาดทั่วไป

  • เติมช่องว่างด้วยค่าเฉลี่ยแบบสุ่มสี่สุ่มห้า ช่วยลดความแปรปรวน ซ่อนความไม่แน่นอน และสร้างอคติใน MAR/MNAR ก่อนอื่นให้จำแนกกลไก
  • การลบค่าผิดปกติ "เพราะมันรบกวนจิตใจ" ค่าผิดปกติที่แท้จริงแสดงถึงข้อมูล การลบเป็นการดัดผลลัพธ์ แก้ไขสิ่งที่ผิด รักษาสิ่งที่เป็นจริง
  • การแตะข้อมูลดิบ ห้ามแก้ไขข้อมูลดิบ ทำการล้างข้อมูลทั้งหมดด้วยโค้ดในสำเนาแยกต่างหากเพื่อให้สามารถเปลี่ยนกลับเป็นได้
  • ไม่ได้วัดผลกระทบของขั้นตอน หากไม่ตรวจสอบจำนวนแถวและสถิติสรุปหลังจากแต่ละขั้นตอน ข้อผิดพลาดที่ไม่มีการโต้ตอบจะสะสม
  • การทำความสะอาดจึงเป็นผล ตรรกะของ "เมื่อคุณเพิ่มบรรทัดนี้ ผลลัพธ์จะดีขึ้น" คือการแฮ็กแบบ p; ควรวางแผนการทำความสะอาดก่อนและไม่ขึ้นอยู่กับผลการวิเคราะห์
เคล็ดลับ: เก็บตาราง "ก่อน/หลัง" ที่วางสถิติพื้นฐานเดียวกัน (ค่าเฉลี่ย ค่ามัธยฐาน จำนวนการสังเกต ความสัมพันธ์เล็กน้อย) ไว้ข้างกันก่อนและหลังการล้างข้อมูล การกระโดดที่ไม่คาดคิดถือเป็นลางสังหรณ์ที่ดีที่สุดของข้อผิดพลาดที่ซ่อนอยู่

โดยสรุป

การล้างข้อมูลเป็นขั้นตอนที่ต้องใช้เวลาและต้องตัดสินใจมากที่สุดของงานเชิงประจักษ์ AI ​​เป็นตัวสร้างโค้ดที่ทรงพลังในเรื่องนี้ แต่ไม่สามารถเรียกใช้ช็อตเด็ดได้: คุณจัดประเภทประเภทข้อมูลที่ขาดหายไป (MCAR/MAR/MNAR) พิจารณาว่าค่าผิดปกตินั้นเป็นข้อผิดพลาดหรือเป็นของจริง เก็บแต่ละขั้นตอนที่สามารถย้อนกลับได้และจัดทำเป็นเอกสาร แทนที่จะให้สิทธิ์แก่ AI ที่มองไม่เห็น ให้สร้างขั้นตอนการทำงานทีละขั้นตอนซึ่งมีการวัดและตรวจสอบผลกระทบ การตรวจสอบจำนวนการสังเกตและสถิติสรุปหลังจากแต่ละขั้นตอนเป็นยาแก้พิษที่ดีที่สุดสำหรับข้อผิดพลาดที่ไม่มีการโต้ตอบ

งานสมัคร

เลือกตัวแปรอย่างน้อยสองตัวที่มีค่าขาดหายไปและค่าผิดปกติในชุดข้อมูล (ข้อมูลของคุณเองหรือชุดตัวอย่าง) ขอรหัสวินิจฉัยจาก AI ​​ผ่านข้อความแจ้ง "ทีละขั้นตอน ห้ามลบ/เติม" ด้านบนแล้วเรียกใช้ จำแนกข้อบกพร่องเป็น MCAR/MAR/MNAR และเขียนเหตุผลของคุณในประโยคเดียว ตรวจสอบผู้สมัครที่ขัดแย้งกันทีละคนแล้วตัดสินใจว่าอันไหนผิดและอันไหนจริง สุดท้าย ให้จัดทำตาราง "ก่อน-หลัง" ก่อน/หลังการทำความสะอาด และรายงานว่ามีการเปลี่ยนแปลงที่ไม่คาดคิดหรือไม่

รายการตรวจสอบ

  • [ ] ฉันล้างข้อมูลดิบเป็นสำเนาแยกต่างหากโดยไม่เปลี่ยนแปลง
  • [ ] ฉันจำแนกข้อบกพร่องเป็น MCAR/MAR/MNAR และเลือกวิธีการตามนั้น
  • [ ] ฉันตรวจสอบค่าผิดปกติทีละรายการว่ามีข้อผิดพลาดหรือเป็นเรื่องจริง ฉันไม่ได้สุ่มสี่สุ่มห้าลบมัน
  • [ ] ฉันตรวจสอบจำนวนข้อสังเกตและสถิติสรุปหลังการทำความสะอาดแต่ละขั้นตอน
  • [ ] ฉันบันทึกขั้นตอนทั้งหมดด้วยโค้ดและบรรทัดแสดงความคิดเห็น ย้อนกลับได้
  • [ ] ฉันยึดหลักการทำความสะอาดตามความรู้เกี่ยวกับกระบวนการที่ก่อให้เกิดข้อมูล ไม่ใช่ผลการวิเคราะห์