Berserk Docs
Scalar FunctionsSeries Functions

series_decompose

Decompose a numeric time series into baseline, seasonal, trend, and residual components.

Returns a 4-tuple; use tuple destructuring: (baseline, seasonal, trend, residual) = series_decompose(series, …).

Syntax

series_decompose(series, seasonality, trend, test_points, seasonality_threshold)

Parameters

Prop

Type

Given a dynamic field

This parameter is string-only. In permissive mode — the default — almost every field arrives as a dynamic, so passing one works because Berserk injects asstring: extract-or-null, the value when it really is a string and null otherwise, so the call yields null (a predicate yields false). A property bag or array is therefore not matched, and tostring() is never applied implicitly — use it explicitly to match a bag's JSON text, keys included. Strict mode rejects the dynamic instead of coercing it. See String coercion and the asXXX family.

Returns: dynamic

Examples

Example 1

print (baseline, seasonal, trend, residual) = series_decompose(
  dynamic([1.0, 2.0, 3.0, 1.0, 2.0, 3.0, 1.0, 2.0, 3.0, 1.0, 2.0, 3.0]),
  3
)
baseline (dynamic)seasonal (dynamic)trend (dynamic)residual (dynamic)
[1.0,2.0,3.0,1.0,2.0,3.0,1.0,2.0,3.0,1.0,2.0,3.0][1.0,2.0,3.0,1.0,2.0,3.0,1.0,2.0,3.0,1.0,2.0,3.0][0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0][0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]

On this page