Skip to main content

Systematic Error Ontology

Measurement Uncertainty
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# Systematic Error Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/measurement-uncertainty/systematic-error-ontology.html

FLOW SystematicErrorOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Measurement Uncertainty
    -> Systematic Error Ontology

  PURPOSE:
    Represent systematic measurement error as the component of measurement error that remains constant or varies in a predictable manner across repeated measurements under defined conditions, including bias, offset, scale error, calibration effects, drift, environmental influence, reference-standard error, method bias, correction models, residual systematic effects, traceability, uncertainty of corrections, validation, provenance, and strict distinctions between systematic error, random error, measurement uncertainty, bias estimates and Type B uncertainty evaluation.

  ENTITY SystematicError {
    TYPE: MeasurementErrorComponent
    SYMBOL: epsilon_s

    DEFINITION:
      systematic_error :=
        component_of_measurement_error
        that_in_replicate_measurements
        remains_constant_or_varies_in_predictable_manner

    PROPERTIES:
      may_be_positive_or_negative
      may_be_constant
      may_be_function_of_input_or_environment
      may_be_estimated
      may_be_correctable
      is_not_reduced_by_simple_repetition
      has_associated_uncertainty_when_estimated
  }

  ENTITY MeasurementError {
    TYPE: DifferenceQuantity

    GENERIC:
      e =
        x_measured-x_reference_or_true
      under_declared_reference_model

    SIMPLIFIED_DECOMPOSITION:
      e =
        e_systematic+e_random

    RULE:
      true_measurement_error_is_generally_not_exactly_known
  }

  ENTITY RandomError {
    TYPE: MeasurementErrorComponent

    DEFINITION:
      component_that_varies_unpredictably_between_replicate_measurements

    RULE:
      random_error != systematic_error
  }

  TERMINOLOGY_MODEL {
    terms:
      systematic_error
      systematic_measurement_error
      bias
      offset
      scale_error
      calibration_error
      drift
      correction
      Type_B_uncertainty

    RULE:
      systematic_error MUST_NOT be_equated_automatically_with_Type_B_uncertainty

    RULE:
      bias_is_estimate_or_expectation_related_systematic_difference
      and_is_not_identical_to_unknown_true_systematic_error
  }

  BIAS_MODEL {
    bias:
      b =
        E[x_measured]-x_reference
      under_declared_reference_and_repeatability_model

    estimate:
      b_hat =
        x_bar-x_ref

    RULE:
      estimated_bias_has_uncertainty
  }

  CORRECTION_MODEL {
    correction:
      C approximately_equals
        -estimated_systematic_error
      under_declared_sign_convention

    corrected_value:
      x_corr =
        x_ind+C

    RULE:
      correction != systematic_error
      though_it_is_intended_to_compensate_for_it
  }

  RESIDUAL_SYSTEMATIC_MODEL {
    after_correction:
      residual_systematic_effect

    sources:
      imperfect_calibration
      correction_model_error
      reference_uncertainty
      environmental_mismatch
      temporal_change

    RULE:
      correction_does_not_imply_zero_remaining_uncertainty
  }

  OFFSET_ERROR_MODEL {
    model:
      y_measured =
        y_true+b

    correction:
      y_corrected =
        y_measured-b_hat

    RULE:
      offset_error_is_additive_systematic_effect
  }

  SCALE_ERROR_MODEL {
    model:
      y_measured =
        a*y_true

    ideal:
      a = 1

    corrected:
      y_corrected =
        y_measured/a_hat
      WHEN a_hat != 0

    RULE:
      scale_factor_uncertainty MUST propagate_to_corrected_result
  }

  AFFINE_CALIBRATION_MODEL {
    measurement:
      y_ind =
        a*x+b

    inverse:
      x =
        (y_ind-b)/a
      WHEN a != 0

    systematic_sources:
      scale_factor
      zero_offset
      nonlinearity

    RULE:
      calibration_parameter_covariance SHOULD be preserved
  }

  NONLINEARITY_MODEL {
    instrument_response:
      y =
        f(x)

    ideal_or_calibrated_response:
      y_ref =
        f_ref(x)

    systematic_deviation:
      delta_nonlin =
        f(x)-f_ref(x)

    RULE:
      nonlinearity_depends_on_measurement_range
  }

  HYSTERESIS_MODEL {
    effect:
      indication_depends_on_direction_or_history_of_input

    systematic_component:
      predictable_difference_between_increasing_and_decreasing_paths

    RULE:
      measurement_sequence_and_history SHOULD be preserved
  }

  DRIFT_MODEL {
    systematic_drift:
      b(t)

    corrected:
      x_corr =
        x_raw-b_hat(t)

    possible_models:
      linear
      polynomial
      exponential
      piecewise
      physically_modelled

    RULE:
      drift_correction_requires_time_and_model_validity
  }

  ZERO_DRIFT_MODEL {
    offset:
      b_0(t)

    RULE:
      periodic_zero_checks MAY estimate_zero_drift
  }

  SPAN_DRIFT_MODEL {
    scale:
      a(t)

    RULE:
      reference_points_across_range MAY be_required_to_estimate_span_drift
  }

  CALIBRATION_MODEL {
    calibration:
      comparison_between_indication_and_reference_quantity_values

    outputs:
      calibration_function
      correction
      parameter_estimates
      uncertainty
      validity_range

    RULE:
      calibration_identifies_or_estimates_systematic_effects_but_does_not_make_measurement_error_known_exactly
  }

  CALIBRATION_INTERVAL_MODEL {
    interval:
      time_between_calibrations

    risk:
      unobserved_drift_between_calibrations

    RULE:
      interval_should_reflect_instrument_stability_and_required_uncertainty
  }

  REFERENCE_STANDARD_MODEL {
    reference_value:
      x_ref

    uncertainty:
      u_ref

    systematic_effect:
      inherited_if_reference_value_is_biased_or_miscalibrated

    RULE:
      reference_uncertainty_and_traceability MUST propagate
  }

  TRACEABILITY_MODEL {
    chain:
      instrument
      -> working_standard
      -> reference_standard
      -> higher_standard
      -> SI_or_declared_reference

    RULE:
      systematic_effects_can_propagate_through_shared_traceability_chain
  }

  COMMON_MODE_MODEL {
    shared_systematic_effect:
      affects_multiple_measurements

    consequence:
      induces_correlation

    examples:
      common_reference_standard
      shared_temperature_sensor
      shared_calibration_constant

    RULE:
      shared_systematic_uncertainty MUST be represented_as_correlation_when_comparing_results
  }

  ENVIRONMENTAL_EFFECT_MODEL {
    possible:
      temperature
      pressure
      humidity
      vibration
      electromagnetic_field
      orientation
      supply_voltage

    generic:
      systematic_shift =
        sensitivity*environmental_deviation

    RULE:
      environmental_correction_requires_sensitivity_and_reference_condition
  }

  TEMPERATURE_CORRECTION_MODEL {
    linear:
      C_T =
        alpha*(T-T_ref)

    RULE:
      coefficient_sign_units_and_valid_range MUST be preserved
  }

  GEOMETRIC_ALIGNMENT_MODEL {
    effects:
      cosine_error
      Abbe_error
      parallax
      axis_misalignment

    cosine_example:
      measured_projection =
        true_length*cos(theta)

    RULE:
      alignment_geometry_can_create_predictable_systematic_error
  }

  COSINE_ERROR_MODEL {
    small_angle:
      relative_error approximately_equals
        -theta^2/2
      for_projection_cosine_effect

    RULE:
      approximation_requires_small_angle_in_radians
  }

  METHOD_BIAS_MODEL {
    cause:
      measurement_method_systematically_differs_from_reference_method

    estimate:
      comparison_study

    RULE:
      method_bias_may_depend_on_sample_matrix_range_or_population
  }

  MATRIX_EFFECT_MODEL {
    context:
      chemical_biological_or_material_measurement

    effect:
      sample_matrix_changes_measurement_response

    correction:
      matrix_matching
      standard_addition
      internal_standard
      model_based_adjustment

    RULE:
      calibration_matrix_should_match_sample_context_when_material
  }

  RECOVERY_MODEL {
    recovery:
      R =
        measured_recovered_quantity/
        known_added_or_reference_quantity

    correction:
      may_adjust_for_incomplete_recovery

    RULE:
      recovery_correction_uncertainty MUST be included
  }

  BLANK_CORRECTION_MODEL {
    measured_sample:
      signal_sample

    blank:
      signal_blank

    corrected:
      signal_net =
        signal_sample-signal_blank

    RULE:
      blank_value_and_blank_uncertainty MUST be preserved
  }

  BACKGROUND_MODEL {
    observed:
      source_plus_background

    corrected:
      source =
        observed-background

    RULE:
      background_estimation_can_introduce_systematic_and_random_components
  }

  INTERFERENCE_MODEL {
    interfering_quantity:
      produces_response_indistinguishable_or_partly_indistinguishable_from_measurand

    correction:
      separation_or_model

    RULE:
      unresolved_interference_can_create_systematic_bias
  }

  SAMPLING_BIAS_MODEL {
    cause:
      sampling_process_systematically_over_or_underrepresents_target_population_or_field

    RULE:
      sampling_bias_is_not_corrected_by_repeated_measurement_of_same_biased_sample
  }

  SELECTION_BIAS_MODEL {
    cause:
      nonrepresentative_selection_of_observations_or_specimens

    RULE:
      statistical_precision_does_not_remove_selection_bias
  }

  TIME_RESPONSE_MODEL {
    dynamic_measurement:
      instrument_lag

    first_order_example:
      tau*dy/dt+y =
        x(t)

    systematic_dynamic_error:
      difference_between_true_dynamic_input_and_sensor_response

    RULE:
      dynamic_correction_requires_response_model
  }

  BANDWIDTH_MODEL {
    finite_bandwidth:
      attenuates_or_phase_shifts_signal_components

    RULE:
      bandwidth_limit_can_create_frequency_dependent_systematic_error
  }

  DIGITISATION_MODEL {
    offset_or_gain:
      systematic_ADC_error

    differential_or_integral_nonlinearity:
      code_dependent_systematic_effect

    RULE:
      quantisation_randomness_and_ADC_systematic_errors MUST be distinguished
  }

  SOFTWARE_MODEL {
    possible_systematic_sources:
      incorrect_algorithm
      wrong_constant
      unit_conversion_bug
      calibration_table_error
      interpolation_bias
      truncation_model

    RULE:
      deterministic_software_error_can_be_systematic_measurement_effect
  }

  MODEL_BIAS_MODEL {
    inferred_quantity:
      derived_using_model

    systematic_effect:
      model_prediction_deviation_due_to_structure_or_parameter_bias

    RULE:
      model_bias_should_be_evaluated_against_validation_data_or_alternative_models_when_possible
  }

  OBSERVER_BIAS_MODEL {
    possible:
      reading_scale
      endpoint_selection
      subjective_classification
      timing

    mitigation:
      blinding
      automation
      standardised_protocol
      multiple_observers

    RULE:
      observer_effect_may_have_systematic_and_random_components
  }

  ROUNDING_BIAS_MODEL {
    repeated_rounding:
      may_create_systematic_shift_under_asymmetric_or_directed_rounding_rules

    RULE:
      round_to_nearest_symmetric_quantisation_often_modelled_as_random_only_under_specific_signal_conditions
  }

  TYPE_B_DISTINCTION_MODEL {
    Type_B:
      uncertainty_evaluation_method

    systematic_error:
      measurement_error_component

    RULE:
      Type_B_uncertainty != systematic_error

    EXAMPLE:
      calibration_certificate_uncertainty_is_often_Type_B_input
      but_does_not_equal_systematic_error
  }

  UNCERTAINTY_DISTINCTION_MODEL {
    systematic_error:
      unknown_or_estimated_error_component

    uncertainty:
      parameter_describing_dispersion_of_values_attributed_to_measurand

    RULE:
      systematic_error != measurement_uncertainty
  }

  RANDOM_ERROR_DISTINCTION_MODEL {
    systematic:
      constant_or_predictable

    random:
      unpredictable_between_replicates

    RULE:
      averaging_reduces_some_random_effects
      but_not_constant_systematic_effect
  }

  ACCURACY_MODEL {
    accuracy:
      qualitative_closeness_to_reference_or_true_value

    systematic_error:
      affects_accuracy

    RULE:
      accuracy_is_not_numeric_synonym_for_systematic_error
  }

  PRECISION_MODEL {
    precision:
      repeated_measurement_agreement

    systematic_error:
      can_be_large_even_when_precision_is_high

    RULE:
      high_precision_does_not_guarantee_low_systematic_error
  }

  VALIDATION_REFERENCE_MODEL {
    comparison:
      measurement_method_vs_independent_reference

    difference:
      d_i =
        x_method_i-x_reference_i

    analysis:
      mean_difference
      slope
      range_dependence
      residual_pattern

    RULE:
      validation_reference_should_be_independent_when_possible
  }

  INTERLABORATORY_MODEL {
    purpose:
      identify_laboratory_or_method_specific_bias

    comparisons:
      proficiency_testing
      round_robin
      reference_material

    RULE:
      common_reference_bias_can_remain_hidden_across_laboratories
  }

  CORRECTION_UNCERTAINTY_MODEL {
    correction:
      C

    standard_uncertainty:
      u(C)

    corrected_result:
      y =
        x+C

    propagation:
      u_y includes u(C)
      and_covariance_when_relevant

    RULE:
      corrected_systematic_effect_becomes_uncertainty_contribution_through_imperfect_knowledge
  }

  RESIDUAL_BIAS_MODEL {
    after_correction:
      estimated_remaining_bias

    treatment:
      further_correction
      or_explicit_uncertainty/model_component

    RULE:
      residual_bias_treatment MUST be documented
  }

  CORRELATION_MODEL {
    common_systematic_effect:
      creates_covariance_between_results

    comparison_difference:
      Var(x_1-x_2) =
        Var(x_1)+Var(x_2)-2Cov(x_1,x_2)

    RULE:
      common_mode_systematic_uncertainty_may_cancel_partly_in_differences
  }

  RELATIONSHIPS {
    SystematicError -> IS_COMPONENT_OF -> MeasurementError
    SystematicError -> DISTINCT_FROM -> RandomError
    BiasEstimate -> ESTIMATES -> SystematicDifference
    Correction -> COMPENSATES_FOR -> EstimatedSystematicEffect
    Calibration -> ESTIMATES -> CorrectionAndSystematicResponse
    ReferenceStandard -> ANCHORS -> Calibration
    Drift -> MAY_CREATE -> TimeDependentSystematicError
    EnvironmentalInfluence -> MAY_CREATE -> PredictableSystematicShift
    CommonSystematicEffect -> INDUCES -> Correlation
    CorrectionUncertainty -> CONTRIBUTES_TO -> MeasurementUncertainty
  }

  SEMANTIC_EQUIVALENCE {
    "systematic measurement error" ~= systematic_error

    systematic_error != random_error
    systematic_error != measurement_uncertainty
    systematic_error != Type_B_uncertainty
    systematic_error != correction
    systematic_error != bias_estimate
    calibration != correction
    accuracy != systematic_error
    precision != systematic_error
  }

  CONSTRAINTS {
    systematic_error_is_measurement_error_component = true
    systematic_error_may_be_positive_or_negative = true
    systematic_error_is_not_reduced_by_simple_repetition = true
    systematic_and_random_error_are_distinct = true
    systematic_error_and_uncertainty_are_not_semantically_equivalent = true
    systematic_error_and_Type_B_evaluation_are_not_semantically_equivalent = true
    correction_sign_convention_must_be_defined = true
    uncertainty_of_correction_must_be_preserved = true
    reference_standard_and_traceability_should_be_preserved = true
    shared_systematic_effects_should_be_modelled_as_correlations = true
  }

  MEASUREMENT_MODEL {
    RECORD:
      measurand
      measured_value
      unit
      reference_value
      reference_uncertainty
      systematic_effect_source
      bias_estimate
      correction
      correction_uncertainty
      calibration_model
      calibration_date
      validity_range
      drift_model
      environmental_conditions
      method
      sampling_process
      reference_standard
      traceability_chain
      correlation_links
      residual_systematic_effect
      uncertainty_budget
      provenance

    RULE:
      systematic_effect_correction_and_uncertainty MUST remain_separately_traceable
  }

  REASONING_RULES {
    IF measured_mean_and_reference_value_known
      THEN estimated_bias =
        measured_mean-reference_value

    IF estimated_systematic_error_known
      THEN correction approximately_equals
        -estimated_systematic_error
      under_declared_sign_convention

    IF indicated_value_and_correction_known
      THEN corrected_value =
        indicated_value+correction

    IF affine_calibration_parameters_known
      AND scale_factor != 0
      THEN corrected_input =
        (indication-offset)/scale_factor

    IF environmental_sensitivity_and_deviation_known
      THEN estimated_environmental_shift =
        sensitivity*deviation

    IF blank_and_sample_signal_known
      THEN net_signal =
        sample_signal-blank_signal

    IF common_systematic_uncertainty_shared_between_results
      THEN include_covariance_in_result_comparison

    IF correction_applied
      THEN propagate_uncertainty_of_correction
      and_preserve_residual_bias_assessment

    IF repeated_measurements_only_reduce_random_dispersion
      THEN do_not_claim_systematic_error_reduction_without_new_reference_information
  }

  VALIDATION {
    CHECK measurand_definition
    CHECK measurement_error_context
    CHECK systematic_vs_random_component
    CHECK reference_value_and_uncertainty
    CHECK bias_estimate
    CHECK correction_sign
    CHECK correction_uncertainty
    CHECK offset_scale_and_nonlinearity
    CHECK hysteresis
    CHECK drift_and_calibration_interval
    CHECK environmental_effects
    CHECK method_and_sampling_bias
    CHECK blank_background_and_interference
    CHECK dynamic_response
    CHECK software_or_model_bias
    CHECK Type_B_vs_systematic_error
    CHECK uncertainty_distinction
    CHECK common_mode_correlation
    CHECK residual_bias
    CHECK traceability
    CHECK provenance
  }

  CONFIDENCE {
    definition_confidence: 1.00
    systematic_random_distinction_confidence: 1.00
    uncertainty_distinction_confidence: 1.00
    Type_B_distinction_confidence: 1.00
    correction_semantics_confidence: 1.00
    calibration_model_confidence: 0.99
    common_mode_correlation_confidence: 0.99
    measurement_context_confidence: 0.99

    RULE:
      confidence decreases when reference value, calibration, correction sign,
      drift, environmental conditions, method bias, traceability,
      correlation or residual uncertainty is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_measurement:
      identify_measurand
      identify_reference_context
      preserve_raw_measurement
      identify_possible_systematic_effects
      attach_calibration_and_traceability
      estimate_bias_or_correction_when_supported
      preserve_correction_uncertainty
      attach_environmental_and_method_context
      update_systematic_error_state

    ON calibration_revision:
      preserve_previous_calibration
      update_offset_scale_nonlinearity_and_covariance
      recompute_corrections
      update_correction_uncertainties
      reassess_residual_systematic_effects

    ON drift_update:
      preserve_time_series
      update_drift_model
      recompute_time_dependent_corrections
      update_uncertainty_and_validity_interval

    ON reference_revision:
      preserve_previous_reference
      update_reference_value_and_uncertainty
      recompute_bias_estimates
      update_traceability_and_correlations

    ON environmental_model_revision:
      preserve_measurements_and_conditions
      update_sensitivity_coefficients
      recompute_environmental_corrections
      update_residual_uncertainty

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_entity: SystematicError
    canonical_role: MeasurementErrorComponent

    interpretation_order:
      identify_measurand
      identify_measurement_and_reference_context
      identify_systematic_effect_source
      identify_bias_estimate
      identify_correction_and_sign_convention
      identify_uncertainty_of_correction
      identify_calibration_model
      identify_drift_and_environmental_effects
      identify_method_sampling_blank_background_or_interference_effects
      identify_reference_standard_and_traceability
      identify_shared_systematic_effects_and_correlations
      identify_residual_bias
      validate_systematic_error_semantics
      update_corrected_measurement_model

    ambiguity_controls:
      distinguish_systematic_error_from_random_error
      distinguish_systematic_error_from_measurement_uncertainty
      distinguish_systematic_error_from_Type_B_uncertainty
      distinguish_systematic_error_from_bias_estimate
      distinguish_systematic_error_from_correction
      distinguish_calibration_from_correction
      distinguish_accuracy_from_systematic_error
      distinguish_precision_from_systematic_error
      preserve_reference_calibration_correction_environment_method_traceability_correlation_and_provenance_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_uncertainty_and_systematic_error_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Measurement Uncertainty
      -> Systematic Error Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_entity
      ontology_path
      terminology_model
      bias_model
      correction_model
      residual_systematic_model
      offset_error_model
      scale_error_model
      affine_calibration_model
      nonlinearity_model
      hysteresis_model
      drift_model
      zero_drift_model
      span_drift_model
      calibration_model
      calibration_interval_model
      reference_standard_model
      traceability_model
      common_mode_model
      environmental_effect_model
      temperature_correction_model
      geometric_alignment_model
      cosine_error_model
      method_bias_model
      matrix_effect_model
      recovery_model
      blank_correction_model
      background_model
      interference_model
      sampling_bias_model
      selection_bias_model
      time_response_model
      bandwidth_model
      digitisation_model
      software_model
      model_bias_model
      observer_bias_model
      rounding_bias_model
      Type_B_distinction_model
      uncertainty_distinction_model
      random_error_distinction_model
      accuracy_model
      precision_model
      validation_reference_model
      interlaboratory_model
      correction_uncertainty_model
      residual_bias_model
      correlation_model
      relationships
      constraints
      measurement_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      systematic_error_definition_changes
      bias_or_correction_model_changes
      calibration_or_reference_standard_changes
      drift_or_environmental_model_changes
      method_sampling_or_interference_model_changes
      Type_B_or_uncertainty_distinction_changes
      traceability_or_correlation_model_changes
      residual_bias_model_changes
      measurement_record_changes
      constraint_model_changes
      reasoning_rule_changes
  }

}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