論文一覧に戻る 📚 用語集トップ 🗺 概念マップ
📚 用語解説(ジャストインタイム型データサイエンス教育)
データリテラシー
Data Literacy
データを読み・使い・批判的に評価する力 — すべての分析の土台
リテラシープロセス問い批判的思考

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

本ページでは、 データリテラシーを統合的に解説します。 PPDAC サイクルCRISP-DM問いの設計EDA変数の尺度批判的読解を一気通貫で扱います。

「どの手法を使うか」よりその前段のリテラシーが、 分析の質を決定します。 数理・データサイエンス・AI モデルカリキュラム(MDASH)でも導入科目として位置づけられています。

🔖 🔖 キーワード索引(チップから該当箇所へジャンプ)

論文記事から各用語のリンクをクリックすると、 該当箇所が開きます:

データリテラシーとは PPDACサイクル CRISP-DM 良い問いの作り方 EDA 変数の尺度 データ型 Tidy data データ品質 欠損 標本バイアス 測定の歪み 可視化リテラシー 統計でうそをつく オープンデータ 再現可能性

💡 30秒で分かる結論

📐 定義・数式 — Tidy data と尺度

Tidy data の定義は数学的に 「観測 $\times$ 変数」の長方形構造」。 SSDSE-B-2026 の整然形は:

$$ \text{Tidy}(D) : D \in \mathbb{R}^{n \times p}, \quad D_{ij} = (\text{Prefecture}_i, \text{Variable}_j, \text{Value}_{ij}) $$

変数の尺度水準は Stevens の階層

$$ \text{Nominal} \subset \text{Ordinal} \subset \text{Interval} \subset \text{Ratio} $$

SSDSE-B-2026 の Prefecture は 名義尺度、 「年齢階級」は 順序尺度、 「気温」は 間隔尺度、 「人口・出生数」は 比例尺度。 上位の尺度ほど許容される統計操作(差・比・平均)が多くなります。

🔬 数式を言葉で読み解く — 記号 → 意味

尺度許容操作SSDSE-B-2026 例
名義=, ≠Prefecture(北海道, 東京, ...)
順序+ >, <満足度・教育水準
間隔+ 加減・平均気温(°C)
比例+ 乗除・比A1101(人口)・出生数

名義尺度に平均値を出すような尺度違反は、 データリテラシー違反の典型例です。 Tidy 化のときに「この列の尺度は?」を明示する習慣をつけましょう。

📚 1. データリテラシーとは

データを読み・使い・伝え・批判的に評価する力。 統計学・プログラミング・ドメイン知識の三角形の上に成り立つ。

🔄 2. PPDAC サイクル

統計教育の世界標準フレームワーク(Wild & Pfannkuch 1999)。

  1. Problem(問題):何が問題か、 何を明らかにしたいか
  2. Plan(計画):どんなデータをどう集めるか、 分析設計
  3. Data(データ):実際にデータを収集・整形
  4. Analysis(分析):可視化・統計・モデリング
  5. Conclusion(結論):結論・限界・次の問いへ

P → P → D → A → C → 再び P へと循環する。 1 サイクルで終わらない。

🏭 3. CRISP-DM(業界標準プロセス)

データマイニング・機械学習プロジェクトの業界横断的プロセスモデル。 IBM・Daimler 等が 1996 年に策定。

  1. ビジネス理解 (Business Understanding)
  2. データ理解 (Data Understanding)
  3. データ準備 (Data Preparation)
  4. モデリング (Modeling)
  5. 評価 (Evaluation)
  6. 展開 (Deployment)

各ステップ間に矢印が双方向にあり、 反復的な改善が前提。

PPDAC との対応

PPDAC CRISP-DM
ProblemBusiness Understanding
Plan + DataData Understanding + Preparation
AnalysisModeling + Evaluation
ConclusionDeployment

❓ 4. 良い「問い」の作り方

