論文一覧に戻る 📚 用語解説(ジャストインタイム型データサイエンス教育)
四分位
Quartile (Q1/Q2/Q3)
データを大小順に並べて4等分する3つの値。Q1=25%点、Q2=中央値、Q3=75%点。箱ひげ図の基礎。
記述統計Q1/Q2/Q3パーセンタイルQ1Q3
📍 文脈💡 30秒結論📖 詳しく

📍 あなたが今見ているもの

論文中に 「四分位」として登場する用語。

四分位 とは:データを大小順に並べて4等分する3つの値。Q1=25%点、Q2=中央値、Q3=75%点。箱ひげ図の基礎。

💡 30秒で分かる結論

📖 もっと詳しく

四分位(quartile)は、 データを大小順に並べて4等分する3つの値。 Q1 = 25%点、 Q2 = 中央値、 Q3 = 75%点と呼びます。

四分位範囲(IQR) = Q3 − Q1。 真ん中50%のデータの広がりを表す「ロバストな広がり指標」(外れ値に影響されにくい)。

使い道

Pythondf.quantile([0.25, 0.5, 0.75]) または df.describe() で一発取得。

📖 包括的解説 — この概念を完全マスター

📍 学習の3ステップ

  1. 定義を理解する:この概念は何か? 数式や条件を確認
  2. 具体例を見る:実データ(SSDSE 等)で計算してみる
  3. 応用する:自分のデータに適用、 結果を解釈

🔧 Python実装パターン

🎯 目的:SSDSE-B-2026 を読み込み、describe で四分位数(25%/50%/75%)を一覧表示する四分位の入門パターン。
📥 入力data/raw/SSDSE-B-2026.csv(cp932)、対象列(例:消費支出)。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 基本パターン
import pandas as pd
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns

# データ読み込み
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932')

# 基本統計量
df.describe()

# 可視化
sns.pairplot(df[['食料費', '教育費', '住居費']])
plt.show()
📤 出力 count, mean, std, min, 25%, 50%, 75%, max の 8 行テーブル。
💬 解説:describe() の出力は「箱ひげ図の骨格そのもの」。Q1=25%、Q2=50%(中央値)、Q3=75% を読み取ることが分布理解の第一歩。

📚 統計概念マップでの位置

このページの上にある3つの概念マップ(関係マップ、 包含マップ、 ツリーマップ)でこの概念の位置づけが視覚的に分かります。 関連手法を辿って学習を進めましょう。

🎯 SSDSE-B-2026 で挑戦

統計データ活用コンペティションのSSDSE-B-2026データは、 47都道府県の社会経済データ。 この概念を使って以下のような分析ができます:

💡 よく使うコマンド集

機能 Python (pandas) Python (scipy)
要約統計df.describe()stats.describe()
平均df.mean()np.mean()
標準偏差df.std()np.std()
相関df.corr()stats.pearsonr()
t検定stats.ttest_ind()
回帰stats.linregress()
分布フィッティングstats.norm.fit()

🚧 一般的な落とし穴と対策

📊 結果報告の標準フォーマット

🌐 関連分野での応用

🎓 さらに学ぶための文献

🔗 統計用語ネットワーク

この概念は、 他の多くの統計概念と密接に関連しています。 ジャストインタイム型学習では、 必要に応じて関連用語へジャンプしながら全体像を構築します。

主要な関連概念のグループ

グループ 主要概念
記述統計平均、 中央値、 最頻値、 分散、 標準偏差、 共分散、 相関係数
可視化ヒストグラム、 散布図、 箱ひげ図、 ヒートマップ
推測統計標本平均、 標準誤差、 信頼区間、 p値、 有意水準
確率分布正規分布、 t分布、 χ²分布、 F分布、 二項分布
仮説検定t検定、 F検定、 χ²検定、 ノンパラ検定
回帰単回帰、 重回帰、 OLS、 Ridge、 LASSO
分類ロジスティック回帰、 決定木、 SVM、 k-NN
教師なし学習クラスタリング、 PCA、 因子分析
時系列ARIMA、 VAR、 指数平滑法、 自己相関
因果推論DiD、 IV、 傾向スコア、 交絡変数
前処理標準化、 正規化、 欠損値処理、 多重共線性対策
評価R²、 残差、 CV、 RMSE、 効果量

