2

MATLAB を使用して箱ひげ図から外れ値を特定しようとしています。この関数のデフォルトのウィスカー値は 1.5 で、+- 2.7*シグマまたは 99.3 のカバレッジを提供します。ただし、99.7 または 3*シグマのカバレッジが必要です。この場合、ウィスカーの価値は何でしょうか? 無作為に推測したくなかったので、皆さんの助けが必要です。ありがとう

4

1 に答える 1

6

一般に、次のようにします。

Q1 = icdf('norm',0.25,0,1);
Q3 = icdf('norm',0.75,0,1);
IQR = Q3-Q1;
  • 定数がある場合k(デフォルトではBOXPLOTk=1.5はウィスカーの長さを持っています)、IQR 外れ値検定は範囲外の値を識別します:[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)
    

ウィキペディアから借用した図は次のとおりです。

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

于 2012-07-29T01:48:16.493 に答える