分析の質は問いの質で決まる。 SMART 基準を意識:

悪い問い vs 良い問い

悪い問い 良い問い
「都道府県の特徴は?」「2024年時点で人口密度が高い都道府県ほど一人当たり所得が高いか?」
「持ち家は良いか?」「持ち家比率と高齢化率の関連は、 地域ブロックで異なるか?」
「AI で何かできるか?」「過去 5 年の指標から、 翌年の人口減少率を ±0.5 ポイント以内で予測できるか?」

3 種の問い

🔍 5. 探索的データ分析 (EDA)

John Tukey が 1977 年に提唱。 「データに何を語らせるか」を可視化と要約統計で探る。

EDA の標準フロー

  1. データの形状を確認(行数・列数・型)
  2. 欠損・重複・異常値をチェック
  3. 各変数の分布を見る(ヒストグラム・箱ひげ)
  4. 変数間の関係(相関・散布図)
  5. 群間比較(カテゴリ別に集約)
  6. 異常パターンに気づく
🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
7
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
print(df.info())
print(df.describe(include='all'))
print(df.isnull().sum())
print(df.duplicated().sum())
df.hist(figsize=(15, 12)); plt.tight_layout(); plt.show()
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

ydata-profiling(pandas-profiling)

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
from ydata_profiling import ProfileReport
ProfileReport(df, title='SSDSE-B EDA').to_file('eda_report.html')
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

📏 6. 変数の尺度水準(Stevens 1946)

尺度 許される演算 代表値
名義 (nominal)血液型・地域名=, ≠最頻値
順序 (ordinal)満足度 5 段階+, <, >中央値
間隔 (interval)温度(℃)・西暦+, -, 平均平均
比例 (ratio)人口・所得・距離×, ÷ も可幾何平均も可

6.1 データ型との対応

🧹 7. Tidy data(整然データ)

Hadley Wickham 2014 の定義:

  1. 1 行が 1 観測
  2. 1 列が 1 変数
  3. 1 セルが 1 値
  4. 1 テーブルが 1 種類の観測単位

縦持ち vs 横持ち

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
import pandas as pd
# 横持ち → 縦持ち
long = pd.melt(df, id_vars=['都道府県'], value_vars=['指標1','指標2'],
               var_name='指標', value_name='値')
# 縦持ち → 横持ち
wide = long.pivot(index='都道府県', columns='指標', values='値')
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

✨ 8. データ品質の確認

8.1 欠損のパターン

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
import missingno as msno
msno.matrix(df)  # 欠損パターンの可視化
msno.heatmap(df)  # 欠損間の相関
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

⚠️ 9. データに潜むバイアス

9.1 測定の歪み

🎨 10. 可視化リテラシー

「グラフは嘘をつく」基本パターン:

良い可視化の原則(Tufte)

🎭 11. 「統計でうそをつく方法」

Darrell Huff の古典(1954)。 現代でも有効な批判的読解の視点:

🌐 12. オープンデータと公的統計

日本の代表的データソース:

12.1 再現可能性

⚠️ 13. リテラシーの落とし穴

落とし穴 対処
手法から考え始める必ず問いから。 手法はそのあと。
標本の偏りを無視「誰が、 どう選ばれたか」を必ず確認。
尺度を間違える名義尺度に平均は計算できない。
欠損を機械的に削除欠損パターンを調査。 MNAR ならバイアス。
単位を確認しない単位の取り違いで桁ずれ事故。
単一指標で判断代表値・ばらつき・形状を複数併用。
出典なし出典と取得日を必ず明記。

🏋️ 14. 練習問題

Q1. SSDSE-B-2026 を読み込み、 PPDAC の Plan ステップに沿って「分析したい問い」を 3 つ書きなさい。

具体例:(1) 高齢化率が高い県ほど一人当たり所得は低いか? (2) 持ち家比率の決定要因は何か? (3) 都市規模別の人口動態の特徴は?

