Skip to main content

Trend Analysis Ontology

Time Series Statistics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — TREND ANALYSIS ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/time-series-statistics/trend-analysis-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Time Series Statistics"
ONTOLOGY := "Trend Analysis Ontology"
PRIMARY_ENTITY := TrendAnalysis
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

TrendAnalysis := TimeSeriesAnalysis ∧ LongTermPatternDetection ∧ DirectionEstimation ∧ MagnitudeEstimation ∧ TrendTesting ∧ StructuralChangeAssessment
TimeSeries := {Y_t:t∈T}
TimeIndex := t
ObservedValue := y_t
TrendComponent := T_t
Remainder := R_t
AdditiveTrendModel := Y_t=T_t+R_t
Trend := SystematicLongTermChangeInExpectedOrTypicalSeriesLevel
TrendDirection := {Increasing,Decreasing,Flat,NonMonotonic}
IncreasingTrend := dT_t/dt>0 over specified interval
DecreasingTrend := dT_t/dt<0 over specified interval
FlatTrend := dT_t/dt≈0 over specified interval
TrendMagnitude := ChangeInTrendPerUnitTime ∨ TotalTrendChangeAcrossInterval
TrendSlope := β1

LinearTrendModel := Y_t=β0+β1t+ε_t
LinearTrendEstimate := T_hat_t=β_hat0+β_hat1t
TrendSlopeInterpretation := β1=ExpectedChangeInYPerUnitTime
PositiveLinearTrend := β1>0
NegativeLinearTrend := β1<0
ZeroLinearTrend := β1=0
TotalLinearTrendChange := β1(t_end-t_start)
PolynomialTrend := T_t=β0+β1t+...+β_dt^d
QuadraticTrend := T_t=β0+β1t+β2t²
NonlinearTrend := TrendSlopeVariesAcrossTime
LocalTrend := TrendEstimatedOverLocalTemporalNeighbourhood
MovingAverageTrend := LocalAverageAcrossSpecifiedWindow
LOESSTrend := LocalPolynomialRegressionAcrossTime
SplineTrend := PiecewisePolynomialSmoothFunctionOfTime
ExponentialTrend := T_t=ae^(bt)
LogLinearTrend := log(Y_t)=α+βt+ε_t
GrowthRateRelation := LogLinearSlopeβ→ApproximateProportionalGrowthRate
CompoundGrowth := T_t=T_0(1+g)^t
CompoundGrowthRate := g=(T_end/T_start)^(1/Δt)-1
AbsoluteChange := Y_end-Y_start
RelativeChange := (Y_end-Y_start)/Y_start
PercentageChange := 100×RelativeChange

TrendVsSeasonality := Trend=LongTermMovement whereas Seasonality=RepeatingPeriodicPattern
TrendVsCycle := Trend=PersistentDirectionalMovement whereas Cycle=OscillationAroundLongerTermPath
TrendVsNoise := Trend=SystematicComponent whereas Noise=IrregularVariation
Detrending := Y_t-T_hat_t
DetrendedSeries := D_t=Y_t-T_hat_t
TrendRemovalPurpose := IsolateSeasonalityCyclesDependenceOrStationaryRemainder
TrendStationarity := Y_t=T_t+X_t where X_t stationary
DeterministicTrend := TrendSpecifiedAsDeterministicFunctionOfTime
StochasticTrend := PersistentRandomEvolutionOftenAssociatedWithIntegratedProcess
RandomWalkTrend := Y_t=Y_(t-1)+ε_t
UnitRootTrend := StochasticTrendAssociatedWithUnitRoot
Differencing := ΔY_t=Y_t-Y_(t-1)
DifferencingPurpose := RemoveOrReduceStochasticTrend
OverDifferencing := ExcessiveDifferencing→UnnecessaryNoiseAndDistortedDynamics
UnderDifferencing := RemainingStochasticTrend→NonstationaryResidualStructure

