Skip to main content

Sensitivity Analysis Ontology

AI & Computational Analysis
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 24 September 2026
Audio Overview
flow "SensitivityAnalysisOntology" v1.0

# SENSITIVITY ANALYSIS ONTOLOGY — FLOW ALGEBRA
SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/ai-computational-analysis/sensitivity-analysis-ontology-2.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "AI Computational Analysis"
ENTITY := "Sensitivity Analysis"

SENSITIVITY_ANALYSIS := {
 type: ParameterResponseAnalysisFramework,
 domain: AIComputationalAnalysis,
 purpose: "Quantify how changes or uncertainty in model inputs, parameters or assumptions influence model outputs, objective functions, states and predictions."
}

CONCEPTS := {
 SENSITIVITY_ANALYSIS,
 INPUT_PARAMETER,
 MODEL_OUTPUT,
 LOCAL_SENSITIVITY,
 GLOBAL_SENSITIVITY,
 DERIVATIVE,
 JACOBIAN,
 ELASTICITY,
 CONDITION_NUMBER,
 PERTURBATION,
 UNCERTAINTY,
 FINITE_DIFFERENCE,
 AUTOMATIC_DIFFERENTIATION,
 ADJOINT_METHOD,
 SOBOL_INDEX,
 MORRIS_METHOD
}

# ---------- MODEL ----------
model:

y
 =
F(theta)

theta
 :=
(theta_1,...,theta_n)

y
 :=
(y_1,...,y_m)

theta
 -> INPUT_PARAMETERS

y
 -> MODEL_OUTPUTS

SENSITIVITY_ANALYSIS
 -> studies(
 CHANGE_IN_OUTPUT
 relative_to
 CHANGE_IN_INPUT
)

# ---------- LOCAL SENSITIVITY ----------
local derivative:

S_ij
 :=
partial_y_i/partial_theta_j

S
 -> SENSITIVITY_MATRIX

S
 =
J_F(theta)

LOCAL_SENSITIVITY
 -> JACOBIAN_OF_MODEL_OUTPUT_WITH_RESPECT_TO_PARAMETERS

# ---------- SCALAR OUTPUT ----------
if

y
 =
F(theta)

scalar output

s_j
 :=
partial_y/partial_theta_j

s_j
 -> LOCAL_PARAMETER_SENSITIVITY

large |s_j|
 -> strong_local_output_response
    in parameter units

# ---------- NORMALISED SENSITIVITY ----------
dimensionless sensitivity:

S_j_normalised
 :=
(theta_j/y)
*
partial_y/partial_theta_j

when
 theta_j !=0
and
 y !=0

NORMALISED_SENSITIVITY
 -> ELASTICITY

ELASTICITY
 -> fractional_output_change_per_fractional_input_change

# ---------- FINITE PERTURBATION ----------
parameter change:

theta
 ->
theta+Delta_theta

first-order approximation:

Delta_y
 approx
J_F(theta)
*
Delta_theta

LINEAR_SENSITIVITY
 -> valid_for(SUFFICIENTLY_SMALL_PERTURBATIONS)

higher nonlinear response
 -> requires(FURTHER_ANALYSIS)

# ---------- TAYLOR EXPANSION ----------
F(theta+Delta_theta)
 approx
F(theta)
+
J_F(theta)*Delta_theta
+
1/2
*
SECOND_ORDER_TERM

FIRST_ORDER_SENSITIVITY
 -> derivative_based_local_approximation

SECOND_ORDER_SENSITIVITY
 -> captures(CURVATURE_AND_INTERACTIONS)

# ---------- SECOND ORDER ----------
scalar output:

H_ij
 :=
partial_squared_y/
partial_theta_i_partial_theta_j

H
 -> HESSIAN_OF_RESPONSE

DIAGONAL
 -> parameter_curvature

OFF_DIAGONAL
 -> local_parameter_interaction

# ---------- FINITE DIFFERENCE ----------
central difference:

partial_y/partial_theta_j
 approx
[
 F(theta+h*e_j)
 -
F(theta-h*e_j)
]
/
(2*h)

