tmpercentile

Syntax

tmpercentile(T, X, percent, window, [interpolation=’linear’])

Please see Time-Based Moving Functions (tm-functions) for the common parameters and windowing logic.

Parameters

percent is an integer or floating number between 0 and 100.

interpolation is a string indicating the interpolation method to use if the specified percentile is between two elements in X (assuming the i-th and (i+1)-th element in the sorted X) . It can take the following values:

  • ‘linear’: \(X_i+(X_{i+1}-X_i) * fraction\), where \(fraction=\frac{percentile/100-i/(size-1)}{1/(size-1)}\)

  • ‘lower’: \(X_i\)

  • ‘higher’: \(X_{i+1}\)

  • ‘nearest’: \(X_i\) or \(X_{i+1}\) that is closest to the specified percentile

  • ‘midpoint’: \((X_i+X_{i+1})/2\)

The default value of interpolation is ‘linear’.

Details

Return the percentile rank of each element of X in a sliding window.

Examples

$ T = 1 1 1 2 5 6
$ X = 1 4 NULL -1 NULL 4
$ m = table(T as t,X as x)
$ select *, tmpercentile(t, x, 50, 3) from m

t

x

tmpercentile_t

1

1

1

1

4

2.5

1

2.5

2

-1

1

5

6

4

4

$ T = 2021.01.02 2021.01.02  2021.01.04  2021.01.05 2021.01.07 2021.01.08
$ X = NULL 4 NULL -1 2 4
$ m = table(T as t,X as x)
$ select *, tmpercentile(t, x, 50, 3d) from m

t

x

tmpercentile_t

2021.01.02

2021.01.02

4

4

2021.01.04

4

2021.01.05

-1

-1

2021.01.07

2

0.5

2021.01.08

4

3

$ select *, tmpercentile(t, x, 50, 1w) from m

t

x

tmpercentile_t

2021.01.02

2021.01.02

4

4

2021.01.04

4

2021.01.05

-1

1.5

2021.01.07

2

2

2021.01.08

4

3

Related Functions: percentile, mpercentile