TrendTest := StatisticalProcedureForEvidenceOfMonotonicOrParametricTrend
LinearTrendNull := H0:β1=0
LinearTrendAlternative := {H1:β1≠0,H1:β1>0,H1:β1<0}
TrendTStatistic := t=β_hat1/SE(β_hat1)
TrendPValue := TrendStatistic∧ReferenceDistribution→PValue
TrendConfidenceInterval := β_hat1±CriticalValue×SE(β_hat1)
MannKendallTest := NonparametricTestForMonotonicTrend
MannKendallStatistic := S=Σ_{i<j}sign(Y_j-Y_i)
MannKendallNull := NoMonotonicTrendUnderSpecifiedIndependenceAssumptions
SenSlope := MedianOfPairwiseSlopes
PairwiseSlope := (Y_j-Y_i)/(t_j-t_i)
TheilSenTrend := RobustMedianSlopeEstimate
RobustTrendBenefit := ReducedSensitivityToExtremeObservationsRelativeToOLS
SerialCorrelationConstraint := AutocorrelationMayInvalidateNaiveTrendTestVariance
ModifiedMannKendall := TrendTestAdjustedForSerialDependence
SeasonalMannKendall := MonotonicTrendTestAccountingForSeasonalStrata
SeasonalTrend := TrendEstimatedAfterAccountingForSeasonality
DeseasonalisedTrend := TrendAnalysisOnSeasonallyAdjustedSeries
STLTrend := TrendComponentFromSTLDecomposition

ChangePoint := TimeAtWhichTrendOrLevelStructureChanges
StructuralBreak := PersistentParameterChangeAtTimeτ
BreakInLevel := InterceptChangesAtτ
BreakInSlope := TrendSlopeChangesAtτ
PiecewiseLinearTrend := DifferentLinearTrendSegmentsSeparatedByBreakpoints
SegmentedRegression := Y_t=β0+β1t+β2(t-τ)_++ε_t
HingeFunction := (t-τ)_+=max(0,t-τ)
SlopeAfterBreakpoint := β1+β2
MultipleBreakpoints := {τ1,...,τm}
ChangePointDetection := Series→CandidateBreakpoints→SegmentFit→PenalisedOrStatisticalSelection
CUSUM := CumulativeSumDiagnosticForParameterInstability
TrendReversal := TrendSlopeChangesSignAcrossTime
Acceleration := d²T_t/dt²
TurningPoint := dT_t/dt=0 with direction change
RollingTrend := EstimateTrendWithinMovingWindow
RollingSlope := Window_t→FitSlope→β_hat1(t)
ExpandingTrend := FitTrendUsingAllDataUpToTimeT
RealTimeTrend := TrendEstimateUsingInformationAvailableAtCurrentTime
Revision := HistoricalTrendEstimateChangesWhenNewDataArriveOrSeriesIsRevised
EndpointBias := SmoothersMayBeLessStableNearSeriesBoundaries
SmoothingParameter := ControlsTrendSmoothness
SmoothnessTradeoff := MoreSmoothing→LowerVariance∧HigherBiasForRapidTrendChanges
Bandwidth := TemporalNeighbourhoodWidthForLocalSmoother
TrendExtraction := ObservedSeries→SeparateLongTermComponentFromShortTermVariation
SignalToNoiseRelation := StrongerTrendRelativeToNoise→EasierTrendDetection
SampleLengthRelation := LongerSeriesGenerallyImprovesAbilityToEstimateGradualTrendSubjectToStructuralStability
SamplingFrequencyRelation := TrendInterpretationDependsOnTimeUnitAndSamplingFrequency
IrregularSamplingTrend := UnequalTimeIntervals→UseActualTimeValuesInSlopeAndSmoother
MissingDataTrend := MissingObservations→ExplicitMissingDataHandling
InterpolationTrendRisk := InterpolationMayArtificiallySmoothTrendAndUnderstateUncertainty
OutlierTrendRisk := ExtremeObservationsMayDistortOLSBasedTrend
RobustTrend := TrendEstimatorDesignedToReduceOutlierInfluence
HeteroscedasticTrend := TrendModelWithTimeVaryingResidualVariance
AutocorrelatedTrendErrors := ε_t follows serially dependent process
GLSTrend := TrendRegression∧GeneralisedLeastSquares→DependenceAwareTrendEstimate
HACTrendInference := TrendRegression∧HeteroscedasticityAutocorrelationConsistentCovariance→RobustTrendStandardErrors
TrendForecast := ExtrapolateEstimatedTrendIntoFuture
TrendForecastConstraint := TrendExtrapolationAssumesRelevantTrendStructurePersists
LongHorizonTrendRisk := ForecastUncertaintyAndStructuralRiskIncreaseWithHorizon
TrendAnalysisDoesNotImplyCausation := ObservedTemporalTrend↛CauseOfTrend
ConfoundingByTime := OtherVariablesChangingWithTimeMayProduceApparentTrend
MeasurementChange := InstrumentDefinitionOrCollectionMethodChangesOverTime→ApparentTrendRisk
PopulationCompositionChange := ChangingPopulationMix→AggregateTrendMayDifferFromWithinGroupTrends
SimpsonsParadoxOverTime := AggregateTemporalTrendMayDifferFromSubgroupTrends
TrendAggregation := TemporalAggregationMayChangeApparentSlopeAndVariability
TrendNormalisation := RescaleSeries→CompareTrendAcrossDifferentUnits
BaselineIndex := Index_t=100×Y_t/Y_base