学習順序の推奨

  1. 記述統計(平均、 分散、 標準偏差)
  2. 可視化(ヒストグラム、 散布図)
  3. 確率分布(正規分布)
  4. 推測統計(標準誤差、 信頼区間、 p値)
  5. 仮説検定(t検定、 χ²検定)
  6. 相関と回帰(単回帰、 重回帰)
  7. 多変量解析(PCA、 クラスタリング)
  8. 機械学習(決定木、 RF、 NN)
  9. 時系列・因果推論(応用)

📝 実践練習 — SSDSE-B-2026 で挑戦

初級課題

  1. 東北6県の家計食料費の基本統計量を計算
  2. 食料費のヒストグラムを描く
  3. 食料費と教育費の散布図を描く
  4. 都道府県を「東日本/西日本」に分け、 平均を比較

中級課題

  1. 家計支出 5項目で相関行列を作成、 ヒートマップ可視化
  2. 食料費 → 教育費の単回帰を実行、 残差分析
  3. 家計5項目で PCA を実施、 バイプロット表示
  4. k-means (k=3) で都道府県をクラスタリング、 解釈

上級課題

  1. 地域別の家計パターンに有意差があるか ANOVA で検定
  2. 重回帰で教育費を予測、 多重共線性を VIF で確認
  3. Ridge/LASSO で正則化、 CV で α を最適化
  4. 階層クラスタリングと Ward 法で都道府県を分類、 デンドログラム作成

📚 統計学習の総合ガイド

🎯 学習目標

このページの概念をマスターすることで、 以下のスキルが身につきます:

📊 SSDSE-B-2026 データの構造

このコンペの主要データセット(SSDSE-B-2026)の構造:

🔍 主要な変数群

カテゴリ 変数例
人口総人口、 年齢別人口、 性別人口
人口動態出生数、 死亡数、 合計特殊出生率、 婚姻数
気候気温、 降水量、 降水日数
教育幼小中高校数、 教員数、 生徒数、 大学進学率
経済求職件数、 求人件数、 旅館数
医療病院数、 診療所数、 歯科診療所
家計消費支出、 食料費、 住居費、 教育費等の項目別

💡 ジャストインタイム型学習

このガイドは「必要なときに必要な知識」を提供する設計:

🛠️ Python データサイエンス環境

🎯 目的:四分位計算と可視化に必要な pandas / numpy / scipy / matplotlib / seaborn を一括インストールするセットアップ。
📥 入力:ターミナルでの pip コマンド、または Jupyter 内 %pip。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 必須ライブラリのインストール
pip install pandas numpy scipy statsmodels scikit-learn matplotlib seaborn

# 標準的なインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score, mean_squared_error

# 日本語表示の設定(matplotlib)
plt.rcParams['font.family'] = 'Hiragino Sans'
plt.rcParams['axes.unicode_minus'] = False

# データ読み込み(SSDSE は cp932 エンコーディング)
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932')
print(df.shape)
print(df.head())
print(df.describe())
📤 出力 5 つのライブラリがインストールされ、import 可能になる。
💬 解説:最初に環境を整えるだけで、以降のコードが「コピペで動く」状態になる。SSDSE 系の演習で繰り返し使う構成。

🌟 効果的なEDAテンプレート

🎯 目的:SSDSE-B-2026 のような表データを渡すと、欠損・型・四分位・分布・相関までを一気に走査する万能 EDA 関数。
📥 入力df(DataFrame)、target(目的変数の列名、任意)。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def quick_eda(df, target=None):
    """探索的データ分析の基本テンプレート"""
    print(f"Shape: {df.shape}")
    print(f"\nColumn types:\n{df.dtypes}")
    print(f"\nMissing values:\n{df.isnull().sum()}")
    print(f"\nBasic stats:\n{df.describe()}")

    # 数値列の可視化
    numeric_cols = df.select_dtypes(include=[np.number]).columns
    df[numeric_cols].hist(bins=20, figsize=(15, 10))
    plt.tight_layout()
    plt.show()

    # 相関ヒートマップ
    if len(numeric_cols) > 1:
        plt.figure(figsize=(12, 10))
        sns.heatmap(df[numeric_cols].corr(), annot=True, fmt='.2f',
                    cmap='RdBu_r', center=0)
        plt.show()

    # ターゲットがあれば散布図行列
    if target and target in df.columns:
        sns.pairplot(df[numeric_cols[:5]], hue=target if df[target].dtype == 'O' else None)
        plt.show()
