एक डेटाबेस के लिए गुणवत्ता आश्वासन और गुणवत्ता नियंत्रण (क्यूए / क्यूसी) दिशानिर्देश


18

पृष्ठभूमि

मैं प्राथमिक साहित्य से एक डेटाबेस में डेटा के इनपुट की देखरेख कर रहा हूं । डेटा प्रविष्टि प्रक्रिया त्रुटि प्रवण है, विशेष रूप से क्योंकि उपयोगकर्ताओं को प्रयोगात्मक डिजाइन, ग्राफिक्स और टेबल से डेटा निकालने और मानकीकृत इकाइयों में परिणाम बदलना होगा।

वेब इंटरफेस के माध्यम से डाटा MySQL डेटाबेस में इनपुट होता है। > 20 चर,> 100 प्रजातियों, और> 500 उद्धरणों से अब तक 10k डेटा अंक शामिल किए गए हैं। मुझे न केवल चर डेटा की गुणवत्ता के चेक चलाने की आवश्यकता है, बल्कि लुकअप तालिकाओं में निहित डेटा भी है, जैसे कि प्रत्येक डेटा बिंदु से जुड़ी प्रजातियां, अध्ययन का स्थान, आदि।

डेटा प्रविष्टि जारी है, इसलिए QA / QC को रुक-रुक कर चलाने की आवश्यकता होगी। डेटा अभी तक सार्वजनिक रूप से जारी नहीं किए गए हैं, लेकिन हम उन्हें अगले कुछ महीनों में जारी करने की योजना बना रहे हैं।

वर्तमान में, मेरे QA / QC में तीन चरण शामिल हैं:

  1. एक दूसरा उपयोगकर्ता प्रत्येक डेटा बिंदु की जाँच करता है।
  2. नेत्रहीनों के लिए प्रत्येक चर का हिस्टोग्राम निरीक्षण करें।
  3. उपयोगकर्ता संदिग्ध परिणाम प्राप्त करने के बाद संदिग्ध डेटा की रिपोर्ट करते हैं।

प्रशन

  1. क्या ऐसे दिशानिर्देश हैं जो मैं इस डेटाबेस के लिए एक मजबूत QA / QC प्रक्रिया विकसित करने के लिए उपयोग कर सकता हूं?
  2. पहला कदम सबसे अधिक समय लेने वाला है; क्या ऐसा कुछ है जो मैं इसे और अधिक कुशल बनाने के लिए कर सकता हूं?

1
यहाँ पाठकों को निम्नलिखित सूत्र में भी रुचि होगी: आवश्यक डेटा जाँच परीक्षण
गुंग - को पुनः स्थापित मोनिका

जवाबों:


25

यह प्रतिक्रिया दूसरे प्रश्न पर केंद्रित है, लेकिन इस प्रक्रिया में पहले प्रश्न (क्यूए / क्यूसी प्रक्रिया के लिए दिशानिर्देश) का आंशिक उत्तर सामने आएगा।

अब तक की सबसे अच्छी चीज़ जो आप कर सकते हैं वह यह है कि एंट्री के समय डेटा की गुणवत्ता की जाँच की जाती है। उपयोगकर्ता की जांच और रिपोर्ट श्रम-गहन हैं और इसलिए बाद में इस प्रक्रिया के लिए आरक्षित किया जाना चाहिए, क्योंकि यह देर से प्रैक्टिकल है।

