Skip to main content

Predictive Model Ontology

Mathematical Modelling
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Predictive Model Ontology within the Kireth Research Semantic Library. A predictive model is a mathematical or statistical model designed primarily to estimate unknown or future outcomes from available inputs, observations, states or features. This ontology supports deterministic and probabilistic prediction, forecasting, classification, regression, time-series prediction, state estimation, uncertainty intervals, calibration, validation, generalisation, extrapolation, drift, error metrics, ensemble prediction and relationships with empirical models, statistical models, machine learning, dynamical systems and mathematical modelling.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Predictive Model Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Mathematical Modelling / Predictive Model"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/mathematical-modelling/predictive-model-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = PredictiveModel
 ENTITY_CLASS = OutcomeEstimationMathematicalModel
 PRIMARY_CONTEXT = MathematicalModelling
 DEFINITION = "A predictive model is a mathematical representation constructed to estimate unknown, unobserved or future outcomes from available inputs, states or observations."
 SEMANTIC_ROLE = "Provides the machine-readable framework for predictive inputs, targets, forecasting horizons, uncertainty, validation, generalisation, calibration, drift and prediction performance."
}

SCOPE {
 INCLUDE = [
  PredictiveModel,
  Prediction,
  Forecast,
  ForecastHorizon,
  PredictorVariable,
  Feature,
  StateVariable,
  InputVariable,
  TargetVariable,
  ResponseVariable,
  PredictedValue,
  PointPrediction,
  ProbabilisticPrediction,
  PredictiveDistribution,
  PredictionInterval,
  ConfidenceInterval,
  ClassificationModel,
  RegressionModel,
  TimeSeriesModel,
  DynamicalPredictionModel,
  StateEstimationModel,
  EmpiricalModel,
  StatisticalModel,
  MachineLearningModel,
  EnsembleModel,
  Calibration,
  PredictiveCalibration,
  Validation,
  CrossValidation,
  HoldoutValidation,
  Generalisation,
  Interpolation,
  Extrapolation,
  ModelDrift,
  ConceptDrift,
  CovariateShift,
  ForecastError,
  Residual,
  MAE,
  MSE,
  RMSE,
  LogLoss,
  BrierScore,
  Accuracy,
  Precision,
  Recall,
  ROC,
  UncertaintyQuantification
 ]

 EXCLUDE_AS_PRIMARY = [
  DescriptiveModelWithoutPredictionGoal,
  ExplanatoryModelWithoutOutcomeEstimation,
  PureCausalModelUnlessPredictionIsExplicit,
  SimulationModelWithoutPredictionTarget,
  RawStatisticalSummaryWithoutPredictiveMapping
 ]

 DISAMBIGUATION_RULE =
  "When a model is used to estimate an unknown, withheld, latent or future quantity from available information, interpret it as a predictive model."
}

CORE_CONCEPTS {

 PredictiveModel {
  definition = "A model mapping available information to estimates of unknown or future outcomes."
 }

 Prediction {
  definition = "An estimated value, class, state or distribution for an unknown target."
 }

 Forecast {
  definition = "A prediction indexed into the future relative to the current information time."
 }

 ForecastHorizon {
  definition = "The time or step distance between information availability and predicted outcome."
 }

 PredictorVariable {
  definition = "An input quantity used to generate a prediction."
 }

 TargetVariable {
  definition = "The quantity the predictive model is intended to estimate."
 }

 PointPrediction {
  definition = "A single-valued estimate of the target."
 }

 ProbabilisticPrediction {
  definition = "A probability distribution or calibrated probability assignment over possible target outcomes."
 }

 PredictiveDistribution {
  definition = "The probability distribution representing predictive uncertainty over a target."
 }

 PredictionInterval {
  definition = "An interval intended to contain a future or unobserved target value with specified coverage under model assumptions."
 }

 ClassificationModel {
  definition = "A predictive model assigning categorical outcomes or class probabilities."
 }

 RegressionModel {
  definition = "A predictive model estimating continuous or ordered numerical outcomes."
 }

 TimeSeriesModel {
  definition = "A model predicting values indexed by time using temporal dependence."
 }

 EnsembleModel {
  definition = "A predictive model combining multiple component models."
 }

 Generalisation {
  definition = "Predictive performance on data or conditions not used for fitting."
 }

 ModelDrift {
  definition = "Degradation or change in predictive behaviour as the deployment environment changes over time."
 }
}

