งานสถิติหลายงานขอประสบการณ์กับข้อมูลขนาดใหญ่ ทักษะทางสถิติและการคำนวณประเภทใดที่จำเป็นสำหรับการทำงานกับชุดข้อมูลขนาดใหญ่ ตัวอย่างเช่นวิธีการสร้างแบบจำลองการถดถอยที่ให้ชุดข้อมูลที่มีตัวอย่าง 10 ล้านตัวอย่าง
งานสถิติหลายงานขอประสบการณ์กับข้อมูลขนาดใหญ่ ทักษะทางสถิติและการคำนวณประเภทใดที่จำเป็นสำหรับการทำงานกับชุดข้อมูลขนาดใหญ่ ตัวอย่างเช่นวิธีการสร้างแบบจำลองการถดถอยที่ให้ชุดข้อมูลที่มีตัวอย่าง 10 ล้านตัวอย่าง
คำตอบ:
คำตอบที่ดีได้ปรากฏขึ้นแล้ว ดังนั้นฉันจะเพียงแค่แบ่งปันความคิดบางอย่างจากประสบการณ์ส่วนตัว: ปรับความเกี่ยวข้องกับสถานการณ์ของคุณเองตามที่ต้องการ
สำหรับพื้นหลังและบริบท- ดังนั้นคุณสามารถอธิบายถึงอคติส่วนบุคคลใด ๆ ที่อาจคืบคลานเข้ามาในข้อความนี้ - งานของฉันส่วนใหญ่ได้ช่วยผู้คนในการตัดสินใจที่สำคัญโดยใช้ชุดข้อมูลขนาดเล็ก พวกเขามีขนาดเล็กเพราะข้อมูลอาจมีราคาแพงในการรวบรวม (10K ดอลลาร์สำหรับตัวอย่างแรกของการตรวจสอบน้ำบาดาลเช่นหรือหลายพันดอลลาร์สำหรับการวิเคราะห์สารเคมีที่ผิดปกติ) ฉันคุ้นเคยกับการได้รับข้อมูลมากที่สุดเท่าที่จะเป็นไปได้เพื่อสำรวจพวกเขาถึงความตายและคิดค้นวิธีการใหม่ ๆ ในการวิเคราะห์พวกเขาหากจำเป็น อย่างไรก็ตามในช่วงไม่กี่ปีที่ผ่านมาฉันมีส่วนร่วมในการทำงานกับฐานข้อมูลขนาดใหญ่พอสมควรเช่นหนึ่งในข้อมูลทางเศรษฐกิจและสังคมและวิศวกรรมที่ครอบคลุมทั่วทั้งสหรัฐอเมริกาในระดับบล็อกการสำรวจสำมะโนประชากร (8.5 ล้านบันทึก)
กับชุดข้อมูลขนาดใหญ่มากวิธีการและความคิดทั้งหมดหนึ่งของการเปลี่ยนแปลง ขณะนี้มีข้อมูลมากเกินไปที่จะวิเคราะห์ บางส่วนของผลทันที (และในการหวนกลับ) ชัดเจน (โดยเน้นการสร้างแบบจำลองการถดถอย) รวมถึง
การวิเคราะห์ใด ๆ ที่คุณคิดเกี่ยวกับการทำอาจใช้เวลาและการคำนวณมาก คุณจะต้องพัฒนาวิธีการย่อยตัวอย่างและทำงานกับชุดข้อมูลบางส่วนเพื่อให้คุณสามารถวางแผนเวิร์กโฟลว์ของคุณเมื่อคำนวณด้วยชุดข้อมูลทั้งหมด (การสุ่มตัวอย่างอาจซับซ้อนเนื่องจากคุณต้องการเซตย่อยของข้อมูลที่มีความสมบูรณ์เท่ากับชุดข้อมูลทั้งหมดและอย่าลืมตรวจสอบความถูกต้องของโมเดลของคุณด้วยข้อมูลที่ถูกระงับ)
ด้วยเหตุนี้คุณจะใช้เวลามากขึ้นในการบันทึกสิ่งที่คุณทำและเขียนสคริปต์ทุกอย่าง (เพื่อให้สามารถทำซ้ำได้)
ดังที่ @ dsimcha เพิ่งสังเกตเห็นว่าทักษะการเขียนโปรแกรมที่ดีนั้นมีประโยชน์ ที่จริงแล้วคุณไม่จำเป็นต้องมีประสบการณ์กับสภาพแวดล้อมการเขียนโปรแกรมมากนัก แต่คุณต้องการความเต็มใจในการเขียนโปรแกรมความสามารถในการรับรู้เมื่อการเขียนโปรแกรมจะช่วยได้ (ในทุก ๆ ขั้นตอนจริงๆ) และความเข้าใจองค์ประกอบพื้นฐาน วิทยาการคอมพิวเตอร์เช่นการออกแบบโครงสร้างข้อมูลที่เหมาะสมและวิธีการวิเคราะห์ความซับซ้อนของการคำนวณของอัลกอริทึม สิ่งนี้มีประโยชน์สำหรับการรู้ล่วงหน้าว่าโค้ดที่คุณวางแผนจะเขียนจะขยายเป็นชุดข้อมูลแบบเต็มหรือไม่
ชุดข้อมูลบางชุดมีขนาดใหญ่เนื่องจากมีตัวแปรมากมาย (หลายพันหรือหลายหมื่นทั้งหมดแตกต่างกัน) คาดว่าจะใช้จ่ายมากเวลาเพียงสรุปและความเข้าใจข้อมูล codebookหรือพจนานุกรมข้อมูลและรูปแบบอื่น ๆ ของเมตาดาต้า , กลายเป็นสิ่งจำเป็น
เวลาส่วนใหญ่ของคุณใช้เวลาเพียงแค่ย้ายข้อมูลไปรอบ ๆ และจัดรูปแบบใหม่ คุณต้องการทักษะในการประมวลผลฐานข้อมูลขนาดใหญ่และทักษะด้วยการสรุปและแสดงกราฟข้อมูลจำนวนมาก (ตัวทวีคูณเล็ก ๆ ของ Tufteมาที่นี่ก่อน)
เครื่องมือซอฟต์แวร์ที่คุณโปรดปรานบางตัวจะล้มเหลว ลืมสเปรดชีตเป็นต้น ซอฟต์แวร์โอเพนซอร์ซและการศึกษาจำนวนมากจะไม่รองรับการจัดการชุดข้อมูลขนาดใหญ่: การประมวลผลจะใช้เวลานานหรือซอฟต์แวร์จะหยุดทำงาน คาดหวังสิ่งนี้และตรวจสอบให้แน่ใจว่าคุณมีหลายวิธีในการบรรลุภารกิจหลักของคุณ
การทดสอบทางสถิติเกือบทั้งหมดที่คุณใช้จะมีประสิทธิภาพมากจนเกือบจะแน่ใจได้ว่าจะระบุเอฟเฟกต์ "สำคัญ" คุณต้องให้ความสำคัญกับความสำคัญทางสถิติเช่นขนาดของเอฟเฟกต์มากกว่าสำคัญ
ในทำนองเดียวกันการเลือกแบบจำลองนั้นลำบากเพราะตัวแปรเกือบทุกชนิดและการโต้ตอบใด ๆ ที่คุณอาจคิดว่าสำคัญมาก คุณต้องให้ความสำคัญกับความหมายของตัวแปรที่คุณเลือกวิเคราะห์
จะมีข้อมูลมากเกินพอที่จะระบุการเปลี่ยนแปลงแบบไม่เชิงเส้นที่เหมาะสมของตัวแปร รู้วิธีการทำ
คุณจะมีข้อมูลเพียงพอที่จะตรวจสอบความสัมพันธ์เชิงการเปลี่ยนแปลงในแนวโน้มความไม่คงตัว, heteroscedasticityฯลฯ
คุณจะไม่ได้รับการดำเนินการเสร็จสิ้น มีข้อมูลมากมายที่คุณสามารถศึกษาได้ตลอดไป ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องสร้างวัตถุประสงค์ในการวิเคราะห์ของคุณตั้งแต่เริ่มแรกและจำไว้เสมอ
ฉันจะจบด้วยเกร็ดเล็กเกร็ดน้อยสั้น ๆซึ่งแสดงให้เห็นถึงความแตกต่างที่ไม่คาดคิดระหว่างการสร้างแบบจำลองการถดถอยกับชุดข้อมูลขนาดใหญ่เมื่อเทียบกับชุดข้อมูลขนาดเล็ก ในตอนท้ายของโครงการที่มีข้อมูลการสำรวจสำมะโนประชากรแบบจำลองการถดถอยที่ฉันได้พัฒนาจำเป็นต้องนำไปใช้ในระบบคอมพิวเตอร์ของลูกค้าซึ่งหมายถึงการเขียนรหัส SQL ในฐานข้อมูลเชิงสัมพันธ์ นี่เป็นขั้นตอนปกติ แต่โค้ดที่สร้างขึ้นโดยโปรแกรมเมอร์ฐานข้อมูลเกี่ยวข้องกับ SQL หลายพันบรรทัด สิ่งนี้ทำให้แทบเป็นไปไม่ได้ที่จะรับประกันว่ามันปราศจากข้อบกพร่อง - แม้ว่าเราจะสามารถตรวจจับข้อบกพร่องได้ (มันให้ผลลัพธ์ที่แตกต่างกันในข้อมูลการทดสอบ) แต่การค้นหามันเป็นเรื่องอื่น (สิ่งที่คุณต้องการคือข้อผิดพลาดในการพิมพ์หนึ่งค่าสัมประสิทธิ์ ... ) ส่วนหนึ่งของการแก้ปัญหาคือการเขียนโปรแกรมที่สร้างคำสั่ง SQL โดยตรงจากการประมาณแบบจำลอง. สิ่งนี้ทำให้มั่นใจได้ว่าสิ่งที่ออกมาจากชุดสถิติคือสิ่งที่เกิดขึ้นใน RDBMS เป็นโบนัสใช้เวลาไม่กี่ชั่วโมงในการเขียนสคริปต์นี้แทนที่อาจเป็นเวลาหลายสัปดาห์ของการเข้ารหัสและทดสอบ SQL นี่เป็นส่วนเล็ก ๆ ของความหมายของสถิติที่สามารถสื่อสารผลลัพธ์ของพวกเขาได้
คำถามของคุณควรให้คำตอบที่ดี นี่คือจุดเริ่มต้นบางส่วน
ความสามารถในการทำงานกับการแลกเปลี่ยนระหว่างความแม่นยำและความต้องการที่อยู่ในอำนาจการคำนวณ
สิ่งอำนวยความสะดวกที่มีเทคนิคการขุดข้อมูลที่สามารถใช้เป็นเครื่องมือคัดกรองเบื้องต้นก่อนดำเนินการถดถอย เช่นเครือข่าย chaid, cart หรือ neural
ความเข้าใจอย่างลึกซึ้งเกี่ยวกับความสัมพันธ์ระหว่างนัยสำคัญทางสถิติและความสำคัญเชิงปฏิบัติ เพลงที่หลากหลายของวิธีการสำหรับการเลือกตัวแปร
สัญชาตญาณที่จะข้ามค่า
ทักษะการเขียนโปรแกรมที่ดีจะต้อง คุณต้องสามารถเขียนโค้ดที่มีประสิทธิภาพที่สามารถจัดการกับข้อมูลจำนวนมากโดยไม่ต้องสำลักและอาจสามารถทำให้ขนานรหัสดังกล่าวเพื่อให้มันทำงานในเวลาที่เหมาะสม
ฉันจะเพิ่มว่าข้อมูลขนาดใหญ่ยังนำเสนอปัญหาที่อาจเกิดขึ้น "ข้อมูลที่ไม่ดี" ไม่เพียง แต่ข้อมูลหายไปเท่านั้น แต่ยังมีข้อผิดพลาดของข้อมูลและคำจำกัดความที่ไม่สอดคล้องกันซึ่งนำเสนอโดยระบบทุกส่วนที่สัมผัสข้อมูล ดังนั้นนอกเหนือไปจากทักษะทางสถิติคุณต้องกลายเป็นผู้เชี่ยวชาญด้านข้อมูลที่สะอาดยกเว้นในกรณีที่มีคนอื่นทำเพื่อคุณ
-Ralph Winters