यहां कुछ सिद्धांत, दिशानिर्देश और सुझाव दिए गए हैं, जो व्यापक अनुभव (कई डेटाबेस के डिजाइन और निर्माण के साथ और आपकी तुलना में बहुत बड़े हैं) से प्राप्त हुए हैं। वे नियम नहीं हैं; आपको सफल और कुशल होने के लिए उनका अनुसरण करने की आवश्यकता नहीं है; लेकिन वे सभी उत्कृष्ट कारणों से यहां हैं और आपको उनसे विचलित होने के बारे में कठिन सोचना चाहिए।

  1. बौद्धिक रूप से मांग करने वाली सभी गतिविधियों से अलग डेटा प्रविष्टि । डेटा एंट्री ऑपरेटरों को किसी भी चीज़ की जांच करने, कुछ भी गिनने आदि के लिए एक साथ न पूछें। डेटा के कंप्यूटर-रीडेबल फेसमाइल बनाने के लिए अपने काम को प्रतिबंधित करें, इससे अधिक कुछ नहीं। विशेष रूप से, यह सिद्धांत डेटा-एंट्री फॉर्म को दर्शाता है, उस प्रारूप को प्रतिबिंबित करना चाहिए जिसमें आप मूल रूप से डेटा प्राप्त करते हैं, न कि उस प्रारूप में जिसमें आप डेटा को संग्रहीत करने की योजना बनाते हैं। बाद में एक प्रारूप को दूसरे में बदलना अपेक्षाकृत आसान है, लेकिन डेटा दर्ज करते समय मक्खी पर परिवर्तन का प्रयास करना एक त्रुटि-प्रवण प्रक्रिया है।

  2. डेटा ऑडिट ट्रेल बनाएँ : जब भी डेटा में कुछ भी किया जाता है, डेटा एंट्री स्टेज पर शुरू होता है, तो इस दस्तावेज़ को दर्ज करें और इस तरह से प्रक्रिया को रिकॉर्ड करें जिससे वापस जाना आसान हो जाए और जाँचें कि क्या गलत हुआ (क्योंकि चीजें गलत हो जाएंगी)। समय टिकटों के लिए फ़ील्ड भरने पर विचार करें, डेटा एंट्री ऑपरेटरों की पहचान, मूल डेटा के स्रोतों के पहचानकर्ता (जैसे रिपोर्ट और उनके पेज नंबर), आदि संग्रहण सस्ता है, लेकिन एक त्रुटि को ट्रैक करने का समय महंगा है।

  3. सब कुछ स्वचालित मान लें कि किसी भी कदम को (सबसे बुरे समय में, मर्फी के कानून के अनुसार) फिर से तैयार करना होगा, और उसी के अनुसार योजना बनानी होगी। अब हाथ से कुछ "सरल कदम" करके समय बचाने की कोशिश न करें।

  4. विशेष रूप से, डेटा प्रविष्टि के लिए समर्थन बनाएं : प्रत्येक तालिका के लिए एक फ्रंट एंड बनाएं (यहां तक ​​कि एक स्प्रेडशीट अच्छी तरह से कर सकते हैं) जो डेटा प्राप्त करने के लिए एक स्पष्ट, सरल, समान तरीका प्रदान करता है। उसी समय सामने के छोर को आपके "व्यवसाय" को लागू करना चाहिए। नियम: "यह है, इसे कई सरल वैधता जांचों के रूप में करना चाहिए। (जैसे, पीएच 0 और 14 के बीच होना चाहिए; गिनती सकारात्मक होनी चाहिए।) आदर्श रूप से, संबंधपरक अखंडता जांच को लागू करने के लिए एक डीबीएमएस का उपयोग करें (उदाहरण के लिए, माप से जुड़ी प्रत्येक प्रजाति वास्तव में डेटाबेस में मौजूद है)।

  5. लगातार चीजों को गिनें और जांचें कि गिनती बिल्कुल सहमत है। उदाहरण के लिए, यदि एक अध्ययन 10 प्रजातियों की विशेषताओं को मापने वाला है, तो सुनिश्चित करें (जैसे ही डेटा प्रविष्टि पूर्ण हो जाती है) कि 10 प्रजातियां वास्तव में रिपोर्ट की जाती हैं। हालाँकि, गिनती की जाँच करना सरल और असंक्रामक है, यह डुप्लिकेट और छोड़े गए डेटा का पता लगाने में बहुत अच्छा है।

  6. यदि डेटा मूल्यवान और महत्वपूर्ण हैं, तो संपूर्ण डेटासेट में स्वतंत्र रूप से डबल-एंट्री करें । इसका मतलब है कि प्रत्येक आइटम को दो अलग-अलग गैर-अंतःक्रियात्मक लोगों द्वारा अलग-अलग समय पर दर्ज किया जाएगा। यह टाइपोस, लापता डेटा, आदि को पकड़ने का एक शानदार तरीका है। क्रॉस-चेकिंग पूरी तरह से स्वचालित हो सकती है। यह तेजी से, त्रुटियों को पकड़ने में बेहतर है, और 100% मैनुअल डबल चेकिंग से अधिक कुशल है। (डेटा प्रविष्टि "लोग" में OCR के साथ स्कैनर जैसे उपकरण शामिल हो सकते हैं।)

  7. डेटा को संग्रहीत और प्रबंधित करने के लिए DBMS का उपयोग करें । स्प्रेडशीट डेटा प्रविष्टि का समर्थन करने के लिए महान हैं, लेकिन जितनी जल्दी हो सके अपने डेटा को स्प्रैडशीट या टेक्स्ट फ़ाइलों और एक वास्तविक डेटाबेस से बाहर निकालें। यह स्वचालित डेटा अखंडता जांच के लिए बहुत सारे समर्थन जोड़ते समय सभी प्रकार की कपटपूर्ण त्रुटियों को रोकता है। यदि आपको डेटा संग्रहण और प्रबंधन के लिए अपने सांख्यिकीय सॉफ़्टवेयर का उपयोग करना है, लेकिन समर्पित DBMS का उपयोग करने पर गंभीरता से विचार करें: यह बेहतर काम करेगा।

  8. सभी डेटा दर्ज किए जाने और स्वचालित रूप से जांचने के बाद, चित्र बनाएं: सॉर्ट किए गए टेबल, हिस्टोग्राम, स्कैप्लेट्स इत्यादि बनाएं, और उन सभी को देखें। ये किसी भी पूर्ण सांख्यिकीय पैकेज के साथ आसानी से स्वचालित हैं।

  9. लोगों को दोहराए जाने वाले कार्यों को करने के लिए न कहें जो कंप्यूटर कर सकता है । कंप्यूटर इन पर बहुत तेज और अधिक विश्वसनीय है। किसी भी कार्य को करने के लिए छोटी लिपियों और छोटे कार्यक्रमों को लिखने (और दस्तावेजीकरण) की आदत डालें, जिन्हें तुरंत पूरा नहीं किया जा सकता है। ये आपके ऑडिट ट्रेल का हिस्सा बन जाएंगे और वे काम को आसानी से फिर से करने में सक्षम बनाएंगे। जिस भी प्लेटफ़ॉर्म के साथ आप सहज हैं और जो कार्य के लिए उपयुक्त है, उसका उपयोग करें। (इन वर्षों में, जो उपलब्ध था, उसके आधार पर, मैंने ऐसे प्लेटफार्मों की एक विस्तृत श्रृंखला का उपयोग किया है और सभी अपने तरीके से प्रभावी रहे हैं, AWK और SED लिपियों के माध्यम से C और फोरट्रान कार्यक्रमों से लेकर, Excel और Word के लिए VBA स्क्रिप्ट और कस्टम रिलेशनल डेटाबेस सिस्टम, GIS और सांख्यिकीय विश्लेषण प्लेटफॉर्म जैसे R और Stata के लिए लिखे गए कार्यक्रम।)