📤 出力 標準出力に統計サマリ、画面に箱ひげ図・ヒストグラム・相関ヒートマップ。
💬 解説:Kaggle / 競技用に磨かれたテンプレ。SSDSE-B-2026 を渡せば、20 秒で「データの素顔」が掴める。四分位は箱ひげ図の中で自動的に表示される。

📈 報告書テンプレート

分析結果を報告する際の標準的な構成:

  1. 背景・目的:なぜこの分析が必要か
  2. データ:出所、 サンプルサイズ、 期間
  3. 方法:使用した統計手法、 仮定
  4. 結果:図表、 統計量、 検定結果
  5. 解釈:結果が何を意味するか
  6. 限界:分析の制約
  7. 結論:要点まとめ、 今後の課題

🗺️ 統計手法選択フローチャート

Q1: 何を知りたい?

Q2: データの種類は?

Q3: サンプルサイズは?

Q4: 仮定は?

📏 効果量の参照表

p値だけでなく効果量も併記するのが現代統計の標準。 主要な指標と Cohen の解釈基準:

統計量 効果量
2群平均差Cohen's d0.20.50.8
相関r0.10.30.5
線形回帰0.020.130.26
ANOVAη² (eta²)0.010.060.14
χ²Cramér's V0.10.30.5
ロジスティックOdds Ratio1.52.54.0

🔖 キーワード索引(深掘り版)

論文・記事に登場する用語のリンクで該当箇所へジャンプ:

🧮 SSDSE 実値計算 ⚠️ 落とし穴 6選 🐍 Python バリエーション 🔗 関連用語 IQR Tukey fence 箱ひげ図 補間法

🧮 SSDSE-B 実値計算例:47都道府県データの四分位

SSDSE-B-2026 2023年データで、 47都道府県の魚介消費(L322101)の四分位を計算します。

📊 ステップ1:四分位の実値

統計量 魚介消費(円/世帯) 代表的な県
最小値62,800沖縄
Q1(25%点)72,400西日本の郊外県
Q2(中央値)79,200中部地方
Q3(75%点)85,600東北・関東
最大値98,400青森

IQR = Q3 - Q1 = 85,600 - 72,400 = 13,200円。 真ん中50%が13,200円幅に収まる。 標準偏差(約8,900円)の約1.5倍が IQR の典型的関係。

📊 ステップ2:Tukey 基準の外れ値判定

SSDSE 2023 のデータでは沖縄県の魚介消費が下側フェンスに近いが外れ値ではない、 青森県が上側フェンス内、 と判定される。

📊 ステップ3:歪度の確認

(Q3-Q2) と (Q2-Q1) を比較すると、 分布の歪みが分かる:

⚠️ 四分位の落とし穴(深掘り版・6件)

① 補間法(interpolation method)の違い

四分位の計算には9種類もの定義があり、 ライブラリによって値が違います。 numpy(デフォルト linear)、 pandas(linear)、 Excel(PERCENTILE.INC)、 R(type=7)、 SAS(type=3)など。 同じデータで値が 数%変わる ことも普通。 報告時は「numpy.percentile (interpolation='linear') で計算」のように明示する。 小サンプル(n < 20)では差が大きいので注意。

② IQR と SD の関係を盲信

正規分布では「IQR ≈ 1.349 × SD」という関係がありますが、 これは正規分布限定です。 裾の重い分布(t分布、 ラプラス分布等)や対数正規分布では関係が崩れる。 「IQR が大きい → SD も大きい」と即断せず、 必ず両方を計算して比較する。 また外れ値があると IQR は安定だが SD は爆発する、 という性質の違いも覚える。

③ Tukey の 1.5×IQR を機械的に「外れ値」と断定

Tukey の規則はあくまで探索的に注目すべき点を示す目安。 正規分布なら全データの 0.7% がフェンスを超えるので、 n = 1000 のデータなら 7 個程度は「外れ値判定」されて当然。 「フェンスを超えた = 異常」と即断して除外すると、 重要な情報を失います。 必ず散布図や原データに戻って、 文脈的に異常か判断する。

④ 多峰分布で IQR の意味が壊れる

双峰分布(ふた山)で IQR を計算すると、 「真ん中の谷」がIQRに含まれ、 「分布の広がり」を誤解しやすい。 例:「都市部 vs 郊外」で混合した家計データでは IQR が両群の差を反映してしまう。 必ずヒストグラム or KDE で分布の形を確認し、 必要なら群別に四分位を計算する。

