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
Download Code
Copy to Clipboard