วิธีที่ดีที่สุดในการรวบรวมและวิเคราะห์ข้อมูล


13

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

  1. ฉันจะเก็บข้อมูลนี้ได้อย่างไร Excel? SQL? ??

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

แก้ไข: ขอโทษสำหรับความคลุมเครือของฉันเมื่อคุณเริ่มเรียนรู้เกี่ยวกับบางสิ่งบางอย่างมันยากที่จะรู้ว่าสิ่งที่คุณไม่รู้ไม่รู้ใช่มั้ย ;)

ต้องบอกว่าจุดมุ่งหมายของฉันคือการใช้สิ่งนี้กับสองหัวข้อหลัก:

  1. การวัดทีมงานซอฟแวร์ (คิดว่าความเร็ว Agile, ความเสี่ยงเชิงปริมาณ, ความน่าจะเป็นของการทำซ้ำที่เสร็จสมบูรณ์ได้รับ x จำนวนเรื่องคะแนน)

  2. การเรียนรู้ของเครื่อง (ข้อยกเว้นของระบบได้เกิดขึ้นในชุดของโมดูลที่กำหนดความน่าจะเป็นที่โมดูลจะโยนข้อยกเว้นในฟิลด์จะมีค่าใช้จ่ายเท่าไหร่ข้อมูลจะบอกฉันเกี่ยวกับโมดูลหลักเพื่อปรับปรุงที่จะได้รับ คาดเดาได้ว่าส่วนใดของระบบที่ผู้ใช้จะต้องการใช้ต่อไปเพื่อเริ่มการโหลดข้อมูล ฯลฯ )


ดูเหมือนจะคลุมเครือสำหรับฉันมาก ข้อมูลประเภทใดและการวิเคราะห์ประเภทใด นอกจากนี้ควรเป็นวิกิชุมชนถ้าเป็นอัตนัย
เชน

คำตอบ:


19

หากคุณมีชุดข้อมูลขนาดใหญ่ - ชุดที่ทำให้ Excel หรือ Notepad โหลดช้าแสดงว่าฐานข้อมูลเป็นวิธีที่ดี Postgres เป็นโอเพ่นซอร์สและทำได้ดีมากและง่ายต่อการเชื่อมต่อกับ JMP, SPSS และโปรแกรมอื่น ๆ คุณอาจต้องการตัวอย่างในกรณีนี้ คุณไม่จำเป็นต้องทำให้ข้อมูลในฐานข้อมูลเป็นปกติ ไม่เช่นนั้น CSV จะแบ่งปันได้ง่าย

พิจารณา Apache Hive หากคุณมี 100M + แถว

ในแง่ของการวิเคราะห์นี่คือจุดเริ่มต้นบางส่วน:

อธิบายหนึ่งตัวแปร:

  • histogram
  • สถิติสรุป (ค่าเฉลี่ย, ช่วง, ส่วนเบี่ยงเบนมาตรฐาน, min, max, ฯลฯ )
  • มีค่าผิดปกติหรือไม่? (มากกว่า 1.5x inter-quartile range)
  • การกระจายประเภทใดที่เป็นไปตาม (ปกติ ฯลฯ )

อธิบายความสัมพันธ์ระหว่างตัวแปร:

  • แผนการกระจาย
  • ความสัมพันธ์
  • ค่าผิดปกติ? ตรวจสอบระยะทาง Mahalanobis

  • พล็อตโมเสกสำหรับเด็ดขาด

  • ตารางฉุกเฉินสำหรับการจัดหมวดหมู่

ทำนายจำนวนจริง (เช่นราคา): การถดถอย

  • OLS ถดถอยหรือเทคนิคการถดถอยการเรียนรู้เครื่อง

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

ทำนายการเป็นสมาชิกระดับหรือความน่าจะเป็นของการเป็นสมาชิกระดับ (เช่นผ่าน / ล้มเหลว): การจัดหมวดหมู่

  • การถดถอยโลจิสติกหรือเทคนิคการเรียนรู้ของเครื่องเช่น SVM

วางข้อสังเกตลงในกลุ่ม "ธรรมชาติ": การทำคลัสเตอร์

  • โดยทั่วไปจะพบการสังเกตที่ "คล้ายกัน" โดยการคำนวณระยะห่างระหว่างพวกเขา

ใส่คุณลักษณะลงในกลุ่ม "ธรรมชาติ": แฟ

  • และการดำเนินการเมทริกซ์อื่น ๆ เช่น PCA, NMF

Quantifying Risk = ค่าเบี่ยงเบนมาตรฐานหรือสัดส่วนของเวลาที่ "สิ่งเลวร้าย" เกิดขึ้น x มันแย่แค่ไหน

ความน่าจะเป็นของการวนซ้ำที่เสร็จสมบูรณ์ได้รับจำนวน x ของคะแนนเรื่องราว = การถดถอยโลจิสติก