TrendAnalysisConstraint := ConstraintOn(TimeSeries,TimeIndex,SamplingFrequency,TrendDefinition,Seasonality,DependenceStructure,StructuralBreaks,MissingDataMethod,Estimator)
TrendAnalysisConsistency := Series∧TimeIndex∧TrendModel∧Estimator∧ErrorStructure∧SeasonalAdjustment jointly_compatible
InvalidTrendAnalysis := UndefinedTimeIndex∨IgnoredTemporalDependence∨InappropriateTrendModel∨UnresolvedSeasonality∨InvalidBreakpointHandling∨FutureLeakage∨UnsupportedCausalInterpretation
TrendAnalysisValidation := ResolveScientificQuestion→ResolveSeriesAndTimeIndex→ResolveSamplingFrequency→VisualiseSeries→IdentifySeasonalityAndOutliers→SpecifyTrendDefinition→SelectTrendEstimator→EstimateTrend→QuantifySlopeOrChange→QuantifyUncertainty→DiagnoseResidualDependence→DetectStructuralBreaks→PerformRobustnessAndSensitivityAnalysis→ValidateTrendInterpretation→ValidateResult

TrendAnalysisState := {TimeSeries,TimeIndex,SamplingFrequency,TrendDefinition,TrendModel,TrendEstimator,TrendDirection,TrendSlope,TrendMagnitude,GrowthRate,ConfidenceInterval,PValue,SeasonalityStatus,DetrendedSeries,DependenceStatus,Breakpoints,TurningPoints,OutlierStatus,MissingDataMethod,Evidence,Confidence,Provenance}

SEMANTIC_EQUIVALENCE(TrendA,TrendB) := same(SeriesSemantics)∧same(TimeInterval)∧same(TimeUnit)∧same(TrendTarget)∧same(SeasonalityAdjustment)∧same(EstimatorOrEquivalentTrendFunction)∧same(DependenceFramework)

