dev
, mdev
, sdev
¶
Deviations
dev
¶
Standard deviation
dev x dev[x]
Where x
is a numeric list, returns its standard deviation (as the square root of the variance).
Applies to all numeric data types and signals an error with temporal types, char and sym.
q)dev 10 343 232 55
134.3484
dev
is an aggregate function, equivalent to {sqrt var x}
.
domain: b g x h i j e f c s p m d z n u v t
range: f . f f f f f f f . f f f f f f f f
Since 4.1t 2022.04.15, can also traverse columns of tables and general/anymap/nested lists.
q)M:get`:m77 set m:(2 3;4 0N;1 7)
q)dev m
1.247219 2
q)dev M
1.247219 2
q)T:get`:tab/ set t:flip`a`b!flip m
q)dev t
a| 1.247219
b| 2
q)dev T
a| 1.247219
b| 2
dev
is a multithreaded primitive.
mdev
¶
Moving deviations
x mdev y mdev[x;y]
Where
x
is a positive int atomy
is a numeric list
returns the floating-point x
-item moving deviations of y
, with any nulls after the first item replaced by zero. The first x
items of the result are the deviations of the terms so far, and thereafter the result is the moving deviation.
q)2 mdev 1 2 3 5 7 10
0 0.5 0.5 1 1 1.5
q)5 mdev 1 2 3 5 7 10
0 0.5 0.8164966 1.47902 2.154066 2.87054
q)5 mdev 0N 2 0N 5 7 0N / nulls after the first are replaced by 0
0n 0 0 1.5 2.054805 2.054805
q)t
b c
----
1 45
2 46
3 47
q)2 mdev t
b c
-------
0 0
0.5 0.5
0.5 0.5
mdev
is a uniform function.
Domain and range:
b g x h i j e f c s p m d z n u v t
----------------------------------------
b | f . f f f f f f f . f f f f f f f f
g | . . . . . . . . . . . . . . . . . .
x | f . f f f f f f f . f f f f f f f f
h | f . f f f f f f f . f f f f f f f f
i | f . f f f f f f f . f f f f f f f f
j | f . f f f f f f f . f f f f f f f f
e | . . . . . . . . . . . . . . . . . .
f | . . . . . . . . . . . . . . . . . .
c | . . . . . . . . . . . . . . . . . .
s | . . . . . . . . . . . . . . . . . .
p | . . . . . . . . . . . . . . . . . .
m | . . . . . . . . . . . . . . . . . .
d | . . . . . . . . . . . . . . . . . .
z | . . . . . . . . . . . . . . . . . .
n | . . . . . . . . . . . . . . . . . .
u | . . . . . . . . . . . . . . . . . .
v | . . . . . . . . . . . . . . . . . .
t | . . . . . . . . . . . . . . . . . .
Range: f
Implicit iteration¶
mdev
applies to dictionaries and tables.
q)k:`k xkey update k:`abc`def`ghi from t:flip d:`a`b!(10 21 3;4 5 6)
q)2 mdev d
a| 0 0 0
b| 3 8 1.5
q)2 mdev t
a b
-------
0 0
5.5 0.5
9 0.5
q)2 mdev k
k | a b
---| -------
abc| 0 0
def| 5.5 0.5
ghi| 9 0.5
sdev
¶
Sample standard deviation
sdev x sdev[x]
Where x
is a numeric list, returns its sample standard deviation as the square root of the sample variance.
q)sdev 10 343 232 55
155.1322
sdev
is an aggregate function, equivalent to {sqrt var[x]*count[x]%-1+count x}
.
domain: b g x h i j e f c s p m d z n u v t
range: f . f f f f f f f . f f f f f f f f
Since 4.1t 2022.04.15, can also traverse columns of tables and general/anymap/nested lists.
q)M:get`:m77 set m:(2 3;4 0N;1 7)
q)sdev m
1.527525 2.828427
q)sdev M
1.527525 2.828427
q)T:get`:tab/ set t:flip`a`b!flip m
q)sdev t
a| 1.527525
b| 2.828427
q)sdev T
a| 1.527525
b| 2.828427
sdev
is a multithreaded primitive.
var
, svar
Mathematics
Sliding windows
Standard deviation,
Variance
Standard deviation