我最近才发现 Julia 和 Matlab 中对 quantile() 有不同的定义。 我无法对齐这两个定义并且总是得到不同的结果。
有人知道为什么会出现这种情况以及如何调整他们的定义吗?
我尝试了以下方法:
A = [0.5377, 1.8339 , -2.2588 , 0.8622 , 0.3188, -1.3077, -0.4336];
Q = quantile(A,0.3);
导致 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);
导致 Q1=-0.60842 和 Q2 = -1.44026。我也尝试过使用 alpha 和 beta 参数,但这非常乏味,而且我无法知道我选择的参数是否保持在整个范围内。
设置
alpha=beta=0.5
,因为 Matlab 使用类型 5 分位数定义。
请注意,尽管其他软件(如 R 或 Python)使用与 Julia 相同的默认值(
alpha=1
和 beta=1
)。