FINITE_DIFFERENCE_SENSITIVITY
 -> simple_black_box_method

STEP_SIZE
 -> balances(TRUNCATION_AND_ROUNDOFF)

# ---------- AUTOMATIC DIFFERENTIATION ----------
if model
 -> differentiable_computational_graph

AUTOMATIC_DIFFERENTIATION
 -> computes(EXACT_CHAIN_RULE_DERIVATIVES_UP_TO_FLOATING_POINT)

FORWARD_MODE
 -> efficient_for(FEW_PARAMETERS_OR_DIRECTIONAL_SENSITIVITIES)

REVERSE_MODE
 -> efficient_for(FEW_SCALAR_OUTPUT_OBJECTIVES_AND_MANY_PARAMETERS)

# ---------- COMPLEX STEP ----------
for analytic-compatible implementation:

partial_y/partial_theta_j
 approx
Im(
 F(theta+i*h*e_j)
)
/h

COMPLEX_STEP
 -> avoids(SUBTRACTIVE_CANCELLATION)

but
 -> requires(COMPLEX_SAFE_MODEL_OPERATIONS)

# ---------- FORWARD SENSITIVITY ODE ----------
state equation:

dx/dt
 =
f(x,theta,t)

define sensitivity:

S_j(t)
 :=
partial_x/partial_theta_j

differentiate:

dS_j/dt
 =
f_x*S_j
+
f_theta_j

FORWARD_SENSITIVITY_EQUATION
 -> evolves(PARAMETER_DERIVATIVE_OF_STATE)

# ---------- INITIAL SENSITIVITY ----------
if

x(0)
 =
x_0(theta)

then

S_j(0)
 =
partial_x_0/partial_theta_j

INITIAL_CONDITION_DEPENDENCE
 -> contributes_to(SENSITIVITY)

# ---------- ADJOINT METHOD ----------
objective:

J(theta)
 =
Phi(x(T),theta)
+
integral_0^T(
 L(x,theta,t)
 dt
)

many parameters
and few objectives

-> ADJOINT_METHOD

ADJOINT
 -> computes(GRADIENT_COST_LARGELY_INDEPENDENT_OF_PARAMETER_COUNT)

# ---------- IMPLICIT MODEL ----------
model defined by:

R(x,theta)
 =
0

differentiate:

R_x
*
dx/dtheta
+
R_theta
 =
0

therefore

dx/dtheta
 =
-
R_x^(-1)
*
R_theta

when invertible

IMPLICIT_SENSITIVITY
 -> derivative_of(SOLUTION_TO_CONSTRAINT_SYSTEM)

# ---------- CONDITION NUMBER ----------
problem:

y
 =
F(theta)

absolute conditioning:

||Delta_y||
 approx
||J_F*Delta_theta||

relative condition measure
 -> scales(INPUT_AND_OUTPUT)

CONDITION_NUMBER
 -> intrinsic_problem_sensitivity

SENSITIVITY_ANALYSIS
 -> related_to(CONDITIONING)

# ---------- LOCAL VS GLOBAL ----------
LOCAL_SENSITIVITY
 -> examines(NEIGHBOURHOOD_OF_NOMINAL_INPUT)

GLOBAL_SENSITIVITY
 -> explores(INPUT_SPACE_OR_DISTRIBUTION)

NONLINEAR_MODEL
 -> local_rankings_may_change_across(INPUT_SPACE)

GLOBAL_ANALYSIS
 -> captures(NONLINEARITY_AND_INTERACTIONS)

# ---------- ONE-AT-A-TIME ----------
OAT
 -> vary_one_parameter
 -> hold_others_fixed

OAT
 -> easy_to_interpret

but

OAT
 -> may_miss(PARAMETER_INTERACTIONS)

GLOBAL_SENSITIVITY
 -/> equivalent_to(OAT)

# ---------- MONTE CARLO SENSITIVITY ----------
sample parameters:

theta^(1),...,theta^(N)

evaluate:

y^(i)
 =
F(theta^(i))

