FULL EXECUTABLE FLOW ALGEBRA — MODE ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/descriptive-statistics/mode-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Descriptive Statistics"
ONTOLOGY := "Mode Ontology"
PRIMARY_ENTITY := Mode
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
Mode :=
MeasureOfCentralTendency
∧ FrequencyBasedStatistic
∧ MostFrequentValueOrCategory
Dataset :=
{x_1,x_2,...,x_n}
SampleSize :=
n
FrequencyFunction :=
f(v)
=
Count(x_i=v)
MaximumFrequency :=
f_max
=
max_v f(v)
ModeSet :=
{
v:
f(v)=f_max
}
SampleMode :=
ModeSet
computed_from
observed sample
UniqueMode :=
|ModeSet|=1
UnimodalDataset :=
UniqueMode
BimodalDataset :=
|ModeSet|=2
∧ modes share maximum frequency
MultimodalDataset :=
|ModeSet|>1
NoUniqueMode :=
MultipleValues
share maximum frequency
NoRepeatedValueCase :=
AllValuesUnique
⇒
EveryObservedValueHasFrequency1
∧ ModeConventionMustBeSpecified
CategoricalMode :=
MostFrequentCategory
NominalMode :=
ValidMeasureOfCentre
for nominal data
OrdinalMode :=
MostFrequentOrderedCategory
QuantitativeMode :=
MostFrequentNumericValue
for discrete_or_repeated values
DiscreteMode :=
Value
maximising probability mass
or empirical frequency
PopulationModeDiscrete :=
argmax_x
P(X=x)
ContinuousMode :=
Value
maximising probability density
PopulationModeContinuous :=
argmax_x
f_X(x)
ModeSetContinuous :=
{
x:
f_X(x)
=
sup_y f_X(y)
}
GlobalMode :=
Point
attaining global maximum
of density_or_mass
LocalMode :=
Point
attaining local maximum
of density_or_mass
DensityMode :=
Mode
defined_by
probability density maximum
EmpiricalMode :=
Mode
defined_by
observed frequencies
HistogramMode :=
ModalClassOrBin
with highest frequency_or_density
ModalClass :=
ClassInterval
with greatest frequency
GroupedDataMode :=
EstimatedMode
from modal class
under interpolation convention
GroupedModeApproximation :=
L
+
[
(f1-f0)
/
(
2f1-f0-f2
)
]h
where:
L := LowerBoundaryOfModalClass
f1 := FrequencyOfModalClass
f0 := FrequencyOfPreviousClass
f2 := FrequencyOfNextClass
h := ClassWidth
FrequencyTable :=
ValueOrCategory
→ Frequency
ModeFromFrequencyTable :=
SelectKeys
with MaximumFrequency
RelativeFrequency :=
rf(v)
=
f(v)/n
RelativeFrequencyMode :=
argmax_v rf(v)
FrequencyAndRelativeFrequencyEquivalence :=
argmax_v f(v)
=
argmax_v rf(v)
for fixed n>0
WeightedMode :=
ValueOrCategory
maximising
total assigned weight
WeightedFrequency :=
wf(v)
=
Σ_{i:x_i=v}w_i
WeightedModeSet :=
{
v:
wf(v)
=
max_u wf(u)
}
WeightConstraint :=
w_i≥0
under ordinary frequency-weight interpretation
ModeInvarianceUnderRelabelling :=
OneToOneCategoryRelabelling
preserves modal identity
under semantic mapping
ModeUnderMonotonicTransformation :=
EmpiricalDiscreteMode
preserved_by
one-to-one transformation
of observed values
with transformed modal value
ContinuousTransformationCaution :=
DensityMode
is not generally invariant
under nonlinear transformations
because Jacobian changes density
ModeUnit :=
SameUnitOrCategorySemantics
as source variable
MeanMedianMode :=
DistinctMeasures
of central tendency
SymmetricUnimodalDistribution :=
Often
Mean=Median=Mode
when mean exists
and distribution has suitable symmetry
NormalDistributionMode :=
X~N(μ,σ²)
⇒
Mode(X)=μ
LogisticDistributionMode :=
X~Logistic(μ,s)
⇒
Mode(X)=μ
CauchyDistributionMode :=
X~Cauchy(x0,γ)
⇒
Mode(X)=x0
ExponentialDistributionMode :=
X~Exponential(λ)
⇒
Mode(X)=0
under support convention
WeibullDistributionMode :=
X~Weibull(k,λ)
∧ k>1
⇒
Mode(X)
=
λ[
(k-1)/k
]^(1/k)
WeibullBoundaryMode :=
k≤1
⇒
ModeAtZero
under standard convention
GammaDistributionMode :=
X~Gamma(α,β)
∧ α≥1
⇒
Mode(X)
=
(α-1)/β
under shape-rate parameterisation
BetaDistributionMode :=
X~Beta(α,β)
∧ α>1
∧ β>1
⇒
Mode(X)
=
(α-1)/(α+β-2)
BinomialDistributionMode :=
X~Binomial(n,p)
⇒
Mode
determined_by
floor((n+1)p)
with two adjacent modes
when (n+1)p integer
under standard convention
PoissonDistributionMode :=
X~Poisson(λ)
⇒
Mode=floor(λ)
when λ noninteger
PoissonIntegerRateModes :=
λ positive integer
⇒
Modes={λ-1,λ}
UniformDiscreteMode :=
AllValuesEqualProbability
⇒
EverySupportValue
is a mode
ContinuousUniformMode :=
ConstantDensity
⇒
EveryPointInSupport
maximises density
ModeExistence :=
Distribution
may have
zero,
one,
or multiple modes
depending definition_and_structure
ModeUniqueness :=
Mode
not necessarily unique
ModeRobustness :=
EmpiricalMode
can be resistant
to extreme numeric magnitude
but sensitive
to frequency perturbations
OutlierMagnitudeRelation :=
ExtremeNumericValue
occurring rarely
generally does_not alter
empirical mode
FrequencyPerturbation :=
SmallCountChanges
may alter
mode when top frequencies are close
ModeForNominalData :=
Mode
is central-tendency statistic
directly meaningful
without numeric ordering
ModeForOrdinalData :=
Mode
identifies most common category
independent_of category spacing
ModeForContinuousRawData :=
ExactValueMode
may be unstable_or_uninformative
when repeated exact values are rare
ContinuousEmpiricalModeEstimation :=
Histogram
∨ KernelDensityEstimate
∨ ParametricDensityModel
KernelDensityEstimate :=
f_hat_h(x)
=
(1/(nh))
Σ_i
K(
(x-x_i)/h
)
KDEMode :=
argmax_x
f_hat_h(x)
BandwidthEffect :=
KDEBandwidth
affects
number_and_location
of estimated modes
HistogramBinEffect :=
BinWidthAndOrigin
affect
modal class
ModeEstimationConstraint :=
ContinuousModeEstimate
must record
smoothing_or_binning method
Multimodality :=
MultipleModes
may indicate
heterogeneous populations,
mixtures,
or complex generating structure
MixtureDistribution :=
f(x)
=
Σ_jπ_jf_j(x)
MixtureModes :=
NeedNotEqual
component means_or_modes
exactly
ModeClusteringRelation :=
DensityModes
can define
high-density cluster centres
under mode-based clustering methods
ModeAsMAPRelation :=
PosteriorMode
=
MaximumAPosterioriEstimate
MAPEstimate :=
argmax_θ
p(θ|Data)
LikelihoodMode :=
ParameterValue
maximising likelihood
=
MaximumLikelihoodEstimate
when likelihood treated_as function of parameter
ModeVsMLE :=
DistributionMode
describes most probable_or_dense value
whereas
MLE
maximises likelihood over parameter
ConditionalMode :=
argmax_y
P(Y=y|X=x)
for discrete conditional distribution
ConditionalDensityMode :=
argmax_y
f(y|x)
for continuous conditional density
PredictionByMode :=
Classification
often selects
most probable class
BayesClassifier :=
Predict
argmax_c
P(C=c|X=x)
under zero-one loss
ModeLossRelation :=
PosteriorModeDecision
associated_with
zero-one type decision structure
in discrete settings
MissingDataMode :=
Mode
computed_from
selected nonmissing observations
under explicit missingness rule
ModeImputation :=
MissingCategoricalValues
replaced_with
observed mode
ModeImputationRisk :=
Can distort
frequency distribution
and underestimate uncertainty
ModeConstraint :=
ConstraintOn(
VariableType,
FrequencyDefinition,
Weighting,
BinningOrSmoothing,
Missingness,
TieConvention
)
ModeConsistency :=
Values
∧ FrequencyRule
∧ WeightingRule
∧ TieRule
∧ MissingnessRule
jointly_compatible
InvalidMode :=
EmptyEffectiveDataset
∨ InvalidWeights
∨ UndefinedFrequencyRule
∨ HiddenTieHandling
∨ UndocumentedBinningOrSmoothing
∨ MissingCodesTreatedAsCategoriesWithoutIntent
ModeValidation :=
ResolveVariable
→ ResolveVariableType
→ ResolveObservations
→ ResolveMissingness
→ ResolveWeights
→ DetermineDiscreteCategoricalOrContinuousMode
→ ConstructFrequencyOrDensityRepresentation
→ FindMaximumFrequencyOrDensity
→ ResolveTies
→ ValidateMode
ModeState := {
Variable,
VariableType,
Observations,
EffectiveCount,
FrequencyRepresentation,
WeightingRule,
MissingnessRule,
TieConvention,
ModeSet,
Modality,
Evidence,
Confidence,
Provenance
}
SEMANTIC_EQUIVALENCE(ModeA,ModeB) :=
same(DataScope)
∧ same(VariableSemantics)
∧ same(FrequencyOrDensityDefinition)
∧ same(WeightingRule)
∧ same(TieConvention)
∧ same(MissingnessRule)
ModeOntology :=
Classes
∧ Relations
∧ Constraints
∧ Axioms
∧ InferenceRules
CoreClasses := {
Mode,
SampleMode,
PopulationMode,
EmpiricalMode,
DensityMode,
WeightedMode,
ModalClass,
LocalMode,
GlobalMode,
UnimodalDistribution,
BimodalDistribution,
MultimodalDistribution,
FrequencyDistribution,
KernelDensityEstimate,
StatisticalVariable,
StatisticalObservation,
ModeConstraint
}
CoreRelations := {
computedFrom,
summarises,
maximises,
hasFrequency,
hasDensity,
hasWeight,
hasModality,
belongsTo,
estimatedBy,
conditionedOn,
constrainedBy,
equivalentTo,
tracesTo
}
TypedRelations :=
Mode --computedFrom--> Observations
Mode --summarises--> StatisticalVariable
EmpiricalMode --maximises--> Frequency
DensityMode --maximises--> ProbabilityDensity
FrequencyDistribution --hasFrequency--> Frequency
WeightedMode --hasWeight--> Weight
Distribution --hasModality--> Modality
ModalClass --belongsTo--> GroupedDistribution
ContinuousMode --estimatedBy--> KernelDensityEstimate
ConditionalMode --conditionedOn--> VariableOrInformation
Mode --tracesTo--> Provenance
InferenceRules := {
Frequency(v)
∧ f(v)=MaximumFrequency
⇒
v∈ModeSet,
|ModeSet|=1
⇒
Unimodal,
|ModeSet|=2
⇒
Bimodal,
|ModeSet|>2
⇒
Multimodal,
NominalVariable
⇒
ModeEligible,
RelativeFrequency(v)=Frequency(v)/n
∧ n>0
⇒
argmax(RelativeFrequency)
=
argmax(Frequency),
ContinuousDistribution
⇒
ModeDefinedByDensityMaximum
when maximum exists,
MultipleMaximumValues
⇒
PreserveAllModes
unless tie convention explicitly selects otherwise
}
CanonicalModeRepresentation :=
ParseModeRequest
→ ResolveVariable
→ ResolveDataScope
→ ResolveVariableType
→ ResolveObservations
→ ResolveMissingness
→ ResolveWeights
→ ResolveFrequencyOrDensityDefinition
→ ComputeFrequencyOrDensityRepresentation
→ IdentifyMaximum
→ ResolveModeSetAndModality
→ ValidateMode
ModeGraph :=
G=(V,E)
V := {
Modes,
SampleModes,
PopulationModes,
EmpiricalModes,
DensityModes,
WeightedModes,
ModalClasses,
LocalModes,
GlobalModes,
Variables,
Observations,
Frequencies,
DensityFunctions,
KernelDensityEstimates,
ModalityNodes,
Evidence,
ProvenanceNodes
}
E := {
computedFrom,
summarises,
maximises,
hasFrequency,
hasDensity,
hasWeight,
hasModality,
belongsTo,
estimatedBy,
conditionedOn,
constrainedBy,
equivalentTo,
tracesTo
}
CONFIDENCE(ModeResolution) :=
weighted_mean(
VariableResolution,
DataScopeResolution,
VariableTypeResolution,
FrequencyOrDensityResolution,
WeightingValidity,
TieResolution,
MissingnessHandling,
ProvenanceQuality
)
AI_QUERY_INTERPRETATION :=
Query
→ DetectModeIntent
→ IdentifyVariableAndDataScope
→ DetermineCategoricalDiscreteOrContinuousContext
→ ResolveFrequencyWeightingOrDensityMethod
→ IdentifyRequestedModeSetModalityOrComparison
AI_REASONING_FLOW :=
Query
→ ParseModeProblem
→ ResolveDatasetSamplePopulationOrDistribution
→ ResolveVariable
→ ResolveVariableType
→ ResolveObservationsOrProbabilityModel
→ ResolveMissingness
→ ResolveWeights
→ BuildFrequencyDistributionOrDensity
→ IdentifyMaximumFrequencyOrDensity
→ ResolveTies
→ DetermineUnimodalBimodalOrMultimodalStructure
→ ValidateModeResult
→ UpdateConfidence
→ PreserveProvenance
→ GenerateExplanation
AI_CONSUMPTION := {
ParseModeEntities,
ParseTypedRelations,
ResolveVariables,
ResolveObservations,
ResolveDatasets,
ResolveSamples,
ResolvePopulations,
ResolveProbabilityDistributions,
ComputeFrequencies,
ComputeRelativeFrequencies,
ComputeWeightedFrequencies,
ResolveModalClasses,
EvaluateProbabilityMassFunctions,
EvaluateProbabilityDensities,
EstimateKernelDensities,
ResolveLocalModes,
ResolveGlobalModes,
DetectMultimodality,
ResolveConditionalModes,
ValidateModeSemantics,
CompareSemanticEquivalence,
UpdateConfidence,
PreserveProvenance,
GenerateFormalExplanation
}
UPDATE_MODEL :=
NewObservationWeightDensityMethodOrTieConvention
→ ValidateInput
→ IdentifyAffectedModeClaims
→ UpdateModeState
→ RecomputeFrequencyOrDensityRepresentation
→ RecomputeMaximum
→ RecomputeModeSet
→ RecomputeModality
→ RevalidateConstraints
→ RecomputeConfidence
→ PreserveProvenance
→ VersionModel
ObservationUpdate :=
AddedRemovedOrCorrectedObservation
⇒ recompute(
Frequencies,
ModeSet,
Modality
)
WeightUpdate :=
ChangedWeight
⇒ recompute(
WeightedFrequencies,
WeightedModeSet
)
DensityMethodUpdate :=
ChangedBinningBandwidthOrKernel
⇒ recompute(
DensityEstimate,
LocalModes,
GlobalModes
)
FLOW_HASH_INPUT :=
canonical(
ONTOLOGY,
CoreClasses,
CoreRelations,
InferenceRules,
Mode,
ModeValidation,
ModeConstraint,
SEMANTIC_EQUIVALENCE,
AI_REASONING_FLOW
)
FLOW_HASH :=
HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {
ModeEntityResolution,
Variable,
DataScope,
VariableType,
ObservationCount,
EffectiveObservationCount,
FrequencyOrDensityRepresentation,
WeightingRule,
MissingnessRule,
TieConvention,
ModeSet,
Modality,
ModalClass,
DensityModeEstimate,
ValidationStatus,
Confidence,
Provenance,
Explanation
}
END_FLOW
END OF FULL EXECUTABLE FLOW ALGEBRA
Download Code
Copy to Clipboard