💡 Key Takeaways
- Step 1: Document Your Raw Data Before Touching Anything
- Step 2: Understand the Data Generation Process
- Step 3: Profile Your Data Systematically
- Step 4: Handle Missing Data with Strategy, Not Assumptions
Tôi vẫn nhớ ngày mà tôi đã làm cho công ty tốn 47.000 đô la chỉ vì một lỗi dấu thập phân. Đó là năm 2016, tôi đang ở năm thứ ba trong sự nghiệp của mình với tư cách là một nhà phân tích dữ liệu tại một chuỗi bán lẻ vừa và nhỏ, và tôi vừa hoàn thành cái mà tôi nghĩ là một phân tích tuyệt vời về tỷ lệ quay vòng hàng tồn kho của chúng tôi. Đội ngũ điều hành rất thích bài thuyết trình của tôi. Họ ngay lập tức phê duyệt một đơn đặt hàng lớn dựa trên các khuyến nghị của tôi. Hai tuần sau, chúng tôi phát hiện sự thật: tôi đã không làm sạch một bộ dữ liệu mà trong đó giá cả được ghi lại không nhất quán—một số bằng đô la, một số bằng cent. "Phân tích kỹ lưỡng" của tôi được xây dựng trên dữ liệu rác, và lượng hàng tồn kho dư thừa đã mất của chúng tôi six tháng để giải quyết.
💡 Những Điều Cần Lưu Ý
- Bước 1: Ghi Chép Dữ Liệu Thô Của Bạn Trước Khi Chạm Vào Bất Cứ Thứ Gì
- Bước 2: Hiểu Quy Trình Sinh Dữ Liệu
- Bước 3: Phân Tích Dữ Liệu Của Bạn Một Cách Hệ Thống
- Bước 4: Xử Lý Dữ Liệu Thiếu Với Chiến Lược, Không Phải Giả Định
Điều sai lầm đắt giá đó đã dạy tôi điều mà mười lăm năm kinh nghiệm chỉ củng cố: việc làm sạch dữ liệu không phải là bước tiên quyết nhàm chán cho phân tích—nó là nền tảng quyết định liệu những hiểu biết của bạn sẽ xây dựng sự nghiệp hay phá hủy chúng. Ngày nay, với tư cách là một Tư Vấn Viên Phân Tích Dữ Liệu Cấp Cao, người đã làm sạch các bộ dữ liệu từ 500 hàng đến 50 triệu bản ghi trong chăm sóc sức khỏe, tài chính, bán lẻ và sản xuất, tôi đã phát triển một phương pháp hệ thống giúp phát hiện lỗi trước khi chúng trở thành thảm họa.
Thống kê thật đáng lo ngại. Theo IBM, chất lượng dữ liệu kém khiến nền kinh tế Mỹ thiệt hại khoảng 3,1 nghìn tỷ đô la mỗi năm. Nghiên cứu của Gartner cho thấy rằng các tổ chức tin rằng chất lượng dữ liệu kém chịu trách nhiệm cho thiệt hại trung bình là 15 triệu đô la mỗi năm. Tuy nhiên, bất chấp những con số nghiêm trọng này, tôi đã chứng kiến vô số nhà phân tích—kể cả những người có kinh nghiệm—vội vàng thực hiện làm sạch dữ liệu hoặc hoàn toàn bỏ qua các bước, nóng lòng để đến phần "thú vị" của phân tích.
Danh sách kiểm tra này đại diện cho sự khôn ngoan tinh chất của việc làm sạch hàng ngàn bộ dữ liệu, mắc nhiều sai lầm và học hỏi những gì thực sự quan trọng. Đây không phải là các phương pháp tốt lý thuyết—chúng là những bước cụ thể đã cứu hàng triệu đô la cho khách hàng của tôi và giữ cho các phân tích của tôi chính xác.
Bước 1: Ghi Chép Dữ Liệu Thô Của Bạn Trước Khi Chạm Vào Bất Cứ Thứ Gì
Quy tắc đầu tiên của việc làm sạch dữ liệu là ngược lại với trực giác: đừng làm sạch bất cứ điều gì cả. Trước khi bạn thực hiện một thay đổi nào, bạn cần ghi chép chính xác những gì bạn nhận được. Tôi đã học bài học này theo cách khó khi một khách hàng từng cáo buộc tôi đã đưa lỗi vào bộ dữ liệu của họ. Nếu không có tài liệu về trạng thái ban đầu, tôi không có cách nào để chứng minh rằng những vấn đề đó đã tồn tại trước khi tôi chạm vào dữ liệu.
Bắt đầu bằng cách tạo một biên nhận dữ liệu. Ghi lại nguồn, ngày nhận, định dạng tệp, số hàng và cột, kích thước tệp và ai đã cung cấp nó. Chụp ảnh màn hình của 20 hàng đầu tiên và 20 hàng cuối cùng. Tính toán các thống kê cơ bản: tổng số ô, bao nhiêu ô có vẻ trống, các kiểu dữ liệu nào hiện có. Việc này mất khoảng mười phút nhưng đã cứu tôi hàng giờ quay lại.
Tôi sử dụng một mẫu đơn giản mà tôi điền cho mỗi bộ dữ liệu. Nó bao gồm các trường cho số lượng hàng mong đợi (nếu biết), các cột mong đợi và mục đích của chúng, bất kỳ vấn đề chất lượng dữ liệu nào đã được nhà cung cấp đề cập, và các quan sát ban đầu của tôi. Tài liệu này trở nên vô giá khi các câu hỏi phát sinh sau này—và chúng luôn phát sinh.
Tiếp theo, hãy tạo một bản sao lưu hoàn chỉnh của dữ liệu thô và lưu trữ nó ở nơi bạn sẽ không vô tình chỉnh sửa. Tôi giữ của mình trong một thư mục có tên "00_RAW_DO_NOT_TOUCH" với quyền chỉ đọc. Bạn sẽ ngạc nhiên rằng bạn cần tham khảo lại dữ liệu gốc bao nhiêu lần để xác minh liệu một bất thường đã có từ đầu hay được giới thiệu trong quá trình làm sạch.
Cuối cùng, hãy tạo một nhật ký làm sạch dữ liệu. Đây là một tài liệu riêng biệt mà bạn sẽ ghi lại mọi thay đổi mà bạn thực hiện với bộ dữ liệu, lý do bạn thực hiện nó, và khi nào. Nghe có vẻ tẻ nhạt, nhưng nhật ký này đã cứu vớt danh tiếng của tôi nhiều lần mà tôi không thể đếm. Khi các bên liên quan đặt câu hỏi về phân tích của bạn sau sáu tháng, bạn sẽ có một dấu vết kiểm toán hoàn chỉnh cho thấy chính xác cách bạn biến đổi dữ liệu thô thành bộ dữ liệu phân tích cuối cùng của bạn.
Bước 2: Hiểu Quy Trình Sinh Dữ Liệu
Bạn không thể làm sạch hiệu quả dữ liệu mà bạn không hiểu. Điều này có vẻ hiển nhiên, nhưng tôi đã thấy nhiều nhà phân tích lao vào làm sạch mà không hỏi các câu hỏi cơ bản về nơi dữ liệu đến từ đâu và nó được tạo ra như thế nào. Điều này giống như cố gắng sửa chữa động cơ ô tô mà không biết nó chạy bằng xăng hay dầu diesel.
Việc làm sạch dữ liệu không chỉ là sửa những lỗi—nó còn là hiểu dữ liệu của bạn đủ tốt để biết khi nào cái gì đó trông giống như một lỗi thực tế lại là một hiểu biết quan trọng, và khi nào cái gì đó trông bình thường thực sự lại là một thảm họa đang chờ xảy ra.
Lên lịch một cuộc trò chuyện với người đã cung cấp dữ liệu hoặc, tốt hơn, với những người đã nhập hoặc tạo ra nó. Hãy hỏi những câu hỏi như: Dữ liệu này được thu thập như thế nào? Có phải là nhập tay hay tự động? Hệ thống nào đã tạo ra nó? Có vấn đề nào đã biết trong suốt thời gian thu thập không? Mỗi cột thực sự đại diện cho điều gì? Có bất kỳ mã hoặc viết tắt nào mà tôi nên biết không?
Tôi đã từng dành hai ngày cố gắng tìm hiểu lý do vì sao cột "sự hài lòng của khách hàng" lại chứa các giá trị như "NPS_9" và "CSAT_7" trộn lẫn với nhau. Một cuộc trò chuyện năm phút với đội ngũ nhập liệu đã tiết lộ rằng họ đã chuyển đổi hệ thống khảo sát giữa năm và đang sử dụng một hệ thống ký hiệu hybrid. Việc hiểu quy trình sinh sản đã ngay lập tức giải thích những gì trông giống như dữ liệu hỏng.
Hãy đặc biệt chú ý đến việc hiểu các phạm vi và mối quan hệ mong đợi trong dữ liệu của bạn. Nếu bạn đang làm việc với dữ liệu bán hàng, giá trị đơn hàng điển hình là gì? Phạm vi từ nhỏ nhất đến lớn nhất là gì? Nếu bạn đang phân tích dữ liệu bệnh nhân, bạn nên mong đợi độ tuổi nào? Những kỳ vọng này trở thành các kiểm tra tâm lý của bạn trong thời gian làm sạch.
Cũng hãy hỏi về bất kỳ chuyển đổi nào mà dữ liệu đã trải qua. Liệu đây có phải là dữ liệu thô thẳng từ nguồn, hay ai đó đã làm sạch, tổng hợp, hoặc chỉnh sửa nó rồi? Tôi đã gặp các bộ dữ liệu đã trải qua ba quy trình làm sạch khác nhau bởi những người khác nhau, mỗi người đều đưa ra giả định và thay đổi riêng của họ. Biết lịch sử này giúp bạn hiểu các bất thường và tránh việc làm sạch quá mức.
Bước 3: Phân Tích Dữ Liệu Của Bạn Một Cách Hệ Thống
Phân tích dữ liệu là nơi bạn sẽ hiểu rõ bộ dữ liệu của mình. Bước này bao gồm việc tạo ra các thống kê và hình ảnh toàn diện để tiết lộ cấu trúc thực tế và nội dung của dữ liệu của bạn. Tôi dành ít nhất 30 phút cho bước này với các bộ dữ liệu nhỏ và vài giờ cho các bộ dữ liệu lớn—đó là thời gian mà mang lại lợi ích trong toàn bộ quá trình phân tích.
| Vấn Đề Chất Lượng Dữ Liệu | Mức Độ Khó Phát Hiện | Tác Động Tiềm Ẩn | Nguồn Phổ Biến |
|---|---|---|---|
| Giá Trị Thiếu | Dễ | Trung Bình đến Cao | Lỗi hệ thống, biểu mẫu không đầy đủ, khoảng trống tích hợp dữ liệu |
| Đơn Vị Không Nhất Quán | Khó | Critical | Nhiều nguồn dữ liệu, hệ thống quốc tế, di cư di sản |
| Bản Ghi Trùng Lặp | Trung Bình | Trung Bình | Lỗi nhập dữ liệu, sự cố hệ thống, hoạt động gộp |
| Giá Trị Ngoại Lệ (Không Hợp Lệ) | Trung Bình | Cao | Lỗi đầu vào, sự cố cảm biến, hỏng dữ liệu |
| Không Nhất Quán Về Định Dạng | Dễ đến Trung Bình | Thấp đến Trung Bình | Nhập tay, hệ thống khác nhau, chuyển đổi ngày/giờ |
Đối với mỗi cột, tính toán các thông số cơ bản: số lượng giá trị không null, số lượng giá trị null, số lượng giá trị duy nhất, kiểu dữ liệu, giá trị tối thiểu, giá trị tối đa, trung bình, trung vị, và mode (nếu có). Những thống kê này ngay lập tức tiết lộ các vấn đề. Nếu cột "tuổi" của bạn có giá trị tối đa là 847, bạn có một vấn đề. Nếu cột "bang" của bạn có 73 giá trị duy nhất trong khi chỉ có 50 bang ở Mỹ, thì có điều gì đó không ổn.
Tạo các phân phối tần suất cho các biến phân loại. Mỗi giá trị duy nhất xuất hiện bao nhiêu lần? Tôi đã phát hiện hàng triệu lỗi nhập dữ liệu theo cách này. Ví dụ, trong một bộ dữ liệu về các bang của Mỹ, tôi từng phát hiện "CA" xuất hiện 5.000 lần, "California" xuất hiện 200 lần, "ca" xuất hiện 50 lần, và "Calif" xuất hiện 30 lần. Tất cả đều là cùng một bang, bốn diễn đạt khác nhau—mỗi một diễn đạt đều chia nhỏ phân tích của tôi.
Đối với các cột số, hãy tạo biểu đồ histogram và box plot. Những hình ảnh này tiết lộ các phân bố, ngoại lệ, và các mẫu bất ngờ mà thống kê thô có thể bỏ lỡ. Tôi từng phát hiện rằng cột "số tiền giao dịch" đã có một đỉnh nghi ngờ ở mức chính xác 999,99 đô la—hóa ra hệ thống thanh toán đã có một lỗi đã ghi lại các giao dịch không thành công với số tiền đó thay vì null.
Kiểm tra các mẫu bất ngờ trong dữ liệu vốn dĩ ngẫu nhiên. Nếu bạn có ID giao dịch hoặc ID khách hàng mà phải là duy nhất, hãy xác minh rằng chúng thực sự duy nhất. Tôi đã phát hiện các ID trùng lặp trong các cột "ID duy nhất" nhiều lần hơn tôi muốn thừa nhận. Cũng nên tìm kiếm các mẫu tuần tự ở những nơi không nên có—đôi khi d...