FULL EXECUTABLE FLOW ALGEBRA — LOGISTIC REGRESSION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/correlation-regression/logistic-regression-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Correlation & Regression"
ONTOLOGY := "Logistic Regression Ontology"
PRIMARY_ENTITY := LogisticRegression
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
LogisticRegression := GeneralisedLinearModel ∧ BinaryOutcomeModel ∧ BernoulliLikelihood ∧ LogitLink ∧ ProbabilityEstimation ∧ ParameterInference
Population := TargetCollectionOrGeneratingProcess
Sample := {(X_i,Y_i)}_{i=1..n}
BinaryOutcome := Y∈{0,1}
PredictorVector := X
ParameterVector := β
LinearPredictor := η=Xβ
BernoulliModel := Y_i|X_i~Bernoulli(p_i)
ConditionalProbability := p_i=P(Y_i=1|X_i)
LogitFunction := logit(p)=log(p/(1-p))
LogisticRegressionModel := logit(p_i)=x_i^Tβ
InverseLogit := logistic(η)=1/(1+exp(-η))
ProbabilityModel := p_i=1/(1+exp(-x_i^Tβ))
Odds := p/(1-p)
LogOdds := log(Odds)
OddsModel := Odds_i=exp(x_i^Tβ)
CoefficientInterpretation := β_j=ChangeInLogOddsPerUnitIncreaseInX_jHoldingOtherPredictorsFixed
OddsRatio := OR_j=exp(β_j)
PredictedProbability := p_hat_i=logistic(x_i^Tβ_hat)
DesignMatrix := X
Likelihood := L(β)=Π_i p_i^(y_i)(1-p_i)^(1-y_i)
LogLikelihood := ℓ(β)=Σ_i[y_i log(p_i)+(1-y_i)log(1-p_i)]
MaximumLikelihoodEstimator := β_hat=argmax_β ℓ(β)
ScoreFunction := U(β)=X^T(y-p)
WeightMatrix := W=diag(p_i(1-p_i))
Hessian := H(β)=-X^TWX
FisherInformation := I(β)=X^TWX
IRLS := IterativelyReweightedLeastSquares→MaximumLikelihoodEstimate
Convergence := ParameterUpdatesOrLikelihoodChangesBelowTolerance
NonConvergence := OptimisationFailsToReachStableSolution
CoefficientCovariance := Var_hat(β_hat)≈I(β_hat)^(-1)
CoefficientStandardError := SE(β_hat_j)=sqrt([I(β_hat)^(-1)]_jj)
WaldStatistic := z_j=(β_hat_j-β_j0)/SE(β_hat_j)
WaldPValue := StandardNormalReferenceTailProbability
WaldConfidenceInterval := β_hat_j±z_(1-α/2)SE(β_hat_j)
OddsRatioConfidenceInterval := exp(WaldConfidenceIntervalForBeta)
LikelihoodRatioStatistic := D=2[ℓ(β_hat_full)-ℓ(β_hat_restricted)]
LikelihoodRatioTest := NestedModels→CompareDWithChiSquaredReferenceUnderRegularityConditions
ScoreTest := ScoreAtNull∧FisherInformationAtNull→TestStatistic
Deviance := -2LogLikelihoodRelativeToSaturatedModel
NullDeviance := DevianceOfInterceptOnlyModel
ResidualDeviance := DevianceOfFittedModel
AIC := -2ℓ(β_hat)+2k
BIC := -2ℓ(β_hat)+klog(n)
McFaddenR2 := 1-ℓ_full/ℓ_null
PearsonResidual := (y_i-p_hat_i)/sqrt(p_hat_i(1-p_hat_i))
DevianceResidual := SignedSquareRootOfObservationDevianceContribution
LinearityInLogit := ContinuousPredictorShouldHaveAppropriateFunctionalRelationWithLogOdds
InteractionTerm := X_jX_k
CategoricalPredictor := IndicatorOrContrastEncodedVariable
ReferenceCategory := BaselineCategoryDefiningOddsRatioComparison
Multicollinearity := StrongLinearDependenceAmongPredictors
PerfectSeparation := PredictorCombinationPerfectlyDistinguishesOutcomeClasses
QuasiCompleteSeparation := NearPerfectOutcomeSeparationByPredictors
SeparationConsequence := StandardMLECoefficientsMayDivergeOrStandardErrorsBecomeVeryLarge
FirthLogisticRegression := PenalisedLikelihoodDesignedToReduceSmallSampleBiasAndHandleSeparation
PenalisedLogisticRegression := NegativeLogLikelihood+Penalty
RidgeLogisticRegression := LogisticLoss+λ||β||²_2
LassoLogisticRegression := LogisticLoss+λ||β||_1
ElasticNetLogisticRegression := LogisticLoss+λ1||β||_1+λ2||β||²_2
ClassificationThreshold := c∈[0,1]
PredictedClass := p_hat≥c⇒Class1 else Class0
ConfusionMatrix := {TruePositive,FalsePositive,TrueNegative,FalseNegative}
Sensitivity := TP/(TP+FN)
Specificity := TN/(TN+FP)
PositivePredictiveValue := TP/(TP+FP)
NegativePredictiveValue := TN/(TN+FN)
Accuracy := (TP+TN)/N
ROC := Sensitivity versus OneMinusSpecificityAcrossThresholds
AUC := AreaUnderROC
Calibration := AgreementBetweenPredictedProbabilitiesAndObservedFrequencies
BrierScore := Mean[(Y-p_hat)²]
LogLoss := -Mean[Ylog(p_hat)+(1-Y)log(1-p_hat)]
DiscriminationVsCalibration := AUCMeasuresRankingWhereasCalibrationMeasuresProbabilityAgreement
CrossValidation := SplitOrFoldData→FitModel→PredictHeldOutData→EvaluatePerformance
ExternalValidation := EvaluateModelOnIndependentDataset
Overfitting := ModelCapturesSampleSpecificNoise→ReducedOutOfSamplePerformance
SmallSampleRisk := FewEventsRelativeToParameters→UnstableEstimationAndOverfittingRisk
SurveyLogisticRegression := ComplexSamplingDesign∧Weights∧DesignBasedVariance→SurveyAdjustedLogisticRegression
ClusteredBinaryData := WithinClusterDependence→ClusterRobustOrMultilevelLogisticModel
MultilevelLogisticRegression := FixedEffects∧RandomEffects→HierarchicalBinaryOutcomeModel
ConditionalLogisticRegression := ConditionOnMatchedOrStratifiedSets→EliminateStratumSpecificNuisanceIntercepts
MultinomialLogisticRegression := NominalOutcomeWithMoreThanTwoCategories→CategorySpecificLogOddsModels
OrdinalLogisticRegression := OrderedCategoricalOutcome→CumulativeLogitOrOtherOrdinalLink
LogisticRegressionVsProbit := LogisticUsesLogisticCDFWhereasProbitUsesNormalCDF
LogisticRegressionDoesNotImplyCausation := ConditionalOddsRatio↛CausalEffectWithoutIdentificationAssumptions
Confounding := CommonCauseOfPredictorAndOutcomeMayDistortCoefficientInterpretation
NonCollapsibility := LogisticOddsRatioMayChangeAfterCovariateAdjustmentEvenWithoutClassicalConfounding
MeasurementError := PredictorMeasurementErrorMayBiasLogisticCoefficients
MissingData := MissingOutcomeOrPredictorValues→ExplicitMissingDataProcedure
MultipleImputationLogisticRegression := ImputeMultipleDatasets→FitLogisticModelEach→PoolCoefficientsAndVariance
ClassImbalance := UnequalOutcomeClassFrequencies
ProbabilityThresholdSelection := DecisionCosts∧Prevalence∧Utility→ClassificationThreshold
StepwiseLogisticRegression := DataDrivenSequentialVariableSelection
PostSelectionInferenceConstraint := NaiveStandardErrorsAndPValuesMayBeInvalidAfterSelection
LogisticRegressionConstraint := ConstraintOn(BinaryOutcome,Predictors,DesignMatrix,LinkFunction,SamplingDesign,DependenceStructure,Estimator,Regularisation,MissingDataMethod)
LogisticRegressionConsistency := Outcome∧PredictorSet∧LogitLink∧Likelihood∧Estimator∧SamplingDesign∧DependenceStructure jointly_compatible
InvalidLogisticRegression := NonBinaryOutcomeWithoutGeneralisedExtension ∨ UndefinedPredictors ∨ InvalidDesignMatrix ∨ UnresolvedSeparation ∨ NonConvergence ∨ InvalidVarianceEstimator ∨ IgnoredDependence ∨ UnsupportedCausalInterpretation
LogisticRegressionValidation := ResolveScientificQuestion → ResolvePopulationSampleOutcomeAndPredictors → ValidateBinaryOutcomeCoding → ResolvePredictorScalesAndReferenceCategories → SpecifyLogitModel → ConstructDesignMatrix → DiagnoseRankAndSeparation → EstimateCoefficientsByMaximumLikelihoodOrPenalisedMethod → ComputePredictedProbabilities → QuantifyCoefficientUncertainty → ComputeOddsRatios → DiagnoseResidualsInfluenceAndFunctionalForm → EvaluateDiscriminationAndCalibration → ValidateOutOfSamplePerformance → ValidateInterpretation → ValidateResult
LogisticRegressionState := {Population,Sample,BinaryOutcome,Predictors,DesignMatrix,ParameterVector,CoefficientEstimates,StandardErrors,WaldStatistics,PValues,ConfidenceIntervals,OddsRatios,OddsRatioIntervals,PredictedProbabilities,PredictedClasses,LogLikelihood,Deviance,AIC,BIC,PseudoR2,ROC,AUC,CalibrationStatus,BrierScore,SamplingDesign,SeparationStatus,ConvergenceStatus,RegularisationMethod,MissingDataMethod,DiagnosticStatus,PredictivePerformance,Evidence,Confidence,Provenance}
SEMANTIC_EQUIVALENCE(LogisticModelA,LogisticModelB) := same(OutcomeSemantics) ∧ same(PredictorColumnSpace) ∧ same(ConditionalProbabilityTarget) ∧ same(LinkFunctionOrEquivalentParameterisation) ∧ same(EstimatorObjective) ∧ same(SamplingDesign) ∧ same(DependenceStructure) ∧ same(RegularisationFramework)
LogisticRegressionOntology := Classes ∧ Relations ∧ Constraints ∧ Axioms ∧ InferenceRules
CoreClasses := {LogisticRegression,BinaryOutcome,BernoulliDistribution,LogitLink,LogisticFunction,LinearPredictor,RegressionCoefficient,Odds,LogOdds,OddsRatio,MaximumLikelihoodEstimator,WaldStatistic,LikelihoodRatioTest,Deviance,PredictedProbability,ClassificationThreshold,ROC,AUC,Calibration,BrierScore,Separation,PenalisedLogisticRegression,MultilevelLogisticRegression}
CoreRelations := {predicts,models,usesLink,hasLikelihood,estimates,hasCoefficient,transformsTo,exponentiatesTo,hasProbability,hasOdds,hasUncertainty,evaluatedBy,calibratedBy,diagnosedBy,regularisedBy,constrainedBy,equivalentTo,tracesTo}
TypedRelations :=
LogisticRegression --predicts--> BinaryOutcome
LogisticRegression --models--> ConditionalProbability
LogisticRegression --usesLink--> LogitLink
LogisticRegression --hasLikelihood--> BernoulliLikelihood
LogisticRegression --estimates--> ParameterVector
LogisticRegression --hasCoefficient--> RegressionCoefficient
Probability --transformsTo--> LogOdds
RegressionCoefficient --exponentiatesTo--> OddsRatio
LogisticRegression --hasProbability--> PredictedProbability
RegressionCoefficient --hasUncertainty--> ConfidenceInterval
LogisticRegression --evaluatedBy--> AUC
LogisticRegression --calibratedBy--> CalibrationAssessment
LogisticRegression --diagnosedBy--> ResidualDiagnostic
PenalisedLogisticRegression --regularisedBy--> Penalty
LogisticRegression --tracesTo--> Provenance
InferenceRules := {
LogitProbability ⇒ Probability=1/(1+exp(-LinearPredictor)),
RegressionCoefficient ⇒ ConditionalOddsRatio=exp(Coefficient),
FullRankDesign ∧ NoSeparation ∧ RegularLikelihoodConditions ⇒ FiniteMLETypicallyExists,
PerfectSeparation ⇒ StandardMLEMayDiverge,
NestedLogisticModels ⇒ LikelihoodRatioComparisonAvailable,
PredictedProbability≥Threshold ⇒ PredictedPositiveClass,
LogisticAssociation ↛ CausalEffect,
InvalidDependenceModel ⇒ FlagInferenceValidityRisk
}
CanonicalLogisticRegressionRepresentation := ParseLogisticRegressionRequest → ResolvePopulationSampleOutcomeAndPredictors → ValidateBinaryOutcome → ResolvePredictorCoding → SpecifyLogitLinkAndLinearPredictor → ConstructDesignMatrix → ValidateRankAndSeparation → SelectMLEOrPenalisedEstimator → EstimateCoefficients → ComputePredictedProbabilitiesAndOdds → ComputeOddsRatiosAndUncertainty → ComputeLikelihoodDevianceAndFitMeasures → DiagnoseResidualsInfluenceAndFunctionalForm → EvaluateROCDiscriminationAndCalibration → ValidateOutOfSamplePerformance → ValidateLogisticRegression
LogisticRegressionGraph := G=(V,E)
V := {LogisticRegressions,BinaryOutcomes,BernoulliDistributions,LogitLinks,LogisticFunctions,LinearPredictors,RegressionCoefficients,Odds,LogOdds,OddsRatios,MaximumLikelihoodEstimators,WaldStatistics,LikelihoodRatioTests,Deviances,PredictedProbabilities,ClassificationThresholds,ROCNodes,AUCNodes,CalibrationNodes,BrierScores,SeparationNodes,PenalisedLogisticRegressions,MultilevelLogisticRegressions,Diagnostics,Evidence,ProvenanceNodes}
E := {predicts,models,usesLink,hasLikelihood,estimates,hasCoefficient,transformsTo,exponentiatesTo,hasProbability,hasOdds,hasUncertainty,evaluatedBy,calibratedBy,diagnosedBy,regularisedBy,constrainedBy,equivalentTo,tracesTo}
CONFIDENCE(LogisticRegressionResolution) := weighted_mean(OutcomeResolution,PredictorResolution,CodingValidity,LinkFunctionValidity,DesignMatrixValidity,SeparationAssessment,EstimatorValidity,VarianceValidity,SamplingDesignValidity,DependenceValidity,CalibrationQuality,PredictiveValidation,ProvenanceQuality)
AI_QUERY_INTERPRETATION := Query → DetectLogisticRegressionIntent → IdentifyPopulationSampleBinaryOutcomeAndPredictors → ResolveCoefficientOddsRatioProbabilityClassificationOrPredictionIntent → IdentifyRequestedInferenceFitDiagnosticsDiscriminationOrCalibration → ResolveSamplingDesignDependenceRegularisationAndMissingDataContext
AI_REASONING_FLOW := Query → ParseLogisticRegressionProblem → ResolvePopulationAndSample → ResolveBinaryOutcome → ResolvePredictorsAndReferenceCategories → SpecifyLogitModel → ConstructDesignMatrix → ValidateRankAndSeparation → SelectMLEOrPenalisedEstimator → EstimateCoefficients → ComputePredictedProbabilities → ComputeOddsAndOddsRatios → QuantifyCoefficientUncertainty → ComputeLikelihoodDevianceAndFitMeasures → DiagnoseResidualsInfluenceAndFunctionalForm → EvaluateDiscriminationCalibrationAndOutOfSamplePerformance → ValidateInterpretation → UpdateConfidence → PreserveProvenance → GenerateExplanation
AI_CONSUMPTION := {ParseLogisticRegressionEntities,ParseTypedRelations,ResolvePopulations,ResolveSamples,ResolveBinaryOutcomes,ResolvePredictors,ResolveReferenceCategories,ConstructDesignMatrices,ValidateMatrixRank,DiagnoseSeparation,FitMaximumLikelihoodLogisticRegression,FitFirthLogisticRegression,FitRidgeLogisticRegression,FitLassoLogisticRegression,FitElasticNetLogisticRegression,ComputeCoefficientCovariance,ComputeStandardErrors,ComputeWaldStatistics,ComputePValues,ComputeConfidenceIntervals,ComputeOddsRatios,ComputePredictedProbabilities,ComputeDeviance,ComputeAIC,ComputeBIC,ComputePseudoR2,ComputeROC,ComputeAUC,ComputeBrierScore,AssessCalibration,DiagnoseResiduals,DiagnoseInfluence,ExecuteCrossValidation,ValidateLogisticRegressionSemantics,CompareSemanticEquivalence,UpdateConfidence,PreserveProvenance,GenerateFormalExplanation}
UPDATE_MODEL := NewDataPredictorsThresholdDesignOrEvidence → ValidateInput → IdentifyAffectedLogisticRegressionClaims → UpdateLogisticRegressionState → ReconstructDesignMatrixIfRequired → ReassessRankAndSeparation → ReestimateCoefficients → RecomputePredictedProbabilitiesOddsRatiosAndUncertainty → RecomputeFitMeasures → RerunDiagnosticsCalibrationAndPredictiveValidation → RecomputeConfidence → PreserveProvenance → VersionModel
DataUpdate := ChangedObservedData ⇒ recompute(CoefficientEstimates,PredictedProbabilities,OddsRatios,StandardErrors,PValues,Deviance,AIC,BIC,AUC,Calibration)
PredictorUpdate := ChangedPredictorSet ⇒ recompute(DesignMatrix,Rank,SeparationStatus,CoefficientEstimates,FitMeasures,PredictivePerformance)
ThresholdUpdate := ChangedClassificationThreshold ⇒ recompute(PredictedClasses,Sensitivity,Specificity,PPV,NPV,Accuracy)
FLOW_HASH_INPUT := canonical(ONTOLOGY,CoreClasses,CoreRelations,InferenceRules,LogisticRegression,LogisticRegressionValidation,LogisticRegressionConstraint,SEMANTIC_EQUIVALENCE,AI_REASONING_FLOW)
FLOW_HASH := HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {LogisticRegressionEntityResolution,Population,Sample,BinaryOutcome,Predictors,DesignMatrix,CoefficientEstimates,StandardErrors,WaldStatistics,PValues,ConfidenceIntervals,OddsRatios,OddsRatioIntervals,PredictedProbabilities,PredictedClasses,LogLikelihood,Deviance,AIC,BIC,PseudoR2,ROC,AUC,CalibrationStatus,BrierScore,SamplingDesign,SeparationStatus,ConvergenceStatus,RegularisationMethod,MissingDataMethod,DiagnosticStatus,PredictivePerformance,InterpretationStatus,ValidationStatus,Confidence,Provenance,Explanation}
END_FLOW
END OF FULL EXECUTABLE FLOW ALGEBRA
Download Code
Copy to Clipboard