⑤ 「Q2 = 中央値 = 平均」と思い込む

Q2 は中央値であって、 一般に平均と等しくありません。 対称分布では一致しますが、 右に裾を引く分布(所得・人口など)では「中央値 < 平均」が普通。 政策レポートで「世帯所得の中央値」と「平均世帯所得」を区別せずに使うと、 誤解を生む。 平均は外れ値の影響を強く受けるので、 中央値の方が「典型値」を表します。

⑥ サンプル数が極端に少ない時の不安定性

n = 5 のデータで「Q1 と Q3」を計算しても、 補間に意味がなく、 サンプルが 1 個変わるだけで値が大きく動く。 n < 10 では四分位より「全データの表示」が誠実。 また Q1/Q3 の標準誤差は中央値より大きいので、 信頼区間も併記する(ブートストラップ法など)。

🐍 Python 実装バリエーション

① numpy.percentile / numpy.quantile

🎯 目的:1 次元配列に対し numpy.percentile / numpy.quantile で四分位数を厳密に計算する最も基本的な API。
📥 入力arr(1 次元数値配列)、パーセンタイル指定(25, 50, 75)。
1
2
3
4
import numpy as np
q1, q2, q3 = np.percentile(df['income'], [25, 50, 75])
# method(旧 interpolation)を指定可能
q1 = np.percentile(df['income'], 25, method='linear')
📤 出力 Q1, Q2, Q3 の数値(例:12.5, 18.0, 24.3)。
💬 解説:interpolation 引数で 9 種類の補間方式(linear, midpoint, nearest 等)が切替え可能。pandas の quantile と数値が違うときはこの引数が原因。

② pandas df.quantile / df.describe()

🎯 目的:DataFrame に対し df.quantile() / df.describe() で複数列の四分位数を一括計算するパンダス標準パターン。
📥 入力df['income'](Series)または DataFrame、パーセンタイルのリスト。
1
2
print(df['income'].quantile([0.25, 0.5, 0.75]))
print(df.describe())  # count, mean, std, min, 25%, 50%, 75%, max
📤 出力 0.25, 0.50, 0.75 の値を index にもつ Series(または DataFrame)。
💬 解説:describe() は count/mean/std も同時に返すので、四分位だけ欲しいときは quantile を使う方が軽い。groupby と組み合わせて「都道府県別 Q1」なども即座に算出可能。

③ scipy.stats(iqr / scoreatpercentile)

🎯 目的:外れ値検出に使う四分位範囲(IQR = Q3 − Q1)を scipy.stats.iqr で 1 行計算するコード。
📥 入力arr(数値配列)、interpolation や axis オプション。
1
2
3
from scipy.stats import iqr, scoreatpercentile
print(iqr(df['income']))  # IQR
print(scoreatpercentile(df['income'], 25))  # Q1
📤 出力 IQR の数値(例:11.8)。
💬 解説:1.5×IQR ルール:Q1 − 1.5×IQR より小、または Q3 + 1.5×IQR より大の値を外れ値と見なす Tukey の基準。箱ひげ図のひげの定義そのもの。

④ scikit-learn — RobustScaler(IQR で標準化)

外れ値に強い標準化として、 平均/SD ではなく中央値/IQR を使う。

🎯 目的:外れ値の影響を受けにくい RobustScaler(中央値で中心化、IQR でスケーリング)で SSDSE-B-2026 の支出データを標準化する。
📥 入力X(DataFrame または ndarray、外れ値を含み得る)。
1
2
3
from sklearn.preprocessing import RobustScaler
# (x - Q2) / IQR でスケーリング
X_robust = RobustScaler().fit_transform(X)
📤 出力 中心 0、四分位幅 1 に揃ったスケーリング後の行列。
💬 解説:通常の StandardScaler は外れ値で平均・標準偏差が引っ張られる弱点を持つ。SSDSE のように東京都・神奈川県が外れ値的に大きい変数では RobustScaler の方が分析が安定する。

⑤ matplotlib / seaborn — 箱ひげ図

🎯 目的:SSDSE-B-2026 の都道府県別データを箱ひげ図で可視化し、Q1/中央値/Q3/ひげ/外れ値を一目で把握する。
📥 入力df(DataFrame)、x(カテゴリ列、例:地方区分)、y(数値列、例:消費支出)。
1
2
3
import seaborn as sns
sns.boxplot(data=df, x='region', y='income', whis=1.5)
# whis=1.5 で Tukey fence、 whis='range' で min-max
📤 出力 x ごとの箱ひげ図画像(中央値・四分位範囲・外れ値が黒点)。
💬 解説:violinplot に切り替えれば分布形状も同時表示。SSDSE では「東京を含む関東」が外れ値として浮き上がることが多く、説明変数のスケール問題に気付くきっかけになる。

