Scalar FunctionsSeries Functions
series_periods_detect
Detects periodic patterns in a time series using FFT-based spectral analysis.
Syntax
series_periods_detect(series, min_period, max_period, num_periods)Parameters
Prop
Type
Returns: dynamic
Examples
Example 1 — Detect a weekly raid pattern (period=7) in 28 days of data — high activity every 7th day
print (periods, scores) = series_periods_detect(
dynamic([10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10])
)| periods (dynamic) | scores (dynamic) |
|---|---|
| [7.0] | [1.2664603537264012] |
Example 2 — Widen the search range (min=2, max=14) and request the top 2 periods
print (periods, scores) = series_periods_detect(
dynamic([10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10, 10, 5, 5, 5, 5, 5, 10]),
2.0,
14.0,
2
)| periods (dynamic) | scores (dynamic) |
|---|---|
| [7.0,2.0] | [1.2664603537264012,0.2066957036771069] |
Example 3 — Detect a shorter cycle — raids every 3rd day
print (periods, scores) = series_periods_detect(
dynamic([10, 3, 3, 10, 3, 3, 10, 3, 3, 10, 3, 3, 10, 3, 3, 10, 3, 3, 10, 3, 3]),
2.0,
10.0,
2
)| periods (dynamic) | scores (dynamic) |
|---|---|
| [3.0] | [1.425422448468271] |