TrendAnalysisOntology := Classes∧Relations∧Constraints∧Axioms∧InferenceRules
CoreClasses := {TrendAnalysis,Trend,TrendDirection,TrendSlope,LinearTrend,PolynomialTrend,ExponentialTrend,LocalTrend,MovingAverageTrend,LOESSTrend,DeterministicTrend,StochasticTrend,DetrendedSeries,TrendTest,MannKendallTest,SenSlope,StructuralBreak,ChangePoint,PiecewiseLinearTrend,RollingTrend,TrendForecast}
CoreRelations := {analyses,hasTrend,hasDirection,hasSlope,hasMagnitude,estimatedBy,testedBy,detrendedBy,adjustedFor,affectedBy,hasBreakpoint,hasTurningPoint,forecastBy,constrainedBy,equivalentTo,tracesTo}

TypedRelations :=
 TrendAnalysis --analyses--> TimeSeries
 TimeSeries --hasTrend--> Trend
 Trend --hasDirection--> TrendDirection
 Trend --hasSlope--> TrendSlope
 Trend --hasMagnitude--> TrendMagnitude
 Trend --estimatedBy--> TrendEstimator
 Trend --testedBy--> TrendTest
 TimeSeries --detrendedBy--> TrendEstimate
 TrendAnalysis --adjustedFor--> Seasonality
 TrendAnalysis --affectedBy--> TemporalDependence
 PiecewiseLinearTrend --hasBreakpoint--> ChangePoint
 Trend --hasTurningPoint--> TurningPoint
 Trend --forecastBy--> TrendForecast
 TrendAnalysis --tracesTo--> Provenance

InferenceRules := {
 LinearTrendSlope>0⇒IncreasingLinearTrend,
 LinearTrendSlope<0⇒DecreasingLinearTrend,
 LinearTrendSlope=0⇒FlatLinearTrend,
 SignificantMannKendallPositiveStatistic⇒EvidenceForIncreasingMonotonicTrendUnderValidAssumptions,
 SignificantMannKendallNegativeStatistic⇒EvidenceForDecreasingMonotonicTrendUnderValidAssumptions,
 ResidualSerialCorrelation⇒RequireDependenceAwareTrendInference,
 StructuralBreakDetected⇒SingleGlobalTrendMayBeInsufficient,
 FutureDataUsedInTrendEstimation⇒FlagRealTimeTrendLeakage,
 ObservedTrend↛CausalExplanation
}

CanonicalTrendAnalysisRepresentation := ParseTrendRequest→ResolveTimeSeriesAndTimeIndex→ResolveAnalysisIntervalAndFrequency→DetectSeasonalityOutliersAndBreaks→SpecifyLinearMonotonicNonlinearOrLocalTrendTarget→SelectEstimator→EstimateTrendFunction→ComputeDirectionSlopeMagnitudeAndGrowth→ComputeUncertaintyAndTrendTest→DiagnoseResidualDependence→ResolveBreakpointsAndTurningPoints→PerformRobustnessChecks→ValidateTrendAnalysis

TrendAnalysisGraph := G=(V,E)
V := {TrendAnalyses,Trends,TrendDirections,TrendSlopes,LinearTrends,PolynomialTrends,ExponentialTrends,LocalTrends,MovingAverageTrends,LOESSTrends,DeterministicTrends,StochasticTrends,DetrendedSeriesNodes,TrendTests,MannKendallTests,SenSlopes,StructuralBreaks,ChangePoints,PiecewiseLinearTrends,RollingTrends,TrendForecasts,TimeSeriesNodes,Evidence,ProvenanceNodes}
E := {analyses,hasTrend,hasDirection,hasSlope,hasMagnitude,estimatedBy,testedBy,detrendedBy,adjustedFor,affectedBy,hasBreakpoint,hasTurningPoint,forecastBy,constrainedBy,equivalentTo,tracesTo}

CONFIDENCE(TrendAnalysisResolution) := weighted_mean(TimeSeriesResolution,TimeIndexValidity,TrendTargetResolution,EstimatorValidity,SeasonalityHandlingValidity,DependenceHandlingValidity,StructuralBreakAssessment,UncertaintyResolution,RobustnessQuality,ProvenanceQuality)