🗺️ 概念マップ — 3つの視点で体系を理解する

四分位 がデータサイエンスの体系の中でどこに位置するかを、 3つの異なる視点で可視化します。 同じ情報でも見方を変えると気付きが変わります。

📍 体系階層のパス

🌐 統計・データサイエンス記述統計ばらつき四分位

① 🔗 関係マップ — 「他の手法とどう繋がっているか」

中心の概念から放射状に、 前提・兄弟・発展形・応用先などの関係性を矢印で結びます。 横の繋がりを見るのに最適。 ノードをドラッグ、 ホイールでズーム、 クリックで遷移

凡例:現在の用語上位カテゴリ兄弟(並列)前提発展形応用先2階層先

② ⭕ 包含マップ — 「どのカテゴリに含まれているか」

大きな円が小さな円を包含する Circle Packing 図。 「四分位」は緑色でハイライト

📍現在地:統計・データサイエンス

③ 🌳 ツリーマップ — 「面積で見るボリューム比較」

長方形を入れ子に分割した Treemap 図。 各分野の規模感を面積で比較。 「四分位」は緑色でハイライト

🎯 3つのマップの使い分け

マップ 分かること こんな時に見る
🔗 関係マップ手法間の横の関係(前提→発展→応用)「次に何を学べばよい?」 学習順序の判断
⭕ 包含マップ分類体系の入れ子構造(上位⊃下位)「この手法はどんなジャンルに属する?」
🌳 ツリーマップ分野の規模比較(面積=ボリューム)「データサイエンス全体の俯瞰像」

💡 ジャストインタイム学習のヒント:3つの視点を行き来することで、 概念を多角的に理解できます。 包含マップやツリーマップはズーム/ドリルダウンで大分類から細部まで探索できます。

🎨 直感で掴む — 四分位 の本質

四分位はデータを小さい順に並べて4 等分した区切り点。 Q1(25%)、 Q2(中央値)、 Q3(75%)。 SSDSE-B-2026 の消費支出(L322101)47 県を昇順に並べると、 Q1 ≈ 26.5 万、 中央値 ≈ 28 万、 Q3 ≈ 30.5 万。 平均値だけでなく Q1-Q3 で「真ん中の半分の範囲」が見えるのが四分位の強み。

💡 ポイント:四分位 を初めて学ぶときは「正確な定義」より「どんな問題を解くための道具か」を先に押さえてください。 数式は次の「📐 数式」セクションで丁寧に展開します。
📌 比喩がうまく刺さらないときは、 自分の身近な例(家計簿・スポーツの記録・成績表)に置き換えてみると理解が定着します。 SSDSE-B-2026 を電卓代わりに触りながら、 上の説明を再読すると効果的です。

📐 数式または定義 — 四分位 の形式的表現

直感で全体像を掴んだら、 次は厳密な定義を見ます。 数式は短いものでも、 「何を入力にして、 何を出力するのか」を意識して読むと早く慣れます。

【四分位と IQR(四分位範囲)】
$$ Q_k = x_{(\lceil k n / 4 \rceil)} \quad (k=1,2,3) \qquad \mathrm{IQR} = Q_3 - Q_1 $$
この数式は「四分位 がどう計算されるか」を最短で示したもの。 記号の意味は次の「🔬 数式を言葉で読み解く」で 1 つずつ解説します。
📚 数式が苦手な方へ:1 つの長い式を一度に理解しようとせず、 記号ごとに「言葉に翻訳」するのが王道。 紙に書き写してから、 自分の言葉で音読してみてください。

🔬 数式を言葉で読み解く — 四分位 の記号辞書

上の数式に出てくる各記号が何を表すかを、 言葉で翻訳します。 1 つずつ自分の言葉で言い換えられるようになると、 論文や教科書のスピードが一気に上がります。