यदि आप इनमें से अधिकांश दिशानिर्देशों का पालन करते हैं, तो डेटाबेस में डेटा प्राप्त करने में लगभग 50% -80% काम डेटाबेस डिजाइन और सहायक लिपियों को लिखना होगा। ऐसी परियोजना के माध्यम से 90% प्राप्त करना और 50% से कम पूर्ण होना असामान्य नहीं है, फिर भी समय पर समाप्त होता है: एक बार सब कुछ सेट हो जाने और परीक्षण करने के बाद, डेटा प्रविष्टि और जाँच आश्चर्यजनक रूप से कुशल हो सकती है।


4
खैर, मुझे इस जवाब से बहुत प्यार है। मैं इस बात पर जोर देना चाहूंगा कि निम्नलिखित बिंदु 4 में, आपको चेक को सरल रखना चाहिए - वास्तविक डेटा में अक्सर बहुत कम असंगतियां होती हैं जो आपके प्रवेश करने वाले लोगों को दर्ज करने में सक्षम होना चाहिए, लेकिन जिसे आप पूर्वाभास नहीं कर पाएंगे। उदाहरण के लिए, मैं यह सुनिश्चित करता हूं कि तिथियों को तिथियों के रूप में दर्ज किया जाए; लेकिन मैंने तिथि सीमा के बारे में कठोर नियम रखना बंद कर दिया है, और इसके बजाय जाँच करें कि रिपोर्ट के साथ, और जो भी डेटा प्रविष्टि किया था के साथ बाहर के मूल्यों का पालन करें।
मैट पार्कर