Q2. SSDSE-B-2026 の各列について、 尺度水準(名義/順序/間隔/比例)を分類しなさい。
🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
print(df.dtypes)
# 都道府県:名義、 一人当たり県民所得:比例、 etc.
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。
Q3. SSDSE-B-2026 でデータ品質チェックを実施しなさい(欠損・重複・分布の概観)。
🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
print('行数 x 列数:', df.shape)
print('欠損:'); print(df.isnull().sum())
print('重複:', df.duplicated().sum())
print(df.describe())
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。
Q4. ニュース記事の統計グラフを 1 つ選び、 軸・標本・出典について批判的に読解しなさい。

確認ポイント:軸の起点、 サンプリング方法、 期間、 出典の信頼性、 著者の意図、 暗黙の仮定など。

📝 15. レポートの構成例

  1. 背景と問い:なぜこの分析が必要か
  2. データの説明:出典・期間・サンプリング・尺度・欠損
  3. EDA:分布・関連の概観
  4. 方法:分析手法、 前処理、 仮定
  5. 結果:図表 + 要約統計 + 信頼区間
  6. 解釈:何を意味するか
  7. 限界:データ・手法の限界
  8. 結論と次の問い

🐍 16. ライブラリ早見表

用途 パッケージ
データ操作pandas, polars, pyarrow
EDA自動化ydata-profiling, sweetviz, autoviz
欠損可視化missingno
欠損補完sklearn.impute.SimpleImputer/KNNImputer/IterativeImputer
可視化matplotlib, seaborn, plotly, altair
ノートブックjupyter, marimo, quarto
再現性poetry, pip-tools, conda-lock, dvc
レポートquarto, papermill, nbconvert

📜 17. データリテラシーの歴史

💼 18. 実務応用

📖 19. ケーススタディ

19.1 John Snow のコレラ地図(1854)

ロンドンのコレラ流行で、 Snow はコレラ患者の自宅を地図にプロット。 Broad Street の給水ポンプ周辺に集中していることを発見し、 ポンプを使用停止 → 流行が収束。 データ可視化が公衆衛生を変えた歴史的事例。 「相関=因果」と判断する前に、 地図というシンプルな可視化が決定的だった。

19.2 Florence Nightingale のローズダイアグラム(1858)

クリミア戦争の英軍兵士死亡原因を「戦闘」「予防可能な感染症」「その他」に色分けした円グラフで政府に提示。 戦闘より感染症で多く死んでいることを直感的に伝え、 衛生改革を実現。

19.3 シャレンジャー号事故(1986)

O-リング故障による爆発事故。 事前データに O-リング温度依存性が示されていたが、 「失敗例だけ」を見てパターンを認識できなかった(生存バイアスの逆)。 視覚化の重要性が再確認された事例。

19.4 シンプソンのパラドックス:UC バークレー入試(1973)

全体では「男性合格率>女性合格率」だったが、 学部別に見るとほぼすべての学部で「女性合格率>男性合格率」。 女性が「合格率が低い学部に多く出願」していたため、 全体集計で誤って見えた。 集約と層別で結果が逆転する典型例

⚖️ 20. データ倫理の基本

📚 21. 推奨入門書ガイド

✅ 22. データリテラシー基本チェックリスト

📋 23. SSDSE-B 分析の実践テンプレート

新しい分析プロジェクトを始めるときのそのまま使えるコードテンプレート。

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
"""
分析タイトル:[ここに記入]
作成者:[氏名] / 作成日:[YYYY-MM-DD]
"""
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# ===== Step 1: データ読み込み =====
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
print(f'行数: {len(df)}, 列数: {df.shape[1]}')

# ===== Step 2: 構造の確認 =====
print(df.dtypes)
print(df.head())

# ===== Step 3: データ品質 =====
print('欠損:'); print(df.isnull().sum())
print('重複:', df.duplicated().sum())