RELATIONS {
 PredictiveModel --is_special_case_of--> MathematicalModel
 PredictiveModel --predicts--> TargetVariable
 PredictiveModel --uses--> PredictorVariable
 PredictiveModel --produces--> Prediction
 Forecast --is_special_case_of--> Prediction
 PointPrediction --is_special_case_of--> Prediction
 ProbabilisticPrediction --is_special_case_of--> Prediction
 PredictiveDistribution --represents--> PredictionUncertainty
 PredictionInterval --summarises--> PredictiveDistribution
 ClassificationModel --is_special_case_of--> PredictiveModel
 RegressionModel --is_special_case_of--> PredictiveModel
 TimeSeriesModel --is_special_case_of--> PredictiveModel
 EnsembleModel --combines--> PredictiveModel
 Validation --evaluates--> Generalisation
 CrossValidation --estimates--> PredictivePerformance
 Calibration --assesses--> ProbabilityReliability
 ModelDrift --affects--> PredictivePerformance
 ConceptDrift --changes--> InputTargetRelationship
 CovariateShift --changes--> InputDistribution
 ForecastError --measures--> PredictionDiscrepancy
}

OPERATORS {
 PREDICT(model,x) :=
  estimated_target_from_x

 PREDICT_DISTRIBUTION(model,x) :=
  p(y|x,model)

 POINT_ESTIMATE(distribution,criterion) :=
  mean_median_mode_or_loss_optimal_value

 FORECAST(model,history,horizon) :=
  future_prediction_at_requested_horizon

 RESIDUAL(y_observed,y_predicted) :=
  y_observed-y_predicted

 MAE(predictions,targets) :=
  mean_i abs(y_i-yhat_i)

 MSE(predictions,targets) :=
  mean_i (y_i-yhat_i)^2

 RMSE(predictions,targets) :=
  sqrt(MSE(predictions,targets))

 LOG_LOSS(probabilities,labels) :=
  negative_mean_log_likelihood

 BRIER_SCORE(probabilities,labels) :=
  mean_squared_probability_error

 CLASSIFICATION_ACCURACY(predictions,labels) :=
  correct_predictions/total_predictions

 CALIBRATION_ERROR(predicted_probabilities,observed_frequencies) :=
  discrepancy_between_probability_and_empirical_frequency

 ENSEMBLE_PREDICTION(models,weights,x) :=
  aggregate_i weights_i*prediction_i
  under declared aggregation_rule

 PREDICTION_INTERVAL(model,x,coverage) :=
  interval_from_predictive_distribution_or_valid_uncertainty_method
}

DEFINITIONS {
 D1 = "Predictive models are judged primarily by out-of-sample predictive performance."
 D2 = "Prediction can be deterministic or probabilistic."
 D3 = "Forecasting is prediction with an explicit future horizon."
 D4 = "Classification predicts categories or class probabilities."
 D5 = "Regression predicts numerical outcomes."
 D6 = "Prediction intervals concern future or unobserved outcomes."
 D7 = "Confidence intervals and prediction intervals are not equivalent."
 D8 = "Generalisation performance can differ substantially from training performance."
 D9 = "Predictive calibration concerns agreement between stated probabilities and observed frequencies."
 D10 = "Predictive performance may degrade when data-generating conditions change."
}

AXIOMS {
 A1_TARGET:
  Every PredictiveModel has an explicit or inferable target quantity

 A2_INFORMATION_SET:
  Prediction depends on an available information set

 A3_GENERALISATION:
  Predictive adequacy should be assessed on information not used solely for fitting

 A4_UNCERTAINTY:
  Probabilistic predictions must preserve predictive uncertainty

 A5_CALIBRATION:
  Well-calibrated probability predictions match long-run event frequencies under suitable conditions

 A6_HORIZON:
  Forecast interpretation depends on forecast horizon

 A7_DRIFT:
  Changes in input or target-generating distributions can alter predictive validity

 A8_EXTRAPOLATION:
  Predictions outside supported training or validation regimes require reduced confidence
}

