Nó giúp hiểu cách dữ liệu được ghi lại.
Hãy để tôi chia sẻ một câu chuyện . Một lần, từ lâu, nhiều bộ dữ liệu chỉ được lưu trữ trong bản cứng mờ dần. Trong những ngày đen tối đó, tôi đã ký hợp đồng với một tổ chức (có phả hệ và quy mô lớn; nhiều bạn có thể sở hữu cổ phiếu của nó) để vi tính hóa khoảng 10 ^ 5 hồ sơ dữ liệu giám sát môi trường tại một trong các nhà máy sản xuất của nó. Để làm điều này, cá nhân tôi đã đánh dấu một kệ các báo cáo trong phòng thí nghiệm (để hiển thị dữ liệu ở đâu), tạo các biểu mẫu nhập dữ liệu và ký hợp đồng với một cơ quan tạm thời để biết chữcông nhân để nhập dữ liệu vào các biểu mẫu. (Có, bạn phải trả thêm tiền cho những người có thể đọc.) Do giá trị và độ nhạy cảm của dữ liệu, tôi đã tiến hành quy trình này song song với hai công nhân tại một thời điểm (những người thường thay đổi từ ngày này sang ngày khác). Phải mất một vài tuần. Tôi đã viết phần mềm để so sánh hai bộ mục, xác định một cách có hệ thống và sửa tất cả các lỗi xuất hiện.
Cậu bé đã có lỗi! Cái mà có thể sai lầm? Một cách tốt để mô tả và đo lường lỗi là ở cấp độ của hồ sơ cơ bản , trong tình huống này là mô tả về một kết quả phân tích duy nhất (nồng độ của một số hóa chất, thường) cho một mẫu cụ thể thu được tại một điểm giám sát nhất định trên một ngày đã cho. Khi so sánh hai bộ dữ liệu, tôi thấy:
Lỗi thiếu sót : một bộ dữ liệu sẽ bao gồm một bản ghi, một bộ khác thì không. Điều này thường xảy ra bởi vì (a) một hoặc hai dòng sẽ bị bỏ qua ở cuối trang hoặc (b) toàn bộ trang sẽ bị bỏ qua.
Lỗi rõ ràng của thiếu sót thực sự là lỗi nhập dữ liệu. Một bản ghi được xác định bởi tên điểm giám sát, ngày tháng và "chất phân tích" (thường là tên hóa học). Nếu bất kỳ lỗi nào trong số này có lỗi đánh máy, nó sẽ không được khớp với các bản ghi khác có liên quan. Trong thực tế, bản ghi chính xác biến mất và một bản ghi không chính xác xuất hiện.
Sao chép giả . Các kết quả tương tự có thể xuất hiện trong nhiều nguồn, được sao chép nhiều lần và dường như là các biện pháp lặp lại thực sự khi không. Các bản sao rất đơn giản để phát hiện, nhưng việc quyết định xem chúng có sai hay không phụ thuộc vào việc biết liệu các bản sao thậm chí có xuất hiện trong tập dữ liệu hay không. Đôi khi bạn không thể biết.
Lỗi nhập dữ liệu Frank . Những cái "tốt" rất dễ bị bắt bởi vì chúng thay đổi loại mốc: sử dụng chữ "O" cho chữ số "0", ví dụ, biến một số thành số không. Các lỗi tốt khác thay đổi giá trị rất nhiều, nó có thể dễ dàng được phát hiện bằng các kiểm tra thống kê. (Trong một trường hợp, chữ số hàng đầu trong "1.000,010 mg / Kg" đã bị cắt, để lại giá trị 10. Đó là một thay đổi lớn khi bạn nói về nồng độ thuốc trừ sâu!) Các lỗi xấu rất khó bắt vì chúng thay đổi một giá trị thành một giá trị phù hợp (sắp xếp) với phần còn lại của dữ liệu, chẳng hạn như gõ "80" cho "50". (Loại lỗi này xảy ra với phần mềm OCR mọi lúc.)
Chuyển vị . Các giá trị đúng có thể được nhập nhưng được liên kết với các khóa bản ghi sai. Điều này là xảo quyệt, bởi vì các đặc điểm thống kê toàn cầu của bộ dữ liệu có thể vẫn không thay đổi, nhưng sự khác biệt giả có thể được tạo ra giữa các nhóm. Có lẽ chỉ có một cơ chế như nhập kép thậm chí có khả năng phát hiện các lỗi này.
Khi bạn nhận thức được các lỗi này và biết hoặc có một lý thuyết về cách chúng xảy ra, bạn có thể viết các tập lệnh để troll bộ dữ liệu của bạn cho sự hiện diện có thể của các lỗi đó và gắn cờ chúng để được chú ý thêm. Bạn không thể luôn giải quyết chúng, nhưng ít nhất bạn có thể bao gồm trường "bình luận" hoặc "cờ chất lượng" để đi kèm với dữ liệu trong suốt quá trình phân tích sau này.
Kể từ đó, tôi đã chú ý đến các vấn đề về chất lượng dữ liệu và đã có nhiều cơ hội hơn để thực hiện kiểm tra toàn diện các bộ dữ liệu thống kê lớn. Không có gì là hoàn hảo; tất cả họ đều được hưởng lợi từ việc kiểm tra chất lượng Một số nguyên tắc tôi đã phát triển trong nhiều năm để thực hiện điều này bao gồm
Bất cứ khi nào có thể, hãy tạo sự dư thừa trong quy trình nhập dữ liệu và sao chép dữ liệu: tổng kiểm tra, tổng số, các mục lặp lại: bất cứ điều gì để hỗ trợ kiểm tra tính nhất quán nội bộ tự động.
Nếu có thể, hãy tạo và khai thác một cơ sở dữ liệu khác mô tả dữ liệu sẽ trông như thế nào: đó là siêu dữ liệu có thể đọc được trên máy tính. Chẳng hạn, trong một thí nghiệm về thuốc bạn có thể biết trước rằng mọi bệnh nhân sẽ được nhìn thấy ba lần. Điều này cho phép bạn tạo một cơ sở dữ liệu với tất cả các bản ghi chính xác và số nhận dạng của chúng với các giá trị đang chờ để điền vào. Điền chúng vào dữ liệu được cung cấp cho bạn và sau đó kiểm tra trùng lặp, thiếu sót và dữ liệu không mong muốn.
Luôn bình thường hóa dữ liệu của bạn (cụ thể, đưa chúng vào ít nhất là dạng bình thường thứ tư ), bất kể bạn định định dạng dữ liệu để phân tích như thế nào. Điều này buộc bạn phải tạo các bảng của mọi thực thể riêng biệt về mặt khái niệm mà bạn đang lập mô hình. . Để làm như vậy, bạn tạo ra nhiều kiểm tra hiệu quả về chất lượng và tính nhất quán của dữ liệu và xác định nhiều giá trị có khả năng bị thiếu hoặc trùng lặp hoặc không nhất quán.
Nỗ lực này (đòi hỏi kỹ năng xử lý dữ liệu tốt nhưng đơn giản) có hiệu quả đáng kinh ngạc. Nếu bạn mong muốn phân tích các bộ dữ liệu lớn hoặc phức tạp và không có kiến thức làm việc tốt về cơ sở dữ liệu quan hệ và lý thuyết của họ, hãy thêm nó vào danh sách những điều cần học càng sớm càng tốt. Nó sẽ trả cổ tức trong suốt sự nghiệp của bạn.
Luôn thực hiện càng nhiều kiểm tra "ngu ngốc" nhất có thể . Đây là những xác minh tự động về những điều hiển nhiên như ngày rơi vào thời kỳ dự kiến của họ, số bệnh nhân (hoặc hóa chất hoặc bất cứ điều gì) luôn luôn cộng chính xác, rằng các giá trị luôn hợp lý (ví dụ: độ pH phải nằm trong khoảng từ 0 đến 14 và có thể trong phạm vi hẹp hơn nhiều, ví dụ, chỉ số pH máu), v.v ... Đây là nơi chuyên môn về miền có thể giúp ích nhiều nhất: nhà thống kê có thể hỏi những câu hỏi ngu ngốc của các chuyên gia và khai thác câu trả lời để kiểm tra dữ liệu.
Tất nhiên nhiều hơn có thể nói - chủ đề đáng giá một cuốn sách - nhưng điều này là đủ để kích thích ý tưởng.