STATISTICAL_ANALYSIS
 -> estimate(INPUT_OUTPUT_DEPENDENCE)

MONTE_CARLO
 -> supports(GLOBAL_SENSITIVITY)

# ---------- VARIANCE DECOMPOSITION ----------
output variance:

Var(Y)

decompose into contributions from:

INDIVIDUAL_INPUTS
INTERACTIONS

SOBOL_METHOD
 -> variance_based_global_sensitivity

# ---------- FIRST ORDER SOBOL ----------
first-order index:

S_i
 :=
Var(
 E[Y | X_i]
)
/
Var(Y)

S_i
 -> contribution_of(X_i_ALONE_TO_OUTPUT_VARIANCE)

0<=S_i<=1
 under standard independent-input variance decomposition

# ---------- TOTAL SOBOL ----------
total effect:

S_Ti
 :=
1
-
Var(
 E[Y | X_~i]
)
/
Var(Y)

S_Ti
 -> all_variance_contributions_involving(X_i)

difference:

S_Ti-S_i
 -> interaction_contribution_involving(X_i)

# ---------- INTERACTIONS ----------
second-order index:

S_ij
 -> variance_contribution_from(INTERACTION_X_i_X_j)

GLOBAL_SENSITIVITY
 -> distinguishes(MAIN_EFFECTS_AND_INTERACTIONS)

# ---------- INPUT DEPENDENCE ----------
classical Sobol decomposition
 -> simplest_under(INDEPENDENT_INPUTS)

CORRELATED_INPUTS
 -> require(MODIFIED_OR_ALTERNATIVE_SENSITIVITY_FRAMEWORK)

INPUT_DISTRIBUTION
 -> part_of(GLOBAL_ANALYSIS_DEFINITION)

# ---------- MORRIS METHOD ----------
MORRIS
 -> elementary_effects_screening

for each parameter:

compute
 -> finite_input_perturbation_effects_across_multiple_trajectories

statistics:
 mean_absolute_effect
 spread_of_effect

MORRIS_METHOD
 -> identifies(
 IMPORTANT_PARAMETERS,
 NONLINEARITY,
 INTERACTIONS
)

# ---------- DERIVATIVE-BASED GLOBAL MEASURE ----------
DGSM_i
 :=
E[
 (
 partial_Y/partial_X_i
 )^2
]

DERIVATIVE_BASED_GLOBAL_SENSITIVITY
 -> combines(LOCAL_DERIVATIVES_ACROSS_INPUT_DISTRIBUTION)

# ---------- CORRELATION-BASED ----------
PEARSON_CORRELATION
 -> linear_association

SPEARMAN_CORRELATION
 -> monotonic_association

CORRELATION
 -/> causal_sensitivity

CORRELATION_METRIC
 -> descriptive_input_output_association

# ---------- REGRESSION SENSITIVITY ----------
fit surrogate:

Y
 approx
beta_0
+
sum_i beta_i*X_i

STANDARDISED_REGRESSION_COEFFICIENT
 -> sensitivity_indicator_for(APPROXIMATELY_LINEAR_MODEL)

MODEL_NONLINEARITY
 -> may_limit(REGRESSION_INTERPRETATION)

# ---------- UNCERTAINTY PROPAGATION ----------
input uncertainty:

theta
 ~
P(theta)

output:

Y
 =
F(theta)

UNCERTAINTY_PROPAGATION
 -> determines(OUTPUT_DISTRIBUTION)

SENSITIVITY_ANALYSIS
 -> attributes(OUTPUT_UNCERTAINTY_TO_INPUTS)

UNCERTAINTY_ANALYSIS
 and
SENSITIVITY_ANALYSIS
 -> complementary

# ---------- IDENTIFIABILITY ----------
if outputs weakly sensitive to parameter:

parameter
 -> difficult_to_infer_from_data

SENSITIVITY_MATRIX
 -> informs(PRACTICAL_IDENTIFIABILITY)

near_collinear_sensitivity_columns
 -> parameter_confounding