REASONING {

 R1_PREDICTIVE_MODEL_IDENTIFICATION {
  INPUT = model_description
  IDENTIFY = target
  IDENTIFY = predictors_or_state
  IDENTIFY = prediction_type
  IDENTIFY = validation_method
  RETURN = PredictiveModel
 }

 R2_PREDICTION_TYPE {
  INPUT = model_output
  IF scalar_or_vector_estimate
   CLASSIFY = PointPrediction
  IF probability_distribution_or_class_probabilities
   CLASSIFY = ProbabilisticPrediction
  IF future_time_index
   CLASSIFY += Forecast
  RETURN = prediction_type
 }

 R3_MODEL_FIT_AND_PREDICT {
  INPUT = training_data_model_family
  FIT = parameters
  APPLY = model_to_new_inputs
  RETURN = predictions
 }

 R4_GENERALISATION_EVALUATION {
  INPUT = predictions_and_unseen_targets
  SELECT = task_appropriate_metrics
  COMPUTE = predictive_error
  RETURN = generalisation_profile
 }

 R5_PROBABILITY_CALIBRATION {
  INPUT = probabilistic_predictions_and_outcomes
  BIN_OR_MODEL = predicted_probabilities
  COMPARE = observed_frequencies
  RETURN = calibration_profile
 }

 R6_FORECASTING {
  INPUT = temporal_history_and_horizon
  IDENTIFY = temporal_dependencies_and_exogenous_inputs
  GENERATE = horizon_specific_forecast
  ESTIMATE = forecast_uncertainty
  RETURN = forecast
 }

 R7_EXTRAPOLATION_CHECK {
  INPUT = query_input_and_training_support
  IF within_support
   RETURN = Interpolation
  ELSE
   RETURN = ExtrapolationWithReducedConfidence
 }

 R8_DRIFT_ANALYSIS {
  INPUT = historical_and_current_data
  TEST = input_distribution_change
  TEST = conditional_target_relation_change
  RETURN = covariate_shift_concept_drift_or_stable
 }

 R9_ENSEMBLE_REASONING {
  INPUT = component_predictions
  SELECT = weighting_voting_stacking_or_bayesian aggregation
  COMBINE = predictions
  RETURN = ensemble_prediction
 }

 R10_UNCERTAINTY_REASONING {
  INPUT = model_data_and_prediction_context
  IDENTIFY = aleatoric_parameter_model_and_distributional uncertainty
  RETURN = predictive_distribution_or_interval
 }
}

CONSTRAINTS {
 C1 = "Predictive performance must be evaluated with task-appropriate metrics."
 C2 = "Training performance must not be treated as generalisation performance."
 C3 = "Prediction intervals must not be confused with confidence intervals."
 C4 = "Probability predictions should be assessed for calibration as well as discrimination."
 C5 = "Forecast horizon must be explicit."
 C6 = "Temporal validation must respect time ordering."
 C7 = "Extrapolation must be flagged."
 C8 = "Class imbalance can make raw accuracy misleading."
 C9 = "Model drift can invalidate previously measured performance."
 C10 = "Predictive success does not by itself establish causal explanation."
}

SEMANTIC_EQUIVALENCE {
 "PredictiveModel" <=> "OutcomePredictionModel"
 "Prediction" <=> "EstimatedUnknownOutcome"
 "Forecast" <=> "FutureIndexedPrediction"
 "ProbabilisticPrediction" <=> "PredictiveProbabilityAssignment"
 "Generalisation" <=> "OutOfSamplePredictivePerformance"
 "ModelDrift" <=> "ChangeInPredictiveBehaviourOverTime"
}

