データ分析実践
上級問題チェック
問題 24 /40
正規分布と2σ範囲による外れ値の確認について、誤った説明はどれか。
選択 1
グラフがベルカーブであれば正規分布と言える。
選択 2
正規分布の場合、標準偏差の2倍の範囲に約95%のデータが含まれる。
選択 3
正規分布の場合、両端の2.5%は外れ値と言える。
選択 4
シャピロ・ウィルク検定で外れ値を特定できる。
解説
選択肢4が正解です。
シャピロ・ウィルク検定はデータが正規分布かどうかを判定するもので、外れ値は特定できません。
正規分布と2σ範囲による外れ値の確認方法について、次のDataFrameを使って解説します。
df = pd.DataFrame(
{'点数': [44, 55, 59, 65, 68, 70, 75, 80, 85, 99]})
▶︎
このデータをグラフにすると、次のようなベルカーブを描くので、正規分布といえます。
平均が70点、標準偏差が±13点、標準偏差の2倍が±26点です。
正規分布の場合、標準偏差の2倍の範囲に約95%のデータが含まれるため、残りの5%が外れ値と言えます。グラフでは両端の2.5%が外れ値です。
データが正規分布かどうかはグラフにすればわかりますが、数値で判定する場合はシャピロ・ウィルク検定を使います。関数は、scipyライブラリのshapiro関数を使います。
import scipy.stats as stats
stats.shapiro(df['点数'])
▶︎
ShapiroResult(statistic=0.9950668811798096, pvalue=0.9998215436935425)
pvalueの値が0.05より大きい場合は有意となり、正規分布と言えます。
正規分布であれば両端の2.5%が外れ値になるため、quantileメソッドで閾値が出せます。
df.quantile(q=[0.025, 0.975])
▶︎
これで、46.475点より下と、95.58点より上が外れ値と分かるため、インデックス0の44点と、インデックス9の99点が外れ値と特定できます。
(公式書籍 p.184-185)
このデータをグラフにすると、次のようなベルカーブを描くので、正規分布といえます。

これで、46.475点より下と、95.58点より上が外れ値と分かるため、インデックス0の44点と、インデックス9の99点が外れ値と特定できます。
(公式書籍 p.184-185)