AI_QUERY_INTERPRETATION := Query→DetectTrendAnalysisIntent→IdentifySeriesTimeIntervalAndSamplingFrequency→ResolveLinearMonotonicNonlinearGrowthBreakOrForecastIntent→IdentifyRequestedDirectionSlopeMagnitudeTestOrBreakpoint→ResolveSeasonalityDependenceMissingnessAndOutlierContext

AI_REASONING_FLOW := Query→ParseTrendAnalysisProblem→ResolveSeriesAndTimeIndex→ResolveAnalysisInterval→VisualiseSeries→DetectSeasonalityOutliersAndBreaks→SpecifyTrendTarget→SelectTrendEstimator→EstimateTrend→ComputeDirectionSlopeMagnitudeAndGrowthRate→QuantifyUncertainty→ExecuteTrendTestIfRequested→DiagnoseSerialDependence→DetectBreakpointsAndTurningPoints→PerformSensitivityAnalysis→ValidateNonCausalInterpretation→UpdateConfidence→PreserveProvenance→GenerateExplanation

AI_CONSUMPTION := {ParseTrendAnalysisEntities,ParseTypedRelations,ResolveTimeSeries,ResolveTimeIndices,ResolveSamplingFrequencies,DetectTrendDirection,FitLinearTrends,FitPolynomialTrends,FitExponentialTrends,FitMovingAverageTrends,FitLOESSTrends,FitSplineTrends,ComputeTrendSlopes,ComputeGrowthRates,ComputeTrendConfidenceIntervals,ComputeTrendPValues,ExecuteMannKendallTests,ComputeSenSlopes,AdjustForSeasonality,DetrendSeries,DiagnoseSerialCorrelation,ComputeHACTrendInference,FitGLSTrends,DetectStructuralBreaks,DetectChangePoints,FitPiecewiseLinearTrends,ComputeRollingTrends,DetectTurningPoints,DiagnoseOutlierInfluence,ExecuteTrendSensitivityAnalysis,GenerateTrendForecasts,ValidateTrendAnalysisSemantics,CompareSemanticEquivalence,UpdateConfidence,PreserveProvenance,GenerateFormalExplanation}

UPDATE_MODEL := NewObservationTimeIntervalModelOrEvidence→ValidateInput→IdentifyAffectedTrendClaims→UpdateTrendAnalysisState→RecomputeSeasonalityAndOutlierStatus→ReestimateTrend→RecomputeSlopeMagnitudeGrowthAndUncertainty→RediagnoseDependenceAndBreakpoints→RecomputeTrendForecastIfRequired→RecomputeConfidence→PreserveProvenance→VersionModel
DataUpdate := NewOrChangedObservation⇒recompute(TrendEstimate,TrendDirection,TrendSlope,TrendMagnitude,ConfidenceInterval,Breakpoints)
IntervalUpdate := ChangedAnalysisInterval⇒recompute(TrendTarget,TrendSlope,GrowthRate,StructuralBreakAssessment)
EstimatorUpdate := ChangedTrendEstimator⇒reevaluate(TrendFunction,Uncertainty,Robustness,SemanticEquivalence)

FLOW_HASH_INPUT := canonical(ONTOLOGY,CoreClasses,CoreRelations,InferenceRules,TrendAnalysis,TrendAnalysisValidation,TrendAnalysisConstraint,SEMANTIC_EQUIVALENCE,AI_REASONING_FLOW)
FLOW_HASH := HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {TrendAnalysisEntityResolution,TimeSeries,TimeIndex,SamplingFrequency,AnalysisInterval,TrendDefinition,TrendModel,TrendEstimator,TrendDirection,TrendSlope,TrendMagnitude,GrowthRate,ConfidenceInterval,PValue,SeasonalityStatus,DetrendedSeries,DependenceStatus,Breakpoints,TurningPoints,OutlierStatus,MissingDataMethod,ValidationStatus,Confidence,Provenance,Explanation}

END_FLOW

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