MATLAB を使用して箱ひげ図から外れ値を特定しようとしています。この関数のデフォルトのウィスカー値は 1.5 で、+- 2.7*シグマまたは 99.3 のカバレッジを提供します。ただし、99.7 または 3*シグマのカバレッジが必要です。この場合、ウィスカーの価値は何でしょうか? 無作為に推測したくなかったので、皆さんの助けが必要です。ありがとう
質問する
6643 次
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)
ウィキペディアから借用した図は次のとおりです。
于 2012-07-29T01:48:16.493 に答える