分位数函数 Julia 与 Matlab

Mar*_*wil 5 statistics matlab quantile julia

我最近才发现Julia 和 Matlab 中对quantile()有不同的定义。我无法对齐这两个定义,并且总是得到不同的结果。

有谁知道为什么会出现这种情况以及如何调整他们的定义?

我尝试了以下方法:

A = [0.5377,    1.8339 ,  -2.2588 ,   0.8622 ,   0.3188,   -1.3077,   -0.4336];
Q = quantile(A,0.3);
Run Code Online (Sandbox Code Playgroud)

结果是Q = -0.7832。当我在 Julia 统计库中写下同样的内容时:

A = [0.5377,    1.8339 ,  -2.2588 ,   0.8622 ,   0.3188,   -1.3077,   -0.4336];
Q1 = quantile(A,0.3);
Q2 = quantile(A,0.3,sorted=true);
Run Code Online (Sandbox Code Playgroud)

结果是Q1=-0.60842Q2 = -1.44026。我也尝试过使用 alpha 和 beta 参数,但这非常乏味,而且我无法知道我选择的参数是否保持在整个范围内。

Bog*_*ski 7

设置alpha=beta=0.5为 Matlab 使用类型 5 分位数定义。

请注意,尽管其他软件(如 R 或 Python)使用与 Julia 相同的默认值(alpha=1beta=1)。