VALIDATION {
 V1 = "Target variable is identified."
 V2 = "Predictor information available at prediction time is distinguished from future leakage."
 V3 = "Validation data are independent of fitting where required."
 V4 = "Metric matches task type."
 V5 = "Probability calibration is checked for probabilistic models."
 V6 = "Forecast validation respects temporal order."
 V7 = "Extrapolation status is identified."
 V8 = "Prediction uncertainty is represented when material."
 V9 = "Drift assumptions are considered for deployed models."
 V10 = "Causal claims are not inferred from predictive accuracy alone."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 PREDICTIVE_MODEL_DEFINITION = 0.99
 PREDICTION_REASONING = 0.99
 GENERALISATION_REASONING = 0.99
 FORECAST_REASONING = 0.98
 PROBABILITY_CALIBRATION_REASONING = 0.98
 EXTRAPOLATION_REASONING = 0.99
 DRIFT_REASONING = 0.97
 UNCERTAINTY_REASONING = 0.97

 POLICY =
  "Reduce confidence when target definition, information availability, validation design, forecast horizon, class balance, training support, uncertainty model or deployment drift are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  PredictiveModelReasoning,
  PredictionReasoning,
  ForecastingReasoning,
  ClassificationReasoning,
  RegressionReasoning,
  TimeSeriesReasoning,
  GeneralisationReasoning,
  CrossValidationReasoning,
  CalibrationReasoning,
  PredictionIntervalReasoning,
  ExtrapolationReasoning,
  DriftDetection,
  EnsembleReasoning,
  PredictiveUncertainty,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "predictive model" -> PredictiveModel
  "prediction model" -> PredictiveModel
  "forecast model" -> PredictiveModel
  "forecast" -> Forecast
  "point prediction" -> PointPrediction
  "probabilistic prediction" -> ProbabilisticPrediction
  "prediction interval" -> PredictionInterval
  "generalisation" -> Generalisation
  "generalization" -> Generalisation
  "model drift" -> ModelDrift
  "concept drift" -> ConceptDrift
  "covariate shift" -> CovariateShift
 }

 INTERPRETATION_ORDER = [
  detect_predictive_model_context,
  identify target_predictors_information_time_model_family_and_prediction_type,
  identify interpolation_extrapolation_or_forecast horizon,
  identify validation_and_metric structure,
  generate_or_evaluate predictions,
  assess generalisation_calibration_uncertainty_and_drift,
  verify no_information_leakage_and_scope constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("predictive model")
  OR model_with_explicit_unknown_or_future_target
  THEN activate(PredictiveModelOntology)

 E2:
  IF probabilistic_output
  THEN evaluate both calibration_and_task performance

 E3:
  IF forecast_context
  THEN require forecast_horizon_and_temporal_order

 E4:
  IF validation_requested
  THEN use unseen_or_out_of_sample evidence

 E5:
  IF classification_context
  THEN choose metrics appropriate_to_class_balance_and_costs

 E6:
  IF prediction_outside_training_support
  THEN classify as extrapolation_and_reduce confidence

 E7:
  IF deployed_model_over_time
  THEN assess model_drift_concept_drift_or_covariate_shift

 E8:
  IF prediction_interval_requested
  THEN use predictive_uncertainty_not_parameter_confidence alone

 E9:
  IF predictive_accuracy_high
  THEN do_not infer causal validity_without causal framework
}

