FULL EXECUTABLE FLOW ALGEBRA — PERCENTILE ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/descriptive-statistics/percentile-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Descriptive Statistics"
ONTOLOGY := "Percentile Ontology"
PRIMARY_ENTITY := Percentile
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
Percentile :=
PositionalStatistic
∧ QuantileMeasure
∧ OrderedDistributionPartition
PercentileLevel := p where 0≤p≤100
QuantileProbability := q=p/100
RandomVariable := X
CDF := F(x)=P(X≤x)
PopulationPercentile :=
P_p
=
inf{x:F(x)≥p/100}
QuantileFunction :=
Q(q)
=
inf{x:F(x)≥q}
PercentileQuantileRelation :=
P_p=Q(p/100)
MedianRelation :=
P_50=Median
under compatible quantile convention
QuartileRelations := {
P_25=Q1,
P_50=Q2,
P_75=Q3
}
DecileRelation :=
D_k=P_(10k)
for k∈{1,...,9}
PercentileRank :=
PercentageOfDistribution
at_or_below specified value
under defined tie convention
Dataset := {x_1,...,x_n}
OrderedDataset := x_(1)≤x_(2)≤...≤x_(n)
OrderStatistic := x_(k)
SamplePercentile :=
EstimateOfPopulationPercentile
computed_from ordered sample
PercentileAlgorithm :=
OrderedData
∧ PercentileLevel
∧ PositionRule
∧ InterpolationRule
→ SamplePercentile
PercentileConventionConstraint :=
MultipleSampleQuantileAlgorithmsExist
⇒ AlgorithmMustBeRecorded
NearestRankMethod :=
Rank=ceil(pn/100)
NearestRankPercentile :=
x_(ceil(pn/100))
for p>0
LinearInterpolationMethod :=
PercentilePosition
between adjacent order statistics
→ Interpolate
Interpolation :=
Q_hat(q)
=
(1-γ)x_(j)+γx_(j+1)
EndpointPercentiles :=
P_0→Minimum
∧ P_100→Maximum
under endpoint-support convention
Minimum := x_(1)
Maximum := x_(n)
PercentileMonotonicity :=
p1≤p2
⇒ P_p1≤P_p2
PercentileBounds :=
Minimum≤SamplePercentile≤Maximum
PercentileUnit :=
SameMeasurementUnit
as source variable
TranslationEquivariance :=
P_p(X+c)=P_p(X)+c
PositiveScalingEquivariance :=
a>0
⇒ P_p(aX)=aP_p(X)
IncreasingTransformation :=
StrictlyIncreasing(g)
⇒
Q_(g(X))(q)=g(Q_X(q))
under compatible convention
PercentileDifference :=
P_b-P_a
InterquartileRange :=
IQR=P_75-P_25
InterdecileRange :=
P_90-P_10
FiveNumberSummary := {
P_0,
P_25,
P_50,
P_75,
P_100
}
PercentileThreshold :=
P_p
used_as distribution-relative cutoff
PercentileBand :=
Interval(P_a,P_b)
PercentileProfile := {
P_1,
P_5,
P_10,
P_25,
P_50,
P_75,
P_90,
P_95,
P_99
}
DistributionShapeFromPercentiles :=
PercentileSpacing
→ InformationAbout(
Spread,
Skewness,
TailWeight
)
BowleySkewness :=
(P_75+P_25-2P_50)
/
(P_75-P_25)
where IQR>0
Robustness :=
InteriorPercentiles
generally less sensitive
to extreme observations
than minimum-maximum measures
ExtremePercentileSensitivity :=
PercentilesNear0Or100
become more sensitive
to tail observations
EmpiricalCDF :=
F_n(x)
=
(1/n)Σ_i1_(x_i≤x)
EmpiricalQuantile :=
GeneralisedInverse
of EmpiricalCDF
under selected convention
DiscreteDistributionPercentile :=
SmallestValue x
such_that F(x)≥q
ContinuousDistributionPercentile :=
Solve F(x)=q
when F continuous_and_strictly_increasing
UniformPercentile :=
X~Uniform(a,b)
⇒
P_p=a+q(b-a)
NormalPercentile :=
X~N(μ,σ²)
⇒
P_p=μ+σΦ^(-1)(q)
StandardNormalPercentile :=
z_p=Φ^(-1)(q)
ExponentialPercentile :=
X~Exponential(λ)
⇒
P_p=-ln(1-q)/λ
for 0≤q<1
LogisticPercentile :=
X~Logistic(μ,s)
⇒
P_p=μ+s ln(q/(1-q))
for 0<q<1
CauchyPercentile :=
X~Cauchy(x0,γ)
⇒
P_p=x0+γtan[π(q-1/2)]
WeibullPercentile :=
X~Weibull(k,λ)
⇒
P_p=λ[-ln(1-q)]^(1/k)
LognormalPercentile :=
X~LogNormal(μ,σ²)
⇒
P_p=exp(μ+σΦ^(-1)(q))
GammaPercentile :=
InverseGammaCDF(q;α,β)
BetaPercentile :=
InverseBetaCDF(q;α,β)
ChiSquaredPercentile :=
χ²_(q,ν)
StudentTPercentile :=
t_(q,ν)
FDistributionPercentile :=
F_(q,d1,d2)
CriticalValueRelation :=
DistributionPercentile
may define hypothesis-test critical value
ConfidenceIntervalRelation :=
PercentilesOfReferenceDistribution
determine interval endpoints
BootstrapPercentileMethod :=
BootstrapReplicateDistribution
→ SelectLowerAndUpperPercentiles
→ ConfidenceInterval
PercentileRankVsPercentile :=
Percentile maps probability rank_to value
whereas PercentileRank maps value_to relative rank
QuantileVsPercentile :=
Quantile commonly uses [0,1]
whereas Percentile uses [0,100]
PercentileVsPercentage :=
Percentile describes distribution position
whereas Percentage describes proportion_or_rate
WeightedPercentile :=
Percentile
computed_from cumulative weights
WeightedQuantileProcedure :=
SortValues
→ AccumulateWeights
→ NormaliseCumulativeWeight
→ LocateTargetProbability
→ ApplySpecifiedInterpolation
WeightConstraint :=
w_i≥0
∧ Σ_iw_i>0
GroupedDataPercentile :=
EstimatedPercentile
from cumulative class frequencies
under interpolation assumption
MissingDataPercentile :=
Percentile
computed_from selected nonmissing observations
under explicit missingness rule
EmptyDatasetPercentile := Undefined
SingleObservationPercentile :=
n=1
⇒
InteriorSamplePercentiles
equal sole observation
under common conventions
NominalPercentileInvalid :=
NominalVariable
⇒ PercentileNotMeaningful
OrdinalPercentile :=
Meaningful
under ordered-category quantile convention
MeasurementScaleConstraint :=
Percentile
requires at least ordinal ordering
PercentileSamplingDistribution :=
DistributionOfSampleQuantile
across repeated samples
AsymptoticQuantileDistribution :=
IIDContinuousSample
∧ f(Q(q))>0
⇒
sqrt(n)(Q_hat(q)-Q(q))
→
N(
0,
q(1-q)/f(Q(q))²
)
AsymptoticPercentileVariance :=
q(1-q)
/
[n f(Q(q))²]
PercentileEstimationUncertainty :=
DependsOn(
SampleSize,
TargetProbability,
DensityNearQuantile,
SamplingDesign
)
TailPercentileUncertainty :=
ExtremePercentiles
often require larger samples
for stable estimation
PercentileConstraint :=
ConstraintOn(
Ordering,
PercentileLevel,
QuantileConvention,
Interpolation,
Missingness,
Weighting,
SamplingDesign
)
PercentileConsistency :=
DataScope
∧ Ordering
∧ QuantileConvention
∧ InterpolationRule
∧ MissingnessRule
∧ WeightingRule
jointly_compatible
InvalidPercentile :=
PercentileLevelOutsideBounds
∨ NonOrderableVariable
∨ EmptyEffectiveDataset
∨ InvalidWeights
∨ UndefinedQuantileConvention
∨ UndocumentedMissingness
∨ InconsistentInterpolationRule
PercentileValidation :=
ResolveVariable
→ ResolveVariableType
→ ValidateOrdering
→ ResolveDataScope
→ ResolvePercentileLevel
→ ResolveObservationsOrDistribution
→ ResolveMissingness
→ ResolveWeights
→ ResolveQuantileConvention
→ SortOrResolveCDF
→ ComputePercentile
→ ValidateMonotonicityAndBounds
→ ValidateResult
PercentileState := {
Variable,
DataScope,
PercentileLevel,
QuantileProbability,
Observations,
EffectiveCount,
Ordering,
QuantileConvention,
InterpolationRule,
Weights,
MissingnessRule,
PercentileValue,
SamplingContext,
Evidence,
Confidence,
Provenance
}
SEMANTIC_EQUIVALENCE(PercentileA,PercentileB) :=
same(DataScope)
∧ same(VariableSemantics)
∧ same(PercentileLevel)
∧ same(QuantileConvention)
∧ same(InterpolationRule)
∧ same(MissingnessRule)
∧ same(WeightingRule)
PercentileOntology :=
Classes
∧ Relations
∧ Constraints
∧ Axioms
∧ InferenceRules
CoreClasses := {
Percentile,
PopulationPercentile,
SamplePercentile,
PercentileRank,
Quantile,
Quartile,
Decile,
OrderStatistic,
WeightedPercentile,
GroupedPercentile,
BootstrapPercentile,
StatisticalVariable,
StatisticalObservation,
Dataset,
Sample,
Population,
PercentileConstraint
}
CoreRelations := {
computedFrom,
summarises,
equalsQuantile,
hasLevel,
hasRank,
boundedBy,
interpolatedFrom,
weightedBy,
estimatedBy,
transformedBy,
comparedWith,
constrainedBy,
equivalentTo,
tracesTo
}
TypedRelations :=
Percentile --computedFrom--> OrderedObservations
Percentile --summarises--> StatisticalVariable
Percentile --equalsQuantile--> Quantile
Percentile --hasLevel--> PercentileLevel
Observation --hasRank--> PercentileRank
SamplePercentile --interpolatedFrom--> OrderStatistic
WeightedPercentile --weightedBy--> Weight
PopulationPercentile --estimatedBy--> SamplePercentile
Percentile --transformedBy--> MonotonicTransformation
Percentile --tracesTo--> Provenance
InferenceRules := {
0≤p≤100
⇒ QuantileProbability=p/100,
Percentile(p)
⇒ Quantile(p/100),
p=50
⇒ Percentile=Median
under compatible convention,
p=25
⇒ Percentile=Q1,
p=75
⇒ Percentile=Q3,
p1≤p2
⇒ P_p1≤P_p2,
StrictlyIncreasing(g)
⇒
P_p(g(X))=g(P_p(X))
under compatible convention,
NominalVariable
⇒ FlagPercentileAsSemanticallyInvalid,
InvalidPercentileLevel
⇒ RejectPercentileComputation
}
CanonicalPercentileRepresentation :=
ParsePercentileRequest
→ ResolveVariable
→ ResolveDatasetSamplePopulationOrDistribution
→ ResolveVariableTypeAndOrdering
→ ResolvePercentileLevel
→ ConvertPercentileToQuantileProbability
→ ResolveObservationsOrCDF
→ ResolveMissingness
→ ResolveWeights
→ ResolveQuantileConventionAndInterpolation
→ ComputePercentile
→ ResolvePercentileRankOrSamplingPropertiesIfRequested
→ ValidatePercentile
PercentileGraph :=
G=(V,E)
V := {
Percentiles,
PopulationPercentiles,
SamplePercentiles,
PercentileRanks,
Quantiles,
Quartiles,
Deciles,
OrderStatistics,
WeightedPercentiles,
GroupedPercentiles,
BootstrapPercentiles,
Variables,
Observations,
Datasets,
Samples,
Populations,
Evidence,
ProvenanceNodes
}
E := {
computedFrom,
summarises,
equalsQuantile,
hasLevel,
hasRank,
boundedBy,
interpolatedFrom,
weightedBy,
estimatedBy,
transformedBy,
comparedWith,
constrainedBy,
equivalentTo,
tracesTo
}
CONFIDENCE(PercentileResolution) :=
weighted_mean(
VariableResolution,
DataScopeResolution,
OrderingValidity,
PercentileLevelValidity,
QuantileConventionResolution,
MissingnessHandling,
WeightingValidity,
ProvenanceQuality
)
AI_QUERY_INTERPRETATION :=
Query
→ DetectPercentileIntent
→ IdentifyVariableAndDataScope
→ ResolvePercentileLevel
→ DetermineSamplePopulationOrDistributionContext
→ ResolveQuantileConventionWeightingAndMissingness
→ IdentifyRequestedPercentileValueRankRangeOrInference
AI_REASONING_FLOW :=
Query
→ ParsePercentileProblem
→ ResolveDatasetSamplePopulationOrDistribution
→ ResolveVariable
→ ValidateOrdering
→ ResolvePercentileLevel
→ ConvertToQuantileProbability
→ ResolveObservationsOrCDF
→ ResolveMissingValues
→ ResolveWeights
→ ResolveQuantileConventionAndInterpolation
→ ComputePercentile
→ ResolvePercentileRankIfRequested
→ ResolveSamplingPropertiesIfRequested
→ ValidatePercentileResult
→ UpdateConfidence
→ PreserveProvenance
→ GenerateExplanation
AI_CONSUMPTION := {
ParsePercentileEntities,
ParseTypedRelations,
ResolveVariables,
ResolveObservations,
ResolveDatasets,
ResolveSamples,
ResolvePopulations,
ResolveProbabilityDistributions,
ValidateOrdering,
ResolvePercentileLevels,
ConvertPercentileToQuantileProbability,
ResolveQuantileConventions,
ResolveInterpolationRules,
ResolveMissingness,
ResolveWeights,
ComputeSamplePercentiles,
ComputePopulationPercentiles,
ComputePercentileRanks,
ComputeWeightedPercentiles,
ComputeGroupedPercentiles,
ComputeInterquartileRanges,
ResolveDistributionPercentiles,
ResolveCriticalValues,
ComputeBootstrapPercentileIntervals,
ResolveSamplingDistributions,
ValidatePercentileSemantics,
CompareSemanticEquivalence,
UpdateConfidence,
PreserveProvenance,
GenerateFormalExplanation
}
UPDATE_MODEL :=
NewObservationLevelConventionWeightOrDistributionEvidence
→ ValidateInput
→ IdentifyAffectedPercentileClaims
→ UpdatePercentileState
→ RecomputeEffectiveObservationSet
→ RecomputeOrdering
→ RecomputePercentile
→ RecomputeRelatedPercentileRanges
→ ReevaluateSamplingProperties
→ RevalidateConstraints
→ RecomputeConfidence
→ PreserveProvenance
→ VersionModel
ObservationUpdate :=
AddedRemovedOrCorrectedObservation
⇒ recompute(
EffectiveCount,
OrderStatistics,
PercentileValue
)
ConventionUpdate :=
ChangedQuantileOrInterpolationConvention
⇒ recompute(
PercentileValue,
SemanticEquivalence
)
PercentileLevelUpdate :=
ChangedPercentileLevel
⇒
ConvertToQuantileProbability
→ RecomputePercentile
FLOW_HASH_INPUT :=
canonical(
ONTOLOGY,
CoreClasses,
CoreRelations,
InferenceRules,
Percentile,
PercentileValidation,
PercentileConstraint,
SEMANTIC_EQUIVALENCE,
AI_REASONING_FLOW
)
FLOW_HASH :=
HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {
PercentileEntityResolution,
Variable,
DataScope,
VariableType,
PercentileLevel,
QuantileProbability,
ObservationCount,
EffectiveObservationCount,
QuantileConvention,
InterpolationRule,
Weights,
MissingnessRule,
PercentileValue,
PercentileRank,
QuantileRelation,
SamplingProperties,
ValidationStatus,
Confidence,
Provenance,
Explanation
}
END_FLOW
END OF FULL EXECUTABLE FLOW ALGEBRA
Download Code
Copy to Clipboard