โชคดี!


มันยอดเยี่ยมมาก ขอบคุณมากสำหรับคำตอบนี้ คุณให้คะแนนการกระโดดที่ยอดเยี่ยมแก่ฉัน หนังสือใด ๆ ที่คุณแนะนำเนื่องจากคุณดูเหมือนจะ "รับ" ที่ฉันอยู่
Justin Bozonier

คุณยินดีอย่างมาก. หนังสือ: สถิติในภาษาอังกฤษล้วนเพื่อเริ่มต้น การวิเคราะห์ข้อมูลหลายตัวแปรโดยผมหลังจากนั้น เหล่านี้เป็นแหล่งข้อมูลบนเว็บที่ดี: itl.nist.gov/div898/handbook , statsoft.com/textbook
Neil McGuigan

4

หากคุณกำลังมองหาข้อบกพร่องของระบบคุณอาจสนใจบทความต่อไปนี้ที่ใช้เทคนิคการเรียนรู้ของเครื่องเพื่อการวินิจฉัยข้อผิดพลาดที่ eBay อาจให้ความรู้สึกว่าคุณรวบรวมข้อมูลประเภทใดหรือทีมหนึ่งเข้าหาปัญหาเฉพาะในโดเมนที่คล้ายกันอย่างไร

หากคุณเพิ่งเริ่มต้นบางอย่างเช่นRapidMinerหรือOrangeอาจเป็นระบบซอฟต์แวร์ที่ดีในการเริ่มเล่นกับข้อมูลของคุณอย่างรวดเร็ว ทั้งคู่สามารถเข้าถึงข้อมูลในหลากหลายรูปแบบ (ไฟล์ csv, ฐานข้อมูลและอื่น ๆ )


3

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

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

เกี่ยวกับการวิเคราะห์นี่เป็นเรื่องยากที่จะเจาะจง ถ้ามันเป็น 2 มิติทำ scatterplot หากเป็นมิติสูงให้ทำ PCA และดูว่ามีองค์ประกอบหลักตัวแรกอยู่ที่ใดเพื่อค้นหาตัวแปรสำคัญ หากคุณมีข้อมูลเวลาให้พล็อตมัน นี่เป็นข้อมูลทั่วไปที่มีประโยชน์คุณต้องระบุว่าข้อมูลของคุณเป็นอย่างไร


ปีเตอร์คุณเอาชนะฉันจนชก! ฉันเห็นด้วยอย่างสมบูรณ์กับการจัดเก็บข้อมูลเป็นข้อความ แต่ขึ้นอยู่กับขนาด (หลายร้อยล้าน obs) อาจจำเป็นต้องย้ายไปยังฐานข้อมูลที่ลดแผนที่ได้ (เช่น Pig, Cassandra หรือหนึ่งในตัวเลือก NoSQL)
DrewConway

โอเคน่าสนใจ! ดังนั้นเอาข้อมูลสำหรับตัวแปรแต่ละตัวออกมาแล้ววางในรูปแบบแถวคอลัมน์แล้วไปที่ตัวเลข crunching ใช่มั้ย มีเครื่องมือใดบ้างที่ฉันควรจะดูหรือฉันควรจะเขียนโปรแกรมบางอย่าง?
Justin Bozonier

R เป็นชุดเครื่องมือ / ภาษาการเขียนโปรแกรม / ไลบรารี / ที่กว้างขวางมากและฟรีสำหรับสถิติ สิ่งที่ฉันชอบที่สุดคือ Python กับ SciPy / NumPy
Peter Smit

0

สิ่งหนึ่งที่รากเป็นสิ่งที่ดีจริงๆที่มีการจัดเก็บจำนวนมหาศาลของข้อมูล ROOT เป็นห้องสมุด C ++ ที่ใช้ในฟิสิกส์ของอนุภาค นอกจากนี้ยังมาพร้อมกับการผูก Ruby และ Python ดังนั้นคุณสามารถใช้แพคเกจในภาษาเหล่านี้ (เช่น NumPy หรือ Scipy) เพื่อวิเคราะห์ข้อมูลเมื่อคุณพบว่า ROOT มีความเป็นไปได้น้อยมาก

รูปแบบไฟล์ ROOT สามารถจัดเก็บต้นไม้หรือสิ่งอันดับและรายการสามารถอ่านได้ตามลำดับดังนั้นคุณไม่จำเป็นต้องเก็บข้อมูลทั้งหมดไว้ในหน่วยความจำในเวลาเดียวกัน สิ่งนี้ช่วยให้สามารถวิเคราะห์ข้อมูลเพตาไบต์สิ่งที่คุณไม่ต้องการลองกับ Excel หรือ R

เอกสาร ROOT I / O ที่สามารถเข้าถึงได้จากที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.