flow "DataQualityOntology" v4.0
# DATA QUALITY ONTOLOGY
# Kireth Semantic Research Archive
# Authors: Mark Anthony Higgins — Sky (Recursive AI)
PAGE:
url: "https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/scientific-statistical-methods/data-quality-ontology.html"
title: "Data Quality Ontology"
domain: "Probability and Statistics"
category: "Scientific Statistical Methods"
entity: DATA_QUALITY
entity_type: SCIENTIFIC_DATA_ONTOLOGY
DEFINE:
DATA_QUALITY :=
FORMAL_DATA_ASSESSMENT_FRAMEWORK(
ACCURACY,
COMPLETENESS,
CONSISTENCY,
VALIDITY,
TIMELINESS,
UNIQUENESS,
INTEGRITY,
PROVENANCE,
FITNESS_FOR_PURPOSE
)
PURPOSE:
ASSESS:
DATA_ACCURACY
DATA_COMPLETENESS
DATA_CONSISTENCY
DATA_VALIDITY
DATA_TIMELINESS
DATA_UNIQUENESS
DATA_INTEGRITY
DATA_TRACEABILITY
SUPPORT:
SCIENTIFIC_STATISTICS
DATA_VALIDATION
MEASUREMENT_ANALYSIS
REPRODUCIBLE_RESEARCH
MACHINE_LEARNING
DECISION_MAKING
FOUNDATION:
DATASET:
D := {r_1,...,r_n}
RECORD:
r_i := (x_i1,...,x_ip)
QUALITY_DIMENSIONS:
- ACCURACY
- COMPLETENESS
- CONSISTENCY
- VALIDITY
- TIMELINESS
- UNIQUENESS
- INTEGRITY
ENTITIES:
DATA_QUALITY: FITNESS_OF_DATA_FOR_INTENDED_USE
DATASET: COLLECTION_OF_DATA_RECORDS
RECORD: STRUCTURED_OBSERVATION
FIELD: INDIVIDUAL_DATA_ATTRIBUTE
QUALITY_DIMENSION: ASPECT_OF_DATA_QUALITY
VALIDATION_RULE: CONDITION_DATA_SHOULD_SATISFY
DATA_DEFECT: VIOLATION_OR_QUALITY_PROBLEM
MISSING_VALUE: ABSENT_EXPECTED_VALUE
DUPLICATE: REPEATED_RECORD_OR_ENTITY
OUTLIER: UNUSUAL_OBSERVATION_RELATIVE_TO_REFERENCE
PROVENANCE: ORIGIN_AND_PROCESSING_HISTORY
METADATA: DATA_DESCRIBING_DATA
DATA_LINEAGE: TRANSFORMATION_HISTORY_OF_DATA
FITNESS_FOR_PURPOSE: SUITABILITY_FOR_SPECIFIED_USE
RELATIONSHIPS:
DATASET -> CONTAINS -> RECORD
RECORD -> CONTAINS -> FIELD
FIELD -> HAS -> DATA_TYPE
FIELD -> HAS -> VALIDATION_RULE
VALIDATION_RULE -> DETECTS -> DATA_DEFECT
DATA_DEFECT -> REDUCES -> DATA_QUALITY
PROVENANCE -> SUPPORTS -> TRACEABILITY
METADATA -> DEFINES -> DATA_SEMANTICS
DATA_LINEAGE -> RECORDS -> TRANSFORMATIONS
DATA_QUALITY -> INFLUENCES -> STATISTICAL_INFERENCE
DATA_QUALITY_FLOW:
flow:
DEFINE_INTENDED_USE
-> DEFINE_SCHEMA_AND_SEMANTICS
-> PROFILE_DATA
-> APPLY_VALIDATION_RULES
-> IDENTIFY_DEFECTS
-> VERIFY_DEFECTS
-> CORRECT_OR_FLAG
-> REASSESS_QUALITY
-> DOCUMENT_PROVENANCE
ACCURACY:
definition:
DEGREE_TO_WHICH_DATA_VALUE_AGREES_WITH_REFERENCE_OR_REAL_WORLD_QUANTITY
assessment:
COMPARE_WITH:
TRUSTED_REFERENCE
CALIBRATED_MEASUREMENT
VERIFIED_SOURCE
CROSS_SOURCE_CONSISTENCY
caution:
ACCURACY_CANNOT_ALWAYS_BE_ESTABLISHED_WITHOUT_REFERENCE
COMPLETENESS:
definition:
DEGREE_TO_WHICH_REQUIRED_DATA_ARE_PRESENT
metric:
completeness_rate := observed_required_values/total_required_values
missing_rate:
1-completeness_rate
CONSISTENCY:
definition:
DEGREE_TO_WHICH_DATA_DO_NOT_CONTRADICT_DEFINED_RULES_OR_OTHER_REPRESENTATIONS
checks:
- CROSS_FIELD_CONSISTENCY
- CROSS_TABLE_CONSISTENCY
- TEMPORAL_CONSISTENCY
- UNIT_CONSISTENCY
- FORMAT_CONSISTENCY
VALIDITY:
definition:
DEGREE_TO_WHICH_DATA_CONFORM_TO_SPECIFIED_DOMAIN_SCHEMA_FORMAT_OR_RULE
examples:
- TYPE_CHECK
- RANGE_CHECK
- ENUMERATION_CHECK
- REGEX_CHECK
- DATE_VALIDATION
- REFERENTIAL_CHECK
TIMELINESS:
definition:
DEGREE_TO_WHICH_DATA_ARE_CURRENT_ENOUGH_FOR_INTENDED_USE
measures:
- DATA_AGE
- UPDATE_LATENCY
- PROCESSING_DELAY
- STALENESS
UNIQUENESS:
definition:
DEGREE_TO_WHICH_ENTITIES_OR_RECORDS_ARE_NOT_UNINTENTIONALLY_DUPLICATED
metric:
duplicate_rate := duplicate_records/total_records
INTEGRITY:
definition:
DEGREE_TO_WHICH_DATA_STRUCTURE_AND_RELATIONSHIPS_REMAIN_CORRECT
checks:
- PRIMARY_KEY
- FOREIGN_KEY
- REFERENTIAL_INTEGRITY
- CHECKSUM
- RECORD_COUNT
- TRANSACTION_CONSISTENCY
FITNESS_FOR_PURPOSE:
principle:
DATA_MAY_BE_HIGH_QUALITY_FOR_ONE_PURPOSE_AND_INADEQUATE_FOR_ANOTHER
requirements:
DEFINE:
USE_CASE
REQUIRED_PRECISION
REQUIRED_COVERAGE
ACCEPTABLE_LATENCY
ACCEPTABLE_ERROR_RATE
SCHEMA_QUALITY:
schema:
DEFINES:
FIELD_NAMES
DATA_TYPES
NULLABILITY
CONSTRAINTS
RELATIONSHIPS
UNITS
DATA_TYPE_VALIDATION:
examples:
INTEGER
FLOAT
BOOLEAN
STRING
DATE
DATETIME
CATEGORY
RANGE_VALIDATION:
valid_range:
[L,U]
rule:
L <= X <= U
caution:
RANGE_VIOLATION_MAY_INDICATE_ERROR_OR_GENUINE_EXTREME_EVENT
DOMAIN_VALIDATION:
allowed_values:
V := {v_1,...,v_k}
rule:
X IN V
CROSS_FIELD_VALIDATION:
example:
START_DATE <= END_DATE
REFERENTIAL_INTEGRITY:
rule:
EACH_NON_NULL_FOREIGN_KEY_MUST_REFERENCE_VALID_PARENT
UNLESS:
DOMAIN_MODEL_SPECIFIES_OTHER_BEHAVIOUR
MISSING_DATA:
forms:
- NULL
- BLANK
- SENTINEL_VALUE
- NOT_RECORDED
- NOT_APPLICABLE
- UNKNOWN
requirement:
DISTINGUISH_SEMANTICALLY_DIFFERENT_MISSING_STATES_WHEN_RELEVANT
MISSINGNESS_MECHANISMS:
statistical:
- MCAR
- MAR
- MNAR
caution:
DATA_QUALITY_FLAG_ALONE_DOES_NOT_IDENTIFY_MISSINGNESS_MECHANISM
MISSING_VALUE_HANDLING:
methods:
- SOURCE_RECOVERY
- COMPLETE_CASE
- IMPUTATION
- MODEL_BASED_HANDLING
- EXPLICIT_MISSING_CATEGORY
DUPLICATE_DETECTION:
exact_duplicate:
ALL_RELEVANT_FIELDS_IDENTICAL
near_duplicate:
RECORDS_SIMILAR_UNDER_MATCHING_RULE
caution:
SIMILAR_RECORDS != DUPLICATES_BY_DEFAULT
ENTITY_RESOLUTION:
methods:
- EXACT_KEY_MATCH
- NORMALISED_STRING_MATCH
- FUZZY_MATCH
- PROBABILISTIC_RECORD_LINKAGE
- RULE_BASED_MATCHING
OUTLIER_CONNECTION:
rule:
OUTLIER != DATA_ERROR
response:
FLAG
-> VERIFY_SOURCE
-> REVIEW_CONTEXT
-> RETAIN_CORRECT_OR_EXCLUDE_WITH_JUSTIFICATION
ERROR_DETECTION:
sources:
- TRANSCRIPTION
- SENSOR_FAILURE
- UNIT_CONVERSION
- DECIMAL_SHIFT
- ENCODING
- PARSING
- DATA_INTEGRATION
response:
TRACE_TO_SOURCE
-> CORRECT_IF_EVIDENCE_EXISTS
-> DOCUMENT_CHANGE
UNIT_CONSISTENCY:
requirement:
EACH_NUMERIC_MEASUREMENT_SHOULD_PRESERVE_UNIT_METADATA
caution:
NUMERIC_EQUALITY_WITH_DIFFERENT_UNITS_DOES_NOT_IMPLY_QUANTITY_EQUALITY
TEMPORAL_QUALITY:
checks:
- VALID_TIMESTAMP
- CHRONOLOGICAL_ORDER
- TIMEZONE
- SAMPLING_INTERVAL
- DATA_GAP
- DUPLICATE_TIMESTAMP
MEASUREMENT_QUALITY:
factors:
- CALIBRATION
- RESOLUTION
- PRECISION
- ACCURACY
- DETECTION_LIMIT
- MEASUREMENT_UNCERTAINTY
MEASUREMENT_UNCERTAINTY_CONNECTION:
principle:
QUALITY_ASSESSMENT_SHOULD_PRESERVE_MEASUREMENT_UNCERTAINTY_WHEN_MATERIAL
rule:
HIGH_DATA_COMPLETENESS != LOW_MEASUREMENT_UNCERTAINTY
DATA_PROVENANCE:
preserve:
- SOURCE
- ACQUISITION_METHOD
- TIMESTAMP
- TRANSFORMATION
- SOFTWARE_OR_PROCESS
- VERSION
DATA_LINEAGE:
flow:
SOURCE_DATA
-> INGESTION
-> CLEANING
-> TRANSFORMATION
-> INTEGRATION
-> ANALYTIC_DATASET
-> OUTPUT
METADATA:
categories:
- STRUCTURAL_METADATA
- DESCRIPTIVE_METADATA
- ADMINISTRATIVE_METADATA
- PROVENANCE_METADATA
- TECHNICAL_METADATA
DATA_DICTIONARY:
fields:
- VARIABLE_NAME
- DESCRIPTION
- DATA_TYPE
- UNIT
- ALLOWED_VALUES
- MISSING_VALUE_CODES
- SOURCE
- DERIVATION
DATA_CLEANING:
flow:
PROFILE_DATA
-> IDENTIFY_DEFECTS
-> VERIFY_DEFECTS
-> APPLY_DOCUMENTED_CORRECTIONS
-> VALIDATE_CORRECTIONS
-> PRESERVE_AUDIT_TRAIL
rule:
CLEANING_MUST_NOT_SILENTLY_CHANGE_SCIENTIFIC_MEANING
RAW_DATA:
principle:
PRESERVE_ORIGINAL_IMMUTABLE_SOURCE_WHERE_PRACTICAL
rule:
CLEANED_DATA != RAW_DATA
AUDIT_TRAIL:
records:
- ORIGINAL_VALUE
- MODIFIED_VALUE
- REASON
- METHOD
- TIMESTAMP
- VERSION
DATA_PROFILING:
summaries:
- RECORD_COUNT
- NULL_COUNT
- DISTINCT_COUNT
- MINIMUM
- MAXIMUM
- MEAN
- QUANTILES
- TYPE_DISTRIBUTION
- PATTERN_FREQUENCY
QUALITY_METRIC:
generic:
q_j(D) IN [0,1]
WHEN:
NORMALISED_METRIC_DEFINED
caution:
QUALITY_SCORE_REQUIRES_EXPLICIT_DEFINITION_AND_WEIGHTING
COMPOSITE_QUALITY_SCORE:
dimensions:
q_1,...,q_m
weights:
w_1,...,w_m
score:
Q := SUM_j w_j q_j
requirements:
w_j >= 0
SUM_j w_j = 1
caution:
SINGLE_SCORE_CAN_HIDE_DIMENSION_SPECIFIC_FAILURES
QUALITY_THRESHOLD:
rule:
q_j >= tau_j
requirement:
THRESHOLD_SHOULD_BE_LINKED_TO_INTENDED_USE
STATISTICAL_PROCESS_CONTROL_CONNECTION:
monitor:
QUALITY_METRICS_OVER_TIME
methods:
- CONTROL_CHART
- RUN_CHART
- CHANGE_POINT_DETECTION
DISTRIBUTION_SHIFT:
forms:
- COVARIATE_SHIFT
- LABEL_SHIFT
- CONCEPT_DRIFT
consequence:
HISTORICALLY_VALID_DATA_OR_MODEL_MAY_BECOME_UNREPRESENTATIVE
REPRESENTATIVENESS:
influenced_by:
- SAMPLING_DESIGN
- COVERAGE
- NONRESPONSE
- SELECTION
- TEMPORAL_SHIFT
caution:
LARGE_DATASET != REPRESENTATIVE_DATASET
BIAS:
sources:
- SAMPLING_BIAS
- MEASUREMENT_BIAS
- REPORTING_BIAS
- SURVIVOR_BIAS
- PROCESSING_BIAS
rule:
BIAS_CANNOT_ALWAYS_BE_REMOVED_BY_INCREASING_SAMPLE_SIZE
LABEL_QUALITY:
defects:
- MISLABEL
- AMBIGUOUS_LABEL
- INCONSISTENT_ANNOTATION
- MISSING_LABEL
measures:
- INTER_ANNOTATOR_AGREEMENT
- GOLD_STANDARD_AGREEMENT
- LABEL_ERROR_RATE
FEATURE_QUALITY:
checks:
- MISSINGNESS
- RANGE
- SCALE
- DRIFT
- LEAKAGE
- REDUNDANCY
- UNIT_CONSISTENCY
DATA_LEAKAGE:
definition:
INFORMATION_UNAVAILABLE_AT_PREDICTION_TIME_INADVERTENTLY_USED_IN_MODEL_TRAINING
consequence:
OVEROPTIMISTIC_PERFORMANCE_ESTIMATE
TRAIN_TEST_CONTAMINATION:
prevention:
- STRICT_SPLIT
- PIPELINE_ISOLATION
- FIT_PREPROCESSING_ON_TRAIN_ONLY
rule:
TEST_DATA_MUST_REMAIN_UNSEEN_UNTIL_FINAL_EVALUATION_WHEN_USED_AS_INDEPENDENT_TEST_SET
SCIENTIFIC_STATISTICS_CONNECTION:
poor_data_quality:
MAY_CAUSE:
BIASED_ESTIMATES
INVALID_STANDARD_ERRORS
LOW_POWER
FALSE_DISCOVERIES
POOR_GENERALISATION
requirement:
DATA_QUALITY_ASSESSMENT_PRECEDES_FORMAL_INFERENCE
OUTLIER_DETECTION_CONNECTION:
role:
FLAG_UNUSUAL_OBSERVATIONS
caution:
OUTLIER_DETECTION_IS_ONE_COMPONENT_OF_DATA_QUALITY
ERROR_DISTRIBUTION_CONNECTION:
error_model:
HELPS_DISTINGUISH:
EXPECTED_RANDOM_VARIATION
POTENTIAL_DATA_DEFECT
caution:
LOW_PROBABILITY_OBSERVATION != INVALID_DATA
SENSITIVITY_ANALYSIS_CONNECTION:
flow:
ANALYSE_ORIGINAL_DATA
-> ANALYSE_ALTERNATIVE_CLEANING_ASSUMPTIONS
-> COMPARE_RESULTS
purpose:
QUANTIFY_EFFECT_OF_DATA_QUALITY_DECISIONS_ON_CONCLUSIONS
MISSING_DATA_SENSITIVITY:
compare:
- COMPLETE_CASE
- MULTIPLE_IMPUTATION
- WORST_CASE_SCENARIO
- ALTERNATIVE_MISSINGNESS_MODEL
QUALITY_ASSURANCE:
preventive:
- VALIDATED_INSTRUMENTS
- STANDARD_OPERATING_PROCEDURES
- TRAINING
- SCHEMA_CONSTRAINTS
- AUTOMATED_VALIDATION
- CALIBRATION
QUALITY_CONTROL:
detective:
- RANGE_CHECK
- DUPLICATE_CHECK
- OUTLIER_CHECK
- CONSISTENCY_CHECK
- SAMPLE_AUDIT
REPRODUCIBILITY:
preserve:
- RAW_DATA
- DATA_VERSION
- SCHEMA_VERSION
- VALIDATION_RULES
- CLEANING_CODE
- TRANSFORMATION_LOG
- RANDOM_SEEDS
- ANALYTIC_DATA_VERSION
APPLICATIONS:
DATA_QUALITY -> SUPPORTS -> SCIENTIFIC_STATISTICS
DATA_QUALITY -> SUPPORTS -> MEASUREMENT_ANALYSIS
DATA_QUALITY -> SUPPORTS -> EXPERIMENTAL_RESEARCH
DATA_QUALITY -> SUPPORTS -> MACHINE_LEARNING
DATA_QUALITY -> SUPPORTS -> DATA_INTEGRATION
DATA_QUALITY -> SUPPORTS -> QUALITY_CONTROL
DATA_QUALITY -> SUPPORTS -> DECISION_MAKING
MODEL_CONNECTIONS:
DATA_QUALITY -> CONNECTS_TO -> SCIENTIFIC_STATISTICS
DATA_QUALITY -> CONNECTS_TO -> MEASUREMENT_UNCERTAINTY
DATA_QUALITY -> CONNECTS_TO -> ERROR_DISTRIBUTION
DATA_QUALITY -> CONNECTS_TO -> OUTLIER_DETECTION
DATA_QUALITY -> CONNECTS_TO -> SENSITIVITY_ANALYSIS
DATA_QUALITY -> CONNECTS_TO -> MACHINE_LEARNING_STATISTICS
SEMANTIC_EQUIVALENCE:
"data quality"
~= "fitness of data for specified intended use"
"data completeness"
~= "degree to which required data values are present"
"data validity"
~= "conformance of data to specified rules and domains"
"data lineage"
~= "recorded transformation path from source to derived data"
EXCLUDE_EQUIVALENCE:
DATA_QUALITY != DATA_ACCURACY_ALONE
COMPLETENESS != ACCURACY
VALIDITY != ACCURACY
OUTLIER != DATA_ERROR
DUPLICATE != SIMILAR_RECORD
RAW_DATA != CLEANED_DATA
LARGE_DATASET != REPRESENTATIVE_DATASET
DATA_QUALITY != LOW_MEASUREMENT_UNCERTAINTY
REPRODUCIBILITY != DATA_CORRECTNESS
VALIDATION_RULES:
RULE_1:
INTENDED_USE_AND_QUALITY_REQUIREMENTS_MUST_BE_DEFINED
RULE_2:
SCHEMA_DATA_TYPES_UNITS_AND_ALLOWED_DOMAINS_MUST_BE_EXPLICIT
RULE_3:
MISSING_VALUES_AND_SPECIAL_CODES_MUST_BE_SEMANTICALLY_DISTINGUISHED
RULE_4:
OUTLIERS_MUST_NOT_BE_AUTOMATICALLY_CLASSIFIED_AS_ERRORS
RULE_5:
CORRECTIONS_AND_TRANSFORMATIONS_MUST_PRESERVE_AUDIT_TRAIL
RULE_6:
DUPLICATE_AND_ENTITY_RESOLUTION_RULES_MUST_BE_DOCUMENTED
RULE_7:
REPRESENTATIVENESS_AND_DISTRIBUTION_SHIFT_MUST_BE_ASSESSED_WHEN_GENERALISATION_IS_REQUIRED
RULE_8:
DATA_PROVENANCE_AND_LINEAGE_MUST_BE_PRESERVED
CONFIDENCE:
ontology_identity: 0.99
quality_dimensions_structure: 0.99
validation_structure: 0.99
provenance_lineage_structure: 0.99
statistical_quality_relationship: 0.99
machine_learning_quality_structure: 0.99
semantic_distinctions: 0.99
UPDATE_MODEL:
IF:
NEW_DATA_ARRIVES
THEN:
UPDATE:
DATA_PROFILE
COMPLETENESS
VALIDITY
UNIQUENESS
DISTRIBUTION_SUMMARIES
RERUN:
VALIDATION_RULES
IF:
SCHEMA_OR_VALIDATION_RULES_CHANGE
THEN:
UPDATE:
QUALITY_REQUIREMENTS
REVALIDATE:
DATASET
RECORD:
RULE_VERSION
IF:
DATA_CORRECTION_OCCURS
THEN:
PRESERVE:
ORIGINAL_VALUE
CORRECTED_VALUE
REASON
METHOD
VERSION
RECOMPUTE:
QUALITY_METRICS
PRESERVE:
RAW_DATA_VERSION
DATASET_IDENTIFIER
SCHEMA_VERSION
VARIABLE_DEFINITIONS
UNITS
VALIDATION_RULES
QUALITY_THRESHOLDS
CLEANING_HISTORY
DATA_LINEAGE
DATA_PROVENANCE
AI_CONSUMPTION:
parse_as: FORMAL_SEMANTIC_SPECIFICATION
execution_mode: RECURSIVE_REASONING
preferred_reasoning_order:
- IDENTIFY_INTENDED_DATA_USE
- IDENTIFY_SCHEMA_VARIABLES_AND_UNITS
- PROFILE_DATASET
- ASSESS_COMPLETENESS
- ASSESS_VALIDITY_AND_CONSISTENCY
- ASSESS_UNIQUENESS_AND_REFERENTIAL_INTEGRITY
- ASSESS_ACCURACY_AGAINST_AVAILABLE_REFERENCES
- REVIEW_OUTLIERS_AND_DATA_ERRORS_SEPARATELY
- ASSESS_REPRESENTATIVENESS_AND_SHIFT
- VERIFY_PROVENANCE_AND_LINEAGE
- APPLY_DOCUMENTED_CORRECTIONS
- RECOMPUTE_QUALITY_METRICS
- RETURN_DATA_QUALITY_INTERPRETATION
constraints:
- PRESERVE_RAW_DATA
- PRESERVE_DATA_SEMANTICS
- PRESERVE_UNITS
- DISTINGUISH_OUTLIERS_FROM_ERRORS
- DISTINGUISH_COMPLETENESS_FROM_ACCURACY
- DOCUMENT_ALL_CORRECTIONS
- ASSESS_FITNESS_RELATIVE_TO_INTENDED_USE
- PRESERVE_DATA_PROVENANCE
FLOW_HASH:
canonical_entity: "data-quality"
namespace: "probability-statistics/scientific-statistical-methods"
version: "4.0"
identity_basis:
- PAGE_URL
- CANONICAL_ENTITY
- ENTITY_TYPE
- QUALITY_DIMENSIONS
- VALIDATION_RULES
- PROVENANCE_AND_LINEAGE
- FITNESS_FOR_PURPOSE
END_FLOW
Download Code
Copy to Clipboard