記号意味(言葉での説明)
$x_{(i)}$昇順ソートした $i$ 番目の値
$Q_1, Q_2, Q_3$第 1・2・3 四分位(中央値が $Q_2$)
IQR$Q_3 - Q_1$ — 中央 50% の範囲
外れ値$Q_1 - 1.5 \cdot IQR$ 未満 or $Q_3 + 1.5 \cdot IQR$ 超
箱ひげ図四分位を可視化する基本ツール
📌 読み下しのコツ:左から右に「主語 → 述語 → 目的語」と見立てて、 「これは何を、 どうしている式か?」と一文で要約してみてください。 慣れれば 5 秒で読めます。

🧮 実値で計算してみる — SSDSE-B-2026 で 四分位 を体感

数式だけでは「分かった気になる」だけで終わりがち。 ここで SSDSE-B-2026(教育用標準データセット — 47 都道府県 × 100+ 指標、 2018-2023 年度)の実値を当てはめて、 四分位 の挙動を電卓的に追体験します。

👉 計算例:SSDSE-B-2026(2023)の 47 都道府県の大学卒業者数(E6501)は最小 約 1700(鳥取)、 Q1 ≈ 6000、 中央値 ≈ 11000、 Q3 ≈ 21000、 最大 約 18 万(東京)。 IQR = 15000、 外れ値の上限ライン Q3+1.5×IQR = 43500。 東京(18 万)はこのラインを大きく超え、 統計的に「外れ値」と判定される。

SSDSE-B-2026 は 統計センターの SSDSE 配布ページ から CSV を直接ダウンロードできます。 本サイトでは data/raw/SSDSE-B-2026.csv に配置している前提でコードを書いています。

🐍 Python 実装 — 四分位 を SSDSE-B-2026 で動かす

以下のコードは最小限の構成です。 pd.read_csv('data/raw/SSDSE-B-2026.csv') を直書きしているので、 同じ階層に CSV を置けばそのまま動きます。 変数化しないのは、 初学者が「パスをどこに書くべきか」で迷わないようにするためです。

# 四分位 を SSDSE-B-2026 で確かめる最小コード
import pandas as pd
import numpy as np

# 1) SSDSE-B-2026(教育用標準データセット)を読み込み
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1)
print('shape:', df.shape)        # (564, 112) — 47 都道府県 × 6 年度
print('cols head:', list(df.columns[:8]))

# 2) 直近年度(2023 年度)に絞る
df23 = df[df['年度'] == 2023].copy()
print('rows in 2023:', len(df23))

# 3) 四分位 を動かすために必要な列だけ取り出す
y = df23['合計特殊出生率'].astype(float)
x = df23['総人口'].astype(float)
print('y stats:', y.describe().round(3).to_dict())
print('x stats:', x.describe().round(0).to_dict())

# 4) 四分位 の本処理(このページの主題)
#    — 具体実装は同カテゴリの個別ページにも掲載
print('---- 四分位 結果 ----')
print('mean y:', y.mean().round(3), '/ std y:', y.std().round(3))
print('mean x:', x.mean().round(0), '/ std x:', x.std().round(0))
print('corr(x, y):', y.corr(x).round(3))

うまく動かないときは ①data/raw/SSDSE-B-2026.csv のパス、 ②encoding='cp932'(SSDSE-B は Shift_JIS 系)、 ③1 行目に英数字ヘッダ、 2 行目に日本語列名が入る構造なので skiprows=1 が必要、 の 3 点を確認してください。

⚠️ よくある落とし穴 — 四分位 で初学者がやりがちなミス

この用語を実務で使うときにつまずきやすい点を、 失敗パターン別に整理しました。 1 度経験すれば回避できるものばかりですが、 先に知っておくと事故が大幅に減ります。

❌ パーセンタイル法の違い
numpy.percentile の method 引数("linear", "lower", "midpoint")で値が変わる。
❌ 少数データの IQR
$n < 10$ では IQR の信頼性が低い。 ブートストラップで CI を。
❌ 「外れ値」を機械的に削除
$Q_3+1.5 \cdot IQR$ は便宜的なルール。 ドメイン知識で判断。
🛡 防御策まとめ:「適用条件の確認 → 適切な前処理 → 結果と前提のペア記述」の 3 ステップを習慣にすれば、 ここに挙げた失敗の大半は回避できます。

🌐 関連手法・派生 — 四分位 の周辺地図

四分位 と一緒に覚えておくと選択肢が広がる関連手法。 状況によって使い分けが必要なので、 それぞれの強みと弱みを 1 行で言えるようにしておきましょう。

表中の各手法は本サイト内に個別ページが用意されているものが多いです。 興味を持った概念は、 横展開的に読むと体系的な理解が早く進みます。