# ===== Step 4: 記述統計 =====
print(df.describe())

# ===== Step 5: 単変量分布 =====
num = df.select_dtypes(include='number')
num.hist(figsize=(15, 12))
plt.tight_layout(); plt.show()

# ===== Step 6: 二変量関係 =====
corr = num.corr()
sns.heatmap(corr, annot=True, cmap='RdBu', center=0)
plt.show()

# ===== Step 7: 注目関係の散布図 =====
sns.scatterplot(data=df, x='一人当たり県民所得', y='持ち家比率')
plt.show()

# ===== Step 8: 結論メモ =====
"""
[手書きで結論を残す]
- 見つけたパターン:
- 限界:
- 次の問い:
"""
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

❓ 24. よくある質問

Q. 「ビッグデータならバイアスは消える」というのは本当?

A. 嘘です。 むしろ大量データほど系統的バイアスが目立ちにくくなり、 危険。 標本の集め方が重要。

Q. データを見ずに仮説を立てるべき?

A. 探索的分析(EDA)でデータの構造を見ることと、 確証的分析(CDA)で事前仮説を検証することは別物。 両方が必要。 同じデータで仮説生成と検証をすると過剰適合になる。

Q. 統計と機械学習の違いは?

A. 統計は推測・解釈、 機械学習は予測に重きを置く傾向。 現代は融合が進行中。

Q. 「データドリブン」の落とし穴は?

A. 計測しやすい指標だけで意思決定すると、 計測しにくい本質的価値を見落とす(Goodhart の法則)。

🎓 25. MDASH モデルカリキュラム対応

本ページは MDASH(数理・データサイエンス・AI モデルカリキュラム)のうち、 主にリテラシーレベル応用基礎レベルの以下項目に対応:

リテラシーレベル

応用基礎レベル

SSDSE-B との対応

本実習で SSDSE-B-2026 を用いるのは、 MDASH のリテラシー・応用基礎で要求される「公的統計を読み解く力」を、 47 都道府県という馴染みのある対象で実体験できるため。

📋 26. データ分析者向けチートシート

26.1 着手 5分の確認

26.2 分析中の確認

26.3 報告前の確認

🔖 キーワード索引(補強)

データリテラシーの中核概念を一覧で。

記述統計 推測統計 外れ値 欠損値 分布 中心傾向 散らばり 標準偏差 四分位範囲 歪度 尖度 サンプルサイズ 母集団 バイアス 交絡 グラフのウソ 層別解析 p-hacking HARKing EDA

🧮 SSDSE-B-2026 で実値計算 — データリテラシー演習

「データを正しく見る」基本動作を SSDSE-B-2026 の都道府県データで実行します。

例1:要約統計量を一括で得る

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
7
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
print(df.describe().T)  # 全数値列の count / mean / std / min / 25% / 50% / 75% / max
print('---')
print(df.dtypes.value_counts())  # 各データ型の列数
print('欠損数:', df.isna().sum().sum())
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

例2:分布と外れ値の確認(IQR ルール)

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
col = df.select_dtypes('number').columns[0]
q1, q3 = df[col].quantile([0.25, 0.75])
iqr = q3 - q1
lo, hi = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df[col] < lo) | (df[col] > hi)]
print(f'{col} の外れ値 (n={len(outliers)}):')
print(outliers[['都道府県', col]].to_string(index=False))
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

例3:層別集計(地域ブロック別)

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)

block_map = {
    '北海道': '北海道', '青森県': '東北', '岩手県': '東北', '宮城県': '東北',
    '秋田県': '東北', '山形県': '東北', '福島県': '東北',
    '茨城県': '関東', '栃木県': '関東', '群馬県': '関東', '埼玉県': '関東',
    '千葉県': '関東', '東京都': '関東', '神奈川県': '関東',
}
df['ブロック'] = df['都道府県'].map(block_map).fillna('その他')
num_col = df.select_dtypes('number').columns[0]
print(df.groupby('ブロック')[num_col].agg(['mean', 'std', 'count']))
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

