FULL EXECUTABLE FLOW ALGEBRA — BETA DISTRIBUTION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-distributions/beta-distribution-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Probability Distributions"
ONTOLOGY := "Beta Distribution Ontology"
PRIMARY_ENTITY := BetaDistribution
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
BetaDistribution :=
ContinuousProbabilityDistribution
∧ BoundedSupport
∧ TwoPositiveShapeParameters
∧ FlexibleProbabilityShape
∧ ConjugatePriorForBernoulliBinomialModels
ProbabilitySpace := (Ω,F,P)
BetaRandomVariable :=
X~Beta(α,β)
ShapeParameter1 := α
ShapeParameter2 := β
ParameterConstraints :=
α>0
∧ β>0
Support :=
[0,1]
BetaFunction :=
B(α,β)
=
Integral_0^1
x^(α-1)
(1-x)^(β-1)
dx
BetaGammaRelation :=
B(α,β)
=
Γ(α)Γ(β)
/
Γ(α+β)
BetaPDF :=
f_X(x)
=
x^(α-1)
(1-x)^(β-1)
/
B(α,β)
for 0<x<1
PDFOutsideSupport :=
f_X(x)=0
outside [0,1]
PDFNormalisation :=
Integral_0^1
f_X(x)dx
=
1
BetaCDF :=
F_X(x)
=
I_x(α,β)
IncompleteBetaFunction :=
B_x(α,β)
=
Integral_0^x
t^(α-1)
(1-t)^(β-1)
dt
RegularisedIncompleteBeta :=
I_x(α,β)
=
B_x(α,β)/B(α,β)
SurvivalFunction :=
S_X(x)
=
1-I_x(α,β)
Expectation :=
E[X]
=
α/(α+β)
Variance :=
Var(X)
=
αβ
/
[
(α+β)^2
(α+β+1)
]
Mode :=
(α-1)/(α+β-2)
when α>1 and β>1
SymmetricBeta :=
α=β
⇒
DistributionSymmetricAbout(1/2)
UniformSpecialCase :=
Beta(1,1)
≡
Uniform(0,1)
UShapedBeta :=
0<α<1
∧ 0<β<1
RightSkewedBeta :=
α<β
under common shape interpretation
LeftSkewedBeta :=
α>β
under common shape interpretation
Concentration :=
κ
:=
α+β
MeanConcentrationParameterisation :=
μ
:=
α/(α+β)
RecoverAlpha :=
α
=
μκ
RecoverBeta :=
β
=
(1-μ)κ
ShapeInterpretation :=
α
controls mass toward 1
∧ β
controls mass toward 0
relative_to each other
Moment :=
E[X^k]
=
B(α+k,β)
/
B(α,β)
EquivalentMoment :=
E[X^k]
=
Product_{j=0..k-1}
(α+j)/(α+β+j)
Skewness :=
2(β-α)sqrt(α+β+1)
/
[
(α+β+2)sqrt(αβ)
]
BetaPrimeRelation :=
X~Beta(α,β)
⇒
X/(1-X)
~
BetaPrime(α,β)
GammaConstruction :=
U~Gamma(α,rate=r)
∧ V~Gamma(β,rate=r)
∧ U⟂V
⇒
U/(U+V)
~
Beta(α,β)
GammaSumRelation :=
U+V
~
Gamma(α+β,r)
RatioSumIndependence :=
U/(U+V)
independent_of
U+V
under common-rate independent gamma construction
OrderStatisticRelation :=
U_(k)
from n iid Uniform(0,1)
⇒
U_(k)
~
Beta(k,n+1-k)
MinimumUniformRelation :=
U_(1)
~
Beta(1,n)
MaximumUniformRelation :=
U_(n)
~
Beta(n,1)
BernoulliLikelihood :=
Data
with s successes
and f failures
⇒
L(p)
∝
p^s(1-p)^f
BetaPrior :=
p~Beta(α,β)
BetaBernoulliConjugacy :=
BetaPrior
∧ BernoulliData(s,f)
⇒
Posterior
Beta(
α+s,
β+f
)
BetaBinomialConjugacy :=
p~Beta(α,β)
∧ X=k from Binomial(n,p)
⇒
p|X=k
~
Beta(
α+k,
β+n-k
)
PosteriorMean :=
E[p|Data]
=
(α+s)/(α+β+s+f)
PosteriorMode :=
(α+s-1)
/
(α+β+s+f-2)
when updated shape parameters exceed 1
PosteriorVariance :=
α'β'
/
[
(α'+β')²
(α'+β'+1)
]
PseudoCountInterpretation :=
α and β
may be interpreted
as prior shape_or_pseudocount parameters
under specified modelling convention
PosteriorPredictiveBernoulli :=
P(NewSuccess|Data)
=
(α+s)/(α+β+s+f)
BetaBinomialPredictive :=
FutureSuccessCount
after integrating uncertain p
follows
BetaBinomialDistribution
BayesianUpdating :=
PriorBeta
→ ObserveBinaryOrBinomialData
→ PosteriorBeta
SequentialUpdate :=
PosteriorParameters
become
next prior parameters
CredibleInterval :=
[Q(lower),Q(upper)]
from
BetaPosteriorQuantiles
BetaQuantile :=
Q(p)
=
inverse_of
I_x(α,β)
ProbabilityInterval :=
P(a≤X≤b)
=
I_b(α,β)
-
I_a(α,β)
TailProbability :=
P(X>x)
=
1-I_x(α,β)
BetaLikelihood :=
X_1,...,X_n
iid Beta(α,β)
BetaLogLikelihood :=
ℓ(α,β)
=
(α-1)Σ_i log x_i
+
(β-1)Σ_i log(1-x_i)
-
n log B(α,β)
BetaMLE :=
GenerallyRequires
numerical_solution
involving digamma functions
MethodOfMoments :=
SampleMean=m
∧ SampleVariance=v
→ Estimate(α,β)
MomentConcentrationEstimate :=
κ_hat
=
m(1-m)/v
-
1
MomentAlphaEstimate :=
α_hat
=
mκ_hat
MomentBetaEstimate :=
β_hat
=
(1-m)κ_hat
BetaRegression :=
Response
bounded_in
(0,1)
→ ModelMeanAndPrecision
with link functions
BetaRegressionMean :=
μ_i
=
link_inverse(x_i^Tγ)
BetaRegressionPrecision :=
φ
or covariate-dependent precision
DirichletRelation :=
BetaDistribution
is two-category special case
of DirichletDistribution
DirichletSpecialCase :=
(P1,P2)
~ Dirichlet(α,β)
∧ P1+P2=1
⇒
P1~Beta(α,β)
FDistributionRelation :=
If F~F(d1,d2)
then
transformed ratio
d1F/(d1F+d2)
follows
Beta(d1/2,d2/2)
BetaEntropy :=
h(X)
=
log B(α,β)
-
(α-1)ψ(α)
-
(β-1)ψ(β)
+
(α+β-2)ψ(α+β)
BetaDistributionConstraint :=
ConstraintOn(
α,
β,
Support,
PDF,
Moments
)
AlphaConstraint :=
α>0
BetaConstraint :=
β>0
SupportConstraint :=
0≤X≤1
NormalisationConstraint :=
Integral_0^1f_X(x)dx=1
BetaConsistency :=
Parameters
∧ Support
∧ PDF
∧ CDF
∧ Moments
jointly_compatible
InvalidBetaDistribution :=
α≤0
∨ β≤0
∨ SupportViolation
∨ PDFNormalisationFailure
BetaValidation :=
ResolveAlpha
→ ResolveBeta
→ ValidateParameters
→ ResolveSupport
→ ConstructPDF
→ ValidateNormalisation
→ ConstructCDF
→ ValidateMoments
BetaDistributionState := {
RandomVariable,
Alpha,
Beta,
Mean,
Concentration,
Support,
PDF,
CDF,
Variance,
BayesianRelations,
Evidence,
Confidence,
Provenance
}
BetaEvidence :=
ProportionData
∨ ProbabilityParameterModel
∨ BinaryOutcomeData
∨ BayesianPriorSpecification
∨ TheoreticalDerivation
BetaUpdate :=
NewDataAlphaBetaOrModelEvidence
→ UpdateBetaState
→ RecomputePDF
→ RecomputeCDF
→ RecomputeMoments
→ RecomputePosteriorRelations
→ Revalidate
SEMANTIC_EQUIVALENCE(BetaA,BetaB) :=
same(α)
∧ same(β)
⇒
same(BetaProbabilityMeasure)
BetaDistributionOntology :=
Classes
∧ Relations
∧ Constraints
∧ Axioms
∧ InferenceRules
CoreClasses := {
BetaDistribution,
ContinuousDistribution,
BetaRandomVariable,
AlphaParameter,
BetaParameter,
ConcentrationParameter,
BetaFunction,
BetaPDF,
BetaCDF,
Mean,
Variance,
BetaPrior,
BetaPosterior,
BetaBinomialModel,
GammaDistribution,
DirichletDistribution,
BetaConstraint
}
CoreRelations := {
distributionOf,
hasAlpha,
hasBeta,
hasConcentration,
hasSupport,
hasPDF,
hasCDF,
hasMean,
hasVariance,
specialCaseOf,
derivedFrom,
conjugatePriorFor,
updatesTo,
estimatedFrom,
constrainedBy,
equivalentTo,
tracesTo
}
TypedRelations :=
BetaDistribution --distributionOf--> BetaRandomVariable
BetaDistribution --hasAlpha--> AlphaParameter
BetaDistribution --hasBeta--> BetaParameter
BetaDistribution --hasConcentration--> ConcentrationParameter
BetaDistribution --hasSupport--> Support
BetaDistribution --hasPDF--> BetaPDF
BetaDistribution --hasCDF--> BetaCDF
BetaDistribution --hasMean--> Mean
BetaDistribution --hasVariance--> Variance
BetaDistribution --specialCaseOf--> DirichletDistribution
BetaPrior --conjugatePriorFor--> BernoulliBinomialLikelihood
BetaPrior --updatesTo--> BetaPosterior
BetaDistribution --tracesTo--> Provenance
InferenceRules := {
X~Beta(α,β)
⇒
E[X]=α/(α+β),
X~Beta(α,β)
⇒
Var(X)
=
αβ/
[(α+β)^2(α+β+1)],
Beta(1,1)
⇒ Uniform(0,1),
Independent(
U~Gamma(α,r),
V~Gamma(β,r)
)
⇒
U/(U+V)~Beta(α,β),
Prior Beta(α,β)
∧ s successes
∧ f failures
⇒
Posterior Beta(α+s,β+f),
α≤0
∨ β≤0
⇒ InvalidBetaDistribution
}
CanonicalBetaRepresentation :=
ParseBetaModel
→ ResolveRandomVariable
→ ResolveAlpha
→ ResolveBeta
→ ResolveMeanConcentrationIfProvided
→ ValidateParameters
→ ResolveSupport
→ ConstructPDF
→ ConstructCDF
→ ComputeMoments
→ ResolveBayesianRelations
→ ValidateBetaDistribution
BetaDistributionGraph :=
G=(V,E)
V := {
BetaDistributions,
BetaRandomVariables,
AlphaParameters,
BetaParameters,
ConcentrationParameters,
BetaFunctions,
PDFs,
CDFs,
Means,
Variances,
BetaPriors,
BetaPosteriors,
BernoulliBinomialModels,
GammaRelations,
DirichletRelations,
Evidence,
ProvenanceNodes
}
E := {
distributionOf,
hasAlpha,
hasBeta,
hasConcentration,
hasSupport,
hasPDF,
hasCDF,
hasMean,
hasVariance,
specialCaseOf,
derivedFrom,
conjugatePriorFor,
updatesTo,
estimatedFrom,
constrainedBy,
equivalentTo,
tracesTo
}
CONFIDENCE(BetaDistributionResolution) :=
weighted_mean(
RandomVariableResolution,
AlphaResolution,
BetaResolution,
SupportValidity,
PDFConsistency,
MomentConsistency,
BayesianRelationValidity,
ProvenanceQuality
)
AI_QUERY_INTERPRETATION :=
Query
→ DetectBetaDistributionIntent
→ IdentifyProbabilityOrProportionVariable
→ ResolveAlphaAndBeta
→ IdentifyRequestedProbabilityOrProperty
→ ResolveBayesianContextIfPresent
AI_REASONING_FLOW :=
Query
→ ParseBetaProblem
→ ResolveProbabilitySpace
→ ResolveBetaRandomVariable
→ ResolveAlpha
→ ResolveBeta
→ ValidateParameters
→ ConstructBetaPDF
→ ConstructOrEvaluateBetaCDF
→ ComputeRequestedIntervalOrTailProbability
→ ComputeMeanVarianceModeOrQuantileIfRequired
→ ResolveGammaDirichletOrOrderStatisticRelationsIfRelevant
→ ApplyBayesianConjugateUpdateIfRelevant
→ ValidateBetaModel
→ UpdateConfidence
→ PreserveProvenance
→ GenerateExplanation
AI_CONSUMPTION := {
ParseBetaDistributionEntities,
ParseTypedRelations,
ResolveBetaRandomVariables,
ResolveAlphaParameters,
ResolveBetaParameters,
ResolveConcentrationParameters,
EvaluateBetaFunctions,
EvaluateBetaPDFs,
EvaluateBetaCDFs,
ComputeIntervalProbabilities,
ComputeTailProbabilities,
ComputeMeans,
ComputeVariances,
ComputeModes,
ComputeQuantiles,
ResolveGammaRelations,
ResolveDirichletRelations,
ResolveOrderStatisticRelations,
ApplyBetaBernoulliUpdates,
ApplyBetaBinomialUpdates,
EstimateBetaParameters,
ValidateBetaDistributions,
CompareSemanticEquivalence,
UpdateConfidence,
PreserveProvenance,
GenerateFormalExplanation
}
UPDATE_MODEL :=
NewDataAlphaBetaOrConstraint
→ ValidateInput
→ IdentifyAffectedBetaClaims
→ UpdateBetaState
→ RecomputePDF
→ RecomputeCDF
→ RecomputeMoments
→ RecomputeBayesianPosteriorIfApplicable
→ RevalidateConstraints
→ RecomputeConfidence
→ PreserveProvenance
→ VersionModel
AlphaUpdate :=
ChangedAlpha
⇒ revalidate(α>0)
→ recompute(
Mean,
Concentration,
PDF,
CDF,
Variance,
Shape
)
BetaParameterUpdate :=
ChangedBeta
⇒ revalidate(β>0)
→ recompute(
Mean,
Concentration,
PDF,
CDF,
Variance,
Shape
)
DataUpdate :=
NewBinaryProportionOrProbabilityData
⇒ reevaluate(
ParameterEstimates,
PosteriorIfBayesian,
ModelFit
)
FLOW_HASH_INPUT :=
canonical(
ONTOLOGY,
CoreClasses,
CoreRelations,
InferenceRules,
BetaDistribution,
BetaPDF,
BetaBernoulliConjugacy,
BetaValidation,
SEMANTIC_EQUIVALENCE,
AI_REASONING_FLOW
)
FLOW_HASH :=
HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {
BetaDistributionEntityResolution,
ProbabilitySpace,
BetaRandomVariable,
Alpha,
Beta,
Mean,
Concentration,
Support,
PDF,
CDF,
RequestedProbability,
Variance,
Mode,
Quantile,
BayesianPosteriorRelation,
ValidationStatus,
Confidence,
Provenance,
Explanation
}
END_FLOW
END OF FULL EXECUTABLE FLOW ALGEBRA
Download Code
Copy to Clipboard