Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 外れ値のためのIQRの使用 | セクション
データ分析のための統計学

book外れ値のためのIQRの使用

メニューを表示するにはスワイプしてください

四分位範囲(IQR)は、データセット内の外れ値を検出するための強力な手法。IQRを用いた外れ値検出の標準的なルールは、1.5×IQRルールとして知られている。このルールによれば、第1四分位数(Q1)から1.5倍のIQRを引いた値よりも小さい、または第3四分位数(Q3)に1.5倍のIQRを加えた値よりも大きいデータポイントは外れ値と見なされる。計算方法は以下の通り:

  • 下限値:Q1 - 1.5 * IQR;
  • 上限値:Q3 + 1.5 * IQR

この手法は、データの中央50%の広がりに基づいているため、極端な値に対して頑健。平均値や標準偏差に基づく方法とは異なり、IQRを用いることで異常に大きいまたは小さい値の影響を受けにくく、歪んだ分布や異常値を含むデータにも適している。

123456789101112131415161718
import pandas as pd # Sample dataset data = {'value': [10, 12, 12, 13, 12, 14, 2, 12, 15, 12, 30]} df = pd.DataFrame(data) # Calculate Q1, Q3, and IQR Q1 = df['value'].quantile(0.25) Q3 = df['value'].quantile(0.75) IQR = Q3 - Q1 # Calculate bounds lower_bound = Q1 - 1.5 * IQR upper_bound = Q3 + 1.5 * IQR # Identify outliers df['is_outlier'] = (df['value'] < lower_bound) | (df['value'] > upper_bound) print(df)
copy
123456789101112
import matplotlib.pyplot as plt import seaborn as sns # Create boxplot plt.figure(figsize=(6, 2)) sns.boxplot(x=df['value'], color="skyblue") # Overlay outliers outliers = df[df['is_outlier']] sns.stripplot(x=outliers['value'], color="red", size=8, marker="D", label="Outliers") plt.legend() plt.title("Boxplot with IQR-Detected Outliers Highlighted") plt.show()
copy

箱ひげ図は、IQR法が外れ値を検出する方法を明確に視覚的に要約:

  • は四分位範囲(IQR)を表し、データの中央50%の広がりを示す;
  • ひげは1.5×IQRの範囲内にある最も極端な値まで伸びる;
  • 外れ値はひげの外側に個別の点として現れ、主要なデータ群から簡単に識別・分離できる。

このIQRベースの手法は、異常値の存在に影響されずに異常な値を分離。平均や標準偏差を用いる方法と異なり、IQR法はデータが歪んでいたり極端な値を含んでいても頑健。これにより、実際のデータセットで信頼性の高い外れ値検出に好まれる方法となる。

question mark

1.5×IQRルールはデータセット内で何を特定するのに役立つか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  33

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  33
some-alt