⚠️ データリテラシーの落とし穴(補強・各 100 文字以上)

① 「平均」だけで分布を語る
所得や住宅価格のように右に長い裾を持つ分布では、 平均値は少数の高所得者に大きく引っ張られて中央値より遥かに大きくなる。 「日本の平均世帯所得 550万円」と聞いても多くの家庭は 400万円台で、 これだけで政策議論をすると現場と乖離する。 必ず中央値・四分位・ヒストグラムを併せて見る習慣を持つこと。
② 標準偏差が大きい=悪いと早合点する
標準偏差は単に「ばらつきの大きさ」を表すだけで、 良い・悪いは文脈次第。 株式の収益率なら大きいとリスク高、 製品検査なら小さいほうが歩留まりが良い、 一方マーケティングのターゲット層分散は広いほうがビジネスチャンスがある。 値だけで判定せず、 単位・スケール・目的を合わせて評価する。
③ サンプルサイズが大きい=信頼できると思う
n=100万人でも、 サンプリングに偏りがあれば結論は歪む。 1936年のリテラリー・ダイジェスト調査は n=240万人だったが、 電話帳と自動車登録者からの回答で富裕層に偏り、 ルーズベルト落選を予測し外した。 一方ギャラップは n=1500 のランダム標本で当選を当てた。 「数」より「代表性」が決定的。
④ グラフの軸を切って差を強調する
棒グラフの y 軸を 0 から始めず 80 から始めると、 80→85 のわずか 5 ポイント差が「圧倒的優位」に見える。 報道・広告でしばしば使われる「視覚的誇張」の典型。 グラフを作るときは必ず y 軸の起点を確認し、 受け手の印象が誤誘導されないか自問する。 ニュース引用時も注意して読む。
⑤ シンプソンのパラドックスを見落とす
全体集計では「処置 A が優位」でも、 部分集団に分けると「全集団で処置 B が優位」になる現象。 病院ランキングや大学入学選考の有名な事例がある。 集団の構成比が偏った場合に発生しやすく、 必ず層別集計を併用する。 集計だけで判断せず、 サブグループの傾向と全体集計の両方を眺める。
⑥ 欠損値を無断で平均で埋める
欠損値を平均で補完すると分散が過小評価され、 続く回帰や検定の標準誤差が嘘の値になる。 さらに欠損のメカニズム(MCAR/MAR/MNAR)によっては、 平均補完自体がバイアスを生み因果関係を歪める。 多重代入法(MICE)や欠損のフラグ列追加など、 メカニズムに応じた方法を選ぶ。
⑦ p-hacking と HARKing で「ストーリー後付け」する
有意になるまで変数組合せ・サブセット・カットオフを変えて検定を繰り返すのが p-hacking、 結果を見てから仮説を作るのが HARKing。 どちらも偽発見率を爆上げする。 事前登録(pre-registration)、 多重比較補正、 検証用ホールドアウトを徹底する。 「最初に決めた仮説」を必ず記録しよう。

🐍 Python 実装バリエーション(scipy / scikit-learn / pingouin)

1. scipy.stats — 記述統計と検定をワンライナーで

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
7
8
import pandas as pd
from scipy import stats

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
x = df.select_dtypes('number').iloc[:, 0].dropna()
print('歪度:', stats.skew(x))
print('尖度:', stats.kurtosis(x))
print('Shapiro-Wilk 正規性検定:', stats.shapiro(x))
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

2. scikit-learn — 標準化・欠損値処理

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from sklearn.preprocessing import StandardScaler, RobustScaler
from sklearn.impute import SimpleImputer, KNNImputer
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
num_cols = df.select_dtypes('number').columns

# 1) 平均0・分散1 に標準化
scaler = StandardScaler()
X_std = scaler.fit_transform(df[num_cols])