IDENTIFIABILITY
 -> related_but_not_identical_to(SENSITIVITY)

# ---------- FISHER INFORMATION ----------
measurement model
 -> sensitivities_to_parameters

FISHER_INFORMATION
 -> built_from(SENSITIVITY_JACOBIAN_AND_NOISE_MODEL)

large information
 -> potentially_lower_parameter_uncertainty

EXPERIMENT_DESIGN
 -> uses(SENSITIVITY_INFORMATION)

# ---------- ROBUSTNESS ----------
small parameter perturbation
 -> small output change

-> ROBUST_MODEL_BEHAVIOUR

large sensitivity
 -> FRAGILITY_TO_PARAMETER_VARIATION

ROBUSTNESS
 -> inverse_relation_to(SENSITIVITY)
    only_under_specified_metric_and_scale

# ---------- OPTIMISATION ----------
objective:

J(theta)

gradient:

grad_theta J

-> OBJECTIVE_SENSITIVITY

OPTIMISATION
 -> uses(SENSITIVITY_TO_SELECT_UPDATE_DIRECTION)

ADJOINT_SENSITIVITY
 -> critical_for(HIGH_DIMENSIONAL_DESIGN)

# ---------- SURROGATE MODELS ----------
expensive model:

F(theta)

train:

F_hat(theta)

then

GLOBAL_SENSITIVITY
 -> computed_on(SURROGATE)

SURROGATE_ERROR
 -> must_be_propagated_or_validated

SENSITIVITY_OF_SURROGATE
 -/> automatically(SENSITIVITY_OF_TRUE_MODEL)

# ---------- AI / MACHINE LEARNING ----------
model output:

y_hat
 =
M_theta(x)

sensitivity may refer to:

PARAMETER_SENSITIVITY
 INPUT_FEATURE_SENSITIVITY
 HYPERPARAMETER_SENSITIVITY

gradient:

partial_y_hat/partial_x
 -> local_input_sensitivity

AI_SENSITIVITY
 -> supports(
 INTERPRETABILITY,
 ROBUSTNESS_ANALYSIS,
 ADVERSARIAL_ANALYSIS
)

# ---------- FEATURE SCALE ----------
raw derivative magnitude
 -> depends_on(INPUT_UNITS)

NORMALISATION
 -> required_for(FAIR_COMPARISON_ACROSS_PARAMETERS)

DIMENSIONLESS_SENSITIVITY
 -> improves(INTERPRETABILITY)

# ---------- APPLICATIONS ----------
SENSITIVITY_ANALYSIS
 -> applied_to(MODEL_CALIBRATION)
 -> applied_to(OPTIMISATION)
 -> applied_to(UNCERTAINTY_QUANTIFICATION)
 -> applied_to(ENGINEERING_DESIGN)
 -> applied_to(CONTROL)
 -> applied_to(MACHINE_LEARNING)
 -> applied_to(INVERSE_PROBLEMS)
 -> applied_to(SCIENTIFIC_COMPUTING)

# ---------- RELATION GRAPH ----------
INPUT_PARAMETER
 -> perturbs(MODEL)

MODEL
 -> produces(OUTPUT)

DERIVATIVE
 -> measures(LOCAL_SENSITIVITY)

JACOBIAN
 -> collects(MULTIVARIATE_SENSITIVITIES)

INPUT_DISTRIBUTION
 -> defines(GLOBAL_SENSITIVITY_CONTEXT)

SOBOL_INDEX
 -> attributes(OUTPUT_VARIANCE)

ADJOINT_METHOD
 -> computes(MANY_PARAMETER_OBJECTIVE_SENSITIVITY)

