mkurtosis

语法

mkurtosis(X, window, [biased=true], [minPeriods])

窗口计算规则请参考:mFunctions

详情

在给定长度(以元素个数或时间长度衡量)的滑动窗口内计算 X 的峰度。

参数

X 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。

window 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。
注:
在流计算引擎中调用滑动窗口函数时,window 的上限为 102400。

biased 是一个布尔值,表示是否是有偏估计。默认值为 true,表示有偏估计。

minPeriods 是一个正整数。为滑动窗口中最少包含的观测值数据。

返回值

  • 输入为向量时,返回一个与输入等长的 DOUBLE 类型向量。
  • 输入为矩阵时,返回一个与输入矩阵同维度的矩阵,每列分别计算峰度。
  • 输入为表时,返回一个与输入表结构相同的表,每列分别计算峰度。
  • 输入为元组时,返回对应的元组结构。

例子

m=matrix(1 9 3 100 3 2 1 -100 9 10000, 1 2 3 4 5 6 7 8 9 100);
m.mkurtosis(8);
#0 #1

3.989653641279048 1.761904761904762
3.989840910744778 1.761904761904762
6.140237905908072 6.101712240467206
m.rename!(date(2020.04.06)+1..10, `col1`col2)
m.setIndexedMatrix!()
mkurtosis(m, 8d)
label col1 col2
2020.04.07
2020.04.08
2020.04.09 1.5 1.5
2020.04.10 2.3195 1.64
2020.04.11 3.2251 1.7
2020.04.12 4.163 1.7314
2020.04.13 5.1141 1.75
2020.04.14 3.9897 1.7619
2020.04.15 3.9898 1.7619
2020.04.16 6.1402 6.1017
mkurtosis(m, 1w)
label col1 col2
2020.04.07
2020.04.08
2020.04.09 1.5 1.5
2020.04.10 2.3195 1.64
2020.04.11 3.2251 1.7
2020.04.12 4.163 1.7314
2020.04.13 5.1141 1.75
2020.04.14 3.4937 1.75
2020.04.15 3.4937 1.75
2020.04.16 5.1645 5.145

DolphinDB 的 kurtosis 默认情况(当 biased=true 时)存在偏差,而 pandas 的 kurt 默认为无偏估计,且减去正态分布的峰值3。下面例子示意了使用滑动窗口时,两者的等价转换关系:

python
m = [[1111,2], [323,9], [43,12], [51,32], [6,400]]
df = pandas.DataFrame(m)
y = df.rolling(4).kurt()

dolphindb
m=matrix(1111 323 43 51 6, 2 9 12 32 400)
m.mkurtosis(4, false)-3
#0 #1

2.504252 2.366838
3.675552 3.941262

相关函数:kurtosis