# 2) 外れ値に頑健な標準化(中央値・IQR 基準)
robust = RobustScaler()
X_robust = robust.fit_transform(df[num_cols])

# 3) 欠損値の補完(KNN)
imp = KNNImputer(n_neighbors=5)
X_imp = imp.fit_transform(df[num_cols])
print('補完後の欠損数:', pd.DataFrame(X_imp).isna().sum().sum())
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

3. pandas — describe / quantile / value_counts

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
7
8
9
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
# 一括要約
summary = df.describe(percentiles=[.1, .25, .5, .75, .9]).T
print(summary)

# 列ごとの欠損率
print(df.isna().mean().sort_values(ascending=False).head())
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

4. pingouin — 統計量と効果量・正規性検定

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
1
2
3
4
5
6
7
import pingouin as pg
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
x = df.select_dtypes('number').iloc[:, 0].dropna()
# 多変量正規性 (Henze-Zirkler)
print(pg.normality(x))
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

5. matplotlib/seaborn — EDA 可視化セット

🎯 解説: SSDSE-B-2026(47都道府県データ)でデータリテラシーの基本確認動作を行う。 まずはデータを読み込み、 構造・型・欠損・代表値を「見る」ことが分析の出発点。 ファイルパスは自分の環境に合わせて変更すること。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', header=1)
num_cols = df.select_dtypes('number').columns[:5]

fig, axes = plt.subplots(2, 3, figsize=(15, 8))
for ax, col in zip(axes.flat, num_cols):
    sns.histplot(df[col].dropna(), kde=True, ax=ax)
    ax.set_title(col, fontsize=10)
plt.tight_layout()
plt.savefig('eda_distributions.png', dpi=100)
📥 入力例: data/raw/SSDSE-B-2026.csv 地域コード 都道府県 A1101(総人口) A1301(65歳以上) ... R01000 北海道 5183687 1684000 R13000 東京都 14047594 3193000 R47000 沖縄県 1467480 323000
📤 実行例: shape=(47, 108), 欠損=0, dtypes=int64/float64/object describe() で 5 数要約、 head() で先頭、 info() で型情報 → 47 都道府県の全変数の概要が即座に把握できる
💬 読み方: 「データを開く前に分析しない」「型と欠損を見ずに集計しない」がリテラシーの基本ルール。 SSDSE-B のような公的統計は欠損が少ないが、 民間データでは isnull().sum() で必ず欠損率を確認する。 数値列は int/float、 文字列は object として読み込まれるか確認する。

📚 Round 18 — データリテラシー 完全攻略補足

読み解く力数字に騙されない統計リテラシーSSDSE-Bデータ可視化教育EBPM市民科学情報源評価クリティカル・シンキング

🔬 数式を言葉で読み解く(拡張 narration)

🔬 記号 → 意味(narration):

📐 補足の数式と読み解き

基本量の関係を、 記号 → 意味で整理します。 任意の比率は

$$\text{比率} = \frac{\text{分子}}{\text{分母}} \times 100\quad\text{単位: }\%$$

記号 → 意味:

平均と分散は

$$\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i,\quad s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar{x})^2$$

t 統計量・効果量は

$$t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{s_1^2/n_1 + s_2^2/n_2}},\quad d = \frac{\bar{x}_1 - \bar{x}_2}{s_{\text{pooled}}}$$

🧮 実値で計算してみる — SSDSE-B-2026 47 都道府県

SSDSE-B-2026 の都道府県データから データリテラシー の文脈で代表値を読み取ります。 各列の記号 → 意味を確認し、 平均・中央値・四分位を併記する習慣を身につけましょう。