5
किसी को ऐसे मूल्य में प्रवेश करने से रोकना जिसे वे सही मानते हैं, उसका पता लगाने और जांच करने से अधिक त्रुटि का परिचय दे सकता है।
मैट पार्कर

+1, बढ़िया जवाब। मैं मैट से सहमत हूं, मुझे भी यह उत्तर पसंद है :)
mpiktas

1
@ मट्ट अच्छे अंक, दोनों। मैं पूरी तरह से सहमत। पहले एक के बारे में, एक अच्छा तरीका डेटा के एक छोटे प्रतिनिधि सबसेट पर डेटा प्रविष्टि प्रक्रियाओं का परीक्षण करना है और आने वाले सभी मुद्दों पर पूरी तरह से जाना है। यह सब कुछ को संबोधित नहीं कर सकता है जो संभवतः सामने आ सकता है, लेकिन यह सबसे प्रमुख मुद्दों को जल्दी पहचानता है और आपको उनके साथ प्रभावी ढंग से निपटने देता है।
whuber

2
इस जानकारी को जोड़ना एक स्थान पर उपयोगी है। 1. एक व्यावसायिक नियम दस्तावेज़ बनाएँ जिसमें मेटा डेटा हो। नियमों में उम्र सहित व्युत्पन्न चर का उपयोग किया जाता है। 2. यदि यह विशेष रूप से एक प्रशासनिक डेटाबेस है, तो मान लें कि चर समय के साथ बदल जाएंगे, जैसे नए कोड जोड़े जाते हैं। मेटाडेटा में, यह बताएं कि परिवर्तन कब हुआ और यह किसी भी समय श्रृंखला के काम को कैसे प्रभावित कर सकता है। 3. यदि डेटाबेस को समय, तिथि और समय के साथ जोड़ दिया जाएगा तो डेटाबेस में बदलाव होगा।
मिशेल

3

DataOne डेटा प्रबंधन सर्वोत्तम प्रथाओं का एक सहायक सेट प्रदान करता है जिसे टैग द्वारा फ़िल्टर किया जा सकता है। "गुणवत्ता" के साथ टैग की गई सर्वोत्तम प्रथाओं, http://www.dataone.org/best-practices/quality पर पाया गया , जो @whuber द्वारा किए गए कई बिंदुओं पर दोहराया और विस्तार कर रहा है। यहाँ उन विषयों की सूची दी गई है (वर्णमाला क्रम में):

  • डेटा गुणवत्ता का संचार करें
  • मेटाडेटा में डेटा और उनके विवरण के बीच मेल की पुष्टि करें
  • उस डेटा की संगतता पर विचार करें जिसे आप एकीकृत कर रहे हैं
  • गुणवत्ता आश्वासन और गुणवत्ता नियंत्रण योजना विकसित करना
  • आपके द्वारा दर्ज किए गए डेटा को दोबारा जांचें
  • बुनियादी गुणवत्ता नियंत्रण सुनिश्चित करें
  • डेटा का बैकअप बनाते समय अखंडता और पहुंच सुनिश्चित करें
  • बाहरी लोगों की पहचान करें
  • उन मूल्यों को पहचानें जो अनुमानित हैं
  • उपयोग और खोज के लिए संस्करण जानकारी प्रदान करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.