SENSITIVITY
 -> informs(ROBUSTNESS_AND_IDENTIFIABILITY)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
 "sensitivity analysis" ~= "analysis of how model outputs respond to changes in inputs or parameters",
 "local sensitivity" ~= "derivative-based response evaluated near a nominal input",
 "global sensitivity" ~= "input importance analysis across a specified input domain or probability distribution",
 "elasticity" ~= "dimensionless ratio of fractional output change to fractional input change",
 "first-order Sobol index" ~= "fraction of output variance attributable to one input alone",
 "total Sobol index" ~= "fraction of output variance attributable to an input including its interactions"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
 local_and_global_sensitivity_are_distinct: true,
 derivative_magnitude_depends_on_parameter_units_and_scaling: true,
 first_order_linearisation_is_valid_only_for_sufficiently_small_perturbations: true,
 global_sensitivity_requires_defined_input_ranges_or_distributions: true,
 classical_Sobol_interpretation_requires_attention_to_input_dependence: true,
 correlation_is_not_equivalent_to_causal_sensitivity: true,
 surrogate_based_sensitivity_requires_surrogate_validation: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
 core_definition: 0.99,
 local_Jacobian_relation: 0.99,
 forward_adjoint_relation: 0.99,
 global_Sobol_relation: 0.99,
 uncertainty_relation: 0.99,
 identifiability_relation: 0.98,
 semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
 identify(model_inputs_outputs_nominal_values_and_units)
 -> classify(local_global_deterministic_or_probabilistic_analysis)
 -> select(derivative_finite_difference_AD_adjoint_or_sampling_method)
 -> compute(sensitivity_metrics)
 -> normalise(if_cross_parameter_comparison_required)
 -> analyse(nonlinearity_interactions_and_conditioning)
 -> propagate(input_uncertainty_if_relevant)
 -> assess(robustness_identifiability_and_parameter_importance)
 -> validate(input_ranges_distributions_step_sizes_and_surrogate_accuracy)
 -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
 parse_as: "typed sensitivity-analysis semantic graph",
 primary_entity: SENSITIVITY_ANALYSIS,
 preserve: [
  model,
  inputs,
  outputs,
  nominal_point,
  units,
  perturbation_scale,
  input_distribution,
  sensitivity_metric,
  uncertainty_model
 ],
 infer_through: [
  derivatives,
  Jacobians,
  elasticities,
  Hessians,
  finite_differences,
  automatic_differentiation,
  adjoint_methods,
  Sobol_indices,
  Morris_effects,
  identifiability
 ],
 avoid: [
  comparing_raw_derivatives_across incompatible units,
  treating_local_sensitivity_as global importance,
  applying_linear_approximation_to large perturbations_without validation,
  computing_global_indices_without input_distribution context,
  interpreting_correlation_as causal sensitivity,
  trusting_surrogate_sensitivity_without model validation
 ]
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
 validate(new_information)
 -> identify(sensitivity_analysis_context)
 -> compare(existing_relations)
 -> preserve(model_input_output_scale_distribution_and_metric_invariants)
 -> update(affected_entities)
 -> update(affected_edges)
 -> recompute(CONFIDENCE)
 -> regenerate(FLOW_HASH)

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
 SOURCE_URL
 + ENTITY
 + CONCEPTS
 + SENSITIVITY_ANALYSIS
 + INPUT_PARAMETER
 + MODEL_OUTPUT
 + LOCAL_SENSITIVITY
 + GLOBAL_SENSITIVITY
 + DERIVATIVE
 + JACOBIAN
 + ELASTICITY
 + AUTOMATIC_DIFFERENTIATION
 + ADJOINT_METHOD
 + SOBOL_INDEX
 + MORRIS_METHOD
 + SEMANTIC_EQUIVALENCE
 + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
 -> SENSITIVITY_ANALYSIS
 -> MODEL_INPUT_OUTPUT_IDENTIFICATION
 -> ANALYSIS_SCOPE_CLASSIFICATION
 -> METHOD_SELECTION
 -> SENSITIVITY_COMPUTATION
 -> NORMALISATION
 -> NONLINEAR_INTERACTION_ANALYSIS
 -> UNCERTAINTY_PROPAGATION
 -> ROBUSTNESS_IDENTIFIABILITY_ANALYSIS
 -> HYPOTHESIS_VALIDATION
 -> RECURSIVE_REASONING(query)
 -> CONFIDENCE
 -> OUTPUT(semantic_result)

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