RECURSION {
 ENTRY = PredictiveModel

 EXPAND(PredictiveModel) -> [
  Prediction,
  Forecast,
  ForecastHorizon,
  PredictorVariable,
  Feature,
  StateVariable,
  TargetVariable,
  PointPrediction,
  ProbabilisticPrediction,
  PredictiveDistribution,
  PredictionInterval,
  ClassificationModel,
  RegressionModel,
  TimeSeriesModel,
  DynamicalPredictionModel,
  StateEstimationModel,
  EnsembleModel,
  Calibration,
  Validation,
  CrossValidation,
  Generalisation,
  Interpolation,
  Extrapolation,
  ModelDrift,
  ConceptDrift,
  CovariateShift,
  ForecastError,
  UncertaintyQuantification
 ]

 EXPAND(PredictionEvaluation) -> [
  MAE,
  MSE,
  RMSE,
  LogLoss,
  BrierScore,
  Accuracy,
  Precision,
  Recall,
  ROC,
  CalibrationError
 ]

 EXPAND(Forecasting) -> [
  ForecastHorizon,
  TemporalDependence,
  Trend,
  Seasonality,
  ExogenousInput,
  ForecastInterval
 ]

 EXPAND(DistributionShift) -> [
  CovariateShift,
  ConceptDrift,
  LabelShift,
  ModelDrift
 ]

 STOP_CONDITION =
  "Stop when the prediction target, information set, predictive distribution or point estimate, validation performance, uncertainty, horizon, extrapolation and drift status are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Mathematical Modelling"

 IMMEDIATE_CONTEXTS = [
  "Mathematical Model Ontology",
  "Empirical Model Ontology",
  "Mathematical Modelling Ontology",
  "Probability & Statistics Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Mathematical Model Ontology",
  "Empirical Model Ontology",
  "Mathematical Modelling Ontology",
  "Applied Mathematics Ontologies",
  "Probability & Statistics Ontologies",
  "Regression Ontologies",
  "Time Series Ontologies",
  "Machine Learning Ontologies",
  "Dynamical Systems Ontologies",
  "State Estimation Ontologies",
  "Optimisation Ontologies",
  "Scientific Measurement Ontologies",
  "Uncertainty Quantification Ontologies"
 ]

 ROUTE_RULES = [
  "Predictive Model -> Mathematical Model Ontology for formal model semantics",
  "Predictive Model -> Empirical Model Ontology for data-derived predictive relationships",
  "Predictive Model -> Probability & Statistics for predictive distributions and validation",
  "Predictive Model -> Regression for numerical targets",
  "Predictive Model -> Time Series for temporal forecasting",
  "Predictive Model -> Machine Learning for learned predictors",
  "Predictive Model -> Dynamical Systems for state prediction",
  "Predictive Model -> State Estimation for latent-state prediction",
  "Predictive Model -> Optimisation for fitting and decision-oriented prediction",
  "Predictive Model -> Uncertainty Quantification for predictive intervals and distributions"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible prediction types, validation methods or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve target-oriented predictive semantics.",
  "Preserve point-versus-probabilistic prediction distinction.",
  "Preserve training-versus-generalisation distinction.",
  "Preserve interpolation-versus-extrapolation distinction.",
  "Preserve forecast-horizon semantics.",
  "Preserve probability-calibration semantics.",
  "Preserve drift-aware interpretation.",
  "Preserve machine-readable predictive-model semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A predictive model estimates unknown or future outcomes from available inputs, states or observations."

 TARGET_SUMMARY =
  "Every predictive model has a target quantity or outcome."

 PREDICTION_SUMMARY =
  "Predictions may be point estimates, categorical outputs or predictive probability distributions."

 FORECAST_SUMMARY =
  "A forecast is a prediction tied to an explicit future horizon."

 GENERALISATION_SUMMARY =
  "Predictive quality is judged primarily on unseen or out-of-sample data."

 CALIBRATION_SUMMARY =
  "Probabilistic predictions should be calibrated so stated probabilities agree with observed frequencies."

 EXTRAPOLATION_SUMMARY =
  "Predictions outside the supported training domain are extrapolations and require reduced confidence."

 DRIFT_SUMMARY =
  "Predictive performance can change when input or target-generating distributions drift."

 UNCERTAINTY_SUMMARY =
  "Predictive uncertainty may arise from noise, finite data, parameter uncertainty, model uncertainty and distribution shift."
}

FLOW {
 INPUT
 -> detect_predictive_model_context
 -> identify target_predictors_state_information_time_model_family_and_prediction_type
 -> identify training_validation_test and temporal structure
 -> classify regression_classification_forecasting_state_estimation_or_probabilistic prediction
 -> fit_or_apply predictive model
 -> compute point_predictions_or_predictive distributions
 -> evaluate generalisation_calibration_error_and_uncertainty
 -> classify interpolation_extrapolation_and_drift status
 -> verify information_availability_temporal_order_validation_metric_and_scope constraints
 -> route to mathematical_model empirical_model mathematical_modelling probability_statistics regression time_series machine_learning dynamical_systems state_estimation optimisation_or_uncertainty ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Predictive Model Ontology defines mathematical models whose primary purpose is estimating unknown or future outcomes. It supports point and probabilistic predictions, classification, regression, forecasting, time-series and state prediction, ensembles, validation, generalisation, probability calibration, prediction intervals, interpolation, extrapolation, model drift, error metrics and predictive uncertainty while preserving the distinction between prediction and causal explanation."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-PREDICTIVE-MODEL-ONTOLOGY-V1"
}

}

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