都道府県総人口(千)65歳以上人口(千)高齢化率(%)記号 → 意味
秋田県94537039.1A1101 → 総人口 / A1301 → 高齢者 / 比率 → 高齢化率
東京都14,0473,19322.7巨大分母 → 平均を引き上げる外れ値の典型
沖縄県1,46732322.0若い人口構造 → 全国最低の高齢化率
大阪府8,8382,42027.4大都市圏の中位 → 比較基準として有用
島根県65823135.1人口減少地域 → 分母縮小型の高齢化

🐍 Python 実装 — Round 18 拡張

分母チェッカー — 比率の意味を SSDSE-B-2026 で確認

🎯 SSDSE-B-2026(都道府県データ)を データリテラシー の文脈で読み解く実値計算例。 各セルの記号 → 意味(A1101 → 総人口, A1301 → 65 歳以上人口)を確認しながら手元の Jupyter で実行できます。
import pandas as pd
df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1)
# 平均年収 = 給与総額 / 雇用者数 という比率の分母を点検
print(df[['Prefecture','A1101','A1301']].describe())
print('分母(総人口)が小さい県でも%は割れる例:')
print(df.nsmallest(5,'A1101')[['Prefecture','A1101']])
📥 入力: data/raw/SSDSE-B-2026.csv(47 都道府県 × 主要統計列)。 出力例は数値・p 値・統計量で、 解釈には「実値で計算してみる → 仮説検定 → 効果量 → 結論」の流れを推奨します。

外れ値の影響 — 平均と中央値の乖離

🎯 SSDSE-B-2026(都道府県データ)を データリテラシー の文脈で読み解く実値計算例。 各セルの記号 → 意味(A1101 → 総人口, A1301 → 65 歳以上人口)を確認しながら手元の Jupyter で実行できます。
median = df['A1101'].median()
mean = df['A1101'].mean()
print(f'median={median:,.0f} / mean={mean:,.0f} / 乖離={mean-median:,.0f}')
# 東京・神奈川など巨大都市が平均を引き上げる例
📥 入力: data/raw/SSDSE-B-2026.csv(47 都道府県 × 主要統計列)。 出力例は数値・p 値・統計量で、 解釈には「実値で計算してみる → 仮説検定 → 効果量 → 結論」の流れを推奨します。

単位・桁の落とし穴を可視化

🎯 SSDSE-B-2026(都道府県データ)を データリテラシー の文脈で読み解く実値計算例。 各セルの記号 → 意味(A1101 → 総人口, A1301 → 65 歳以上人口)を確認しながら手元の Jupyter で実行できます。
import matplotlib.pyplot as plt
df['per_capita'] = df['A1101'] / 1000  # 単位を千人に揃える
df.sort_values('per_capita').plot(kind='barh', x='Prefecture', y='per_capita', figsize=(7,9))
plt.tight_layout(); plt.savefig('per_capita.png', dpi=150)
📥 入力: data/raw/SSDSE-B-2026.csv(47 都道府県 × 主要統計列)。 出力例は数値・p 値・統計量で、 解釈には「実値で計算してみる → 仮説検定 → 効果量 → 結論」の流れを推奨します。

出典追跡 — 二次情報を一次情報に置き換える

🎯 SSDSE-B-2026(都道府県データ)を データリテラシー の文脈で読み解く実値計算例。 各セルの記号 → 意味(A1101 → 総人口, A1301 → 65 歳以上人口)を確認しながら手元の Jupyter で実行できます。
# 報道で「高齢化率 30% 超」という主張があったとき、SSDSE 値で検証
df['aging'] = df['A1301']/df['A1101']*100
print('SSDSE-B-2026 ベースで 30% 超の県数:', (df['aging']>30).sum())
📥 入力: data/raw/SSDSE-B-2026.csv(47 都道府県 × 主要統計列)。 出力例は数値・p 値・統計量で、 解釈には「実値で計算してみる → 仮説検定 → 効果量 → 結論」の流れを推奨します。

❓ よくある質問 (FAQ)

