matlab - 99.7 覆盖率的箱线图中 mustache 的值

标签 matlab statistics boxplot normal-distribution outliers

我正在尝试使用 MATLAB 从箱线图中识别离群值。该函数的默认晶须值为 1.5,可提供 +- 2.7*sigma 或 99.3 的覆盖率。 但是,我想要 99.7 或 3*sigma 的覆盖率。在这种情况下,晶须的值(value)是多少? 我不想随意猜测,所以需要你们的帮助。 谢谢

最佳答案

一般来说,让:

Q1 = icdf('norm',0.25,0,1);
Q3 = icdf('norm',0.75,0,1);
IQR = Q3-Q1;
  • 现在,如果您有一个常量 k(BOXPLOT 的晶须长度默认为 k=1.5),那么 IQR outlier test将范围外的值识别为:[Q1 - k*IQR, Q3 + k*IQR] 作为离群值,对应于:

    >> k = 1.5;
    >> sdCov = [Q1 - k*IQR, Q3 + k*IQR]      %# +/-2.698*sigma coverage
    sdCov =
           -2.698        2.698
    

    或(根据曲线下面积):

    >> area = 2*normcdf(sdCov(2), 0, 1)-1    %# 99.3% coverage
    area =
           0.99302
    
  • 在相反的方向,如果你想要一个sdCov*sigma 覆盖范围,那么:

    >> sdCov = 3;
    >> k = (Q1+sdCov)/IQR
    k =
           1.7239
    

    或:

    >> area = 0.9973;
    >> sdCov = norminv(1-(1-area)/2);
    >> k = (Q1+sdCov)/IQR
    

    因此在您的情况下使用以下内容:

    boxplot(data, 'whisker',1.7239)
    

这是从 Wikipedia 借来的插图:

http://en.wikipedia.org/wiki/Interquartile_range

关于matlab - 99.7 覆盖率的箱线图中 mustache 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11698876/

相关文章:

R:海量数据帧的简单随机样本

r - 如何在 ggplot2 boxplot 中为每组添加多个观察值并使用组均值?

r - 使用ggplot2更改R中的x轴刻度标签

matlab - 非线性函数参数估计——matlab、lsqnonlin、fzero

string - 将字符串/字符转换为 uint8

C 函数和 RTLAB

sql-server - 如何查看SQL Server表的读/写统计信息?

matlab - 如何并行运行 MATLAB 脚本(即在多个内核上且不使用 parfor)?

c++ - 堆分配的回溯统计信息——从哪里调用以及调用了多少次?

python - 如何在一系列箱形图中的箱形图旁边显示数值平均值和标准值?