データリテラシーは数学が苦手でも身につきますか?
はい。 統計の高度な数式より、 数字を読むときの慎重さ・分母確認・出典確認の習慣が中心です。 中学レベルの算数で十分始められます。
「平均」を見たら何を疑えばよい?
外れ値の有無、 分散・四分位範囲、 母集団の定義(全国 vs 都市部)、 中央値との乖離、 単位(年収か月収か)です。
グラフの嘘を見抜く 3 つのコツは?
(1) 縦軸ゼロ起点か(切られていないか)、 (2) 集計期間と単位、 (3) 元データへのリンクがあるか。
AI 時代のデータリテラシーは?
生成 AI が出した数値を鵜呑みにせず、 一次情報(e-Stat, RESAS, SSDSE)にあたる習慣が決定的です。
リテラシー教育の指標は?
OECD PIAAC, PISA データリテラシー、 日本の数学教育の単元到達度などが目安です。

⚠️ 拡張版 落とし穴チェックリスト

  1. 分母を確認しない罠: 比率や率の意味は分母で決まります。 SSDSE で「per 1000」と「per 100」を取り違えると桁違いになります。
  2. 外れ値の影響: 東京都が平均値を引き上げる効果は実際に大きく、 中央値との乖離を必ず併記しましょう。
  3. 因果と相関の混同: 高齢化率と平均所得が相関しても、 因果は別問題。 第三変数(産業構造・気候)の介在を疑います。
  4. 選択バイアス: 「都市部のサンプルだけ」では地方の構造が見えません。 47 都道府県すべてを観察しましょう。
  5. 多重比較: 47 都道府県を一斉比較すると α=0.05 でも約 2.35 件は偶然有意。 Bonferroni 等の補正が必須です。
  6. 時点ずれ: SSDSE-B-2026 と 国勢調査 2020 では基準時点が異なります。 同期した比較が必要。
  7. データリテラシー 特有の文脈ずれ: 教育用に正規化したサンプルと現場データの落差。 単位・桁・カテゴリを揃える前処理が肝心。

🔗 関連用語(前提・並列・発展)— Round 18 補強

データリテラシー を中心に、 前提概念・並列分野・発展手法へリンクします。

🔗 統計リテラシー🔗 データ倫理🔗 データバイアス🔗 隠れたバイアス🔗 選択バイアス🔗 SSDSE🔗 ヒストグラム🔗 相関🔗 平均🔗 中央値🔗 p値🔗 仮説検定🔗 AI 倫理🔗 透明性🔗 公平性🔗 プライバシー🔗 AI と社会

📚 関連グループ教材

グループ教材から データリテラシー の文脈に直結する論文・ハンズオンを辿れます。

🕰 歴史的背景と現代

データリテラシー は古典統計と社会データの交差点で発達してきました。 19 世紀末から 20 世紀初頭にかけて Pearson, Fisher, Neyman などが基礎を整え、 戦後の公的統計整備により実務応用が広がりました。

2010 年代以降は、 「再現性危機」「ビッグデータ」「AI 倫理」の三つの波が データリテラシー に新しい意味を与えました。 単に p<0.05 を出すのではなく、 効果量・信頼区間・事前登録・データシートが必須となっています。

日本では総務省統計局・国立社会保障人口問題研究所・経済産業省 RESAS などが公的統計を整備し、 教育用に SSDSE が無償公開されました。 本ページもこの枠組みで データリテラシー を扱います。

📚 参考リンク

🌐 関連手法・派生(広域マップ)

同じカテゴリの手法、 上位概念、 派生分野へのリンクを補強します。

🔗 統計リテラシー🔗 データ倫理🔗 データバイアス🔗 隠れたバイアス🔗 選択バイアス🔗 SSDSE🔗 ヒストグラム🔗 相関🔗 平均🔗 中央値🔗 p値🔗 仮説検定🔗 AI 倫理🔗 透明性🔗 公平性🔗 プライバシー🔗 AI と社会