このページ内のセクションへ素早く飛べます(クリックで該当箇所へジャンプ):
e-Stat、SSDSE、World Bank Open Data — これらは典型的な2次データ。 「すでに誰かが集めて整えてくれた」点が最大の魅力で、 同時に「自分の問いに完全にはマッチしない」点が最大の弱点でもある。
本ページは 2次データ(Secondary Data) を、 ジャストインタイム型データサイエンス教育の文脈で 12 のセクションに分けて解説します。 上から順に読まなくても、 「🔖 キーワード索引」から必要箇所だけ拾い読みすることもできます。
SSDSE-B-2026 を使って47都道府県の高齢化率と死亡率の関係を調べる — これは典型的な2次データ分析です。 元データは総務省の国勢調査・人口動態統計などで、 すでに誰かが集めて整えてくれたものを再利用しています。
| 観点 | 1次データ | 2次データ |
|---|---|---|
| 取得者 | 自分 | 他人(政府・企業・研究者) |
| コスト | 高い | 低い(無料 or 安価) |
| マッチ度 | 問いにピッタリ | 問いとはズレることも多い |
| 期間・地理 | 自由に設定 | 公表サイクルに従う |
| 代表例 | 自社アンケート, 自前センサ | SSDSE, e-Stat, 国際機関統計 |
2次データを使う最大のメリットは、 数百万人規模のサンプルや国際比較データに無料でアクセスできること。 デメリットは、 元の調査設計(質問項目、 標本枠、 期間)を自分でコントロールできないこと。 メタデータ(出典・期間・定義)を丁寧に読み込むことが必須です。
2次データ は概念的定義が中心ですが、 ジャストインタイム教育の観点からは「関連量のなかで何を計算しているか」を式で押さえると理解が深まります。 代表的に使われる数式は:
$$ \text{基本量}_{secondary-data} = f(\text{入力データ}, \text{前提}, \text{パラメータ}) $$
定義式の一般形:
$$ Q = \frac{1}{n} \sum_{i=1}^{n} g(x_i) $$
ここで $g(\cdot)$ は用語に応じた評価関数(カウント、 平均、 比、 オッズなど)。 具体形は次セクション「🔬 記号読み解き」で確認します。
先ほどの数式・定義に出てきた記号や概念を、 一つずつ確認します。 とくに 2次データ の文脈で意味を取り違えやすい部分を強調します。
| 記号 | 意味と注意点 |
|---|---|
| $\bar{x}$ | 標本平均。 $\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i$ |
| $\sigma$(または $s$) | 標準偏差(または標本標準偏差)。 ばらつきの代表指標 |
| $n$ | 標本サイズ(観測数) |
| $p$ | p値、 または比率。 文脈で意味が変わる |
| $\alpha$ | 有意水準(通常 0.05) |
| $H_0, H_1$ | 帰無仮説と対立仮説 |
記号は手法ごとに少しずつ意味が違うため、 論文・教科書を読むたびに『この本ではこの記号を何の意味で使っているか』を最初に確認するのが鉄則です。 とくに 2次データ 関連の文献では、 ${\sigma}^2$(分散)と $s^2$(標本分散)の区別、 $n$ と $N$(標本サイズ vs 母集団サイズ)の混同に注意。
SSDSE-B-2026(47都道府県・2023 年・125 項目)を題材に、 2次データ に関係する変数を実値で確認します。 とくに東京・大阪・沖縄・秋田 など特徴ある県を比較すると、 用語の重みが体感できます。
| 都道府県 | 総人口(千人) | 高齢化率(%) | TFR | 有効求人倍率 |
|---|---|---|---|---|
| 東京 | 14,047 | 23.0 | 0.99 | 1.74 |
| 大阪 | 8,778 | 27.9 | 1.21 | 1.27 |
| 沖縄 | 1,468 | 23.5 | 1.60 | 0.96 |
| 秋田 | 930 | 38.6 | 1.18 | 1.51 |
| 全国平均 | 126,146 | 29.1 | 1.20 | 1.31 |
これらの値を 2次データ の観点で読み解くと、 都道府県間の格差・特徴・関係性が浮かび上がります。 具体的な計算手順は次の「🐍 Python 実装」セクションで実演します。
以下は 2次データ を SSDSE-B-2026 で扱うときの典型コード。 encoding='cp932' は政府統計の Shift-JIS 対応。 skiprows=1 は日本語ヘッダ行をスキップする定石。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import pandas as pd # 2次データ(SSDSE-B-2026)を読み込む df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) print('shape:', df.shape) # (47, 125) print('columns:', df.columns[:10].tolist()) # 出典・期間・単位を必ず確認(メタ情報) print('期間: 2023年') print('提供: 独立行政法人統計センター・総務省統計局') print('一次出典: 国勢調査、人口動態統計 ほか') # 自分の問いに合わせて変数を選ぶ sub = df[['Prefecture', 'A1101', 'A1303', 'A4103', 'E4501']] sub.columns = ['県','総人口','高齢化率','TFR','有効求人倍率'] print(sub.head()) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 2次データ の探索的データ分析(EDA) df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) # 主要変数を取り出して名前を分かりやすく df['総人口'] = df.iloc[:, 2] df['65歳以上'] = df.iloc[:, 14] df['高齢化率'] = df['65歳以上'] / df['総人口'] * 100 df['TFR'] = df.iloc[:, 21] # ヒストグラム fig, axes = plt.subplots(1, 2, figsize=(12, 4)) sns.histplot(df['高齢化率'], kde=True, ax=axes[0]) axes[0].set_title('高齢化率の分布(47都道府県)') sns.histplot(df['TFR'], kde=True, ax=axes[1]) axes[1].set_title('TFRの分布') plt.tight_layout() plt.savefig('eda_distribution.png', dpi=120) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import pandas as pd import numpy as np # 2次データ に関わる前処理の典型パターン df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) # ① 欠損値の確認 print('欠損数:') print(df.isna().sum().sort_values(ascending=False).head(10)) # ② 数値変換(カンマ・%除去 など) def to_num(s): if isinstance(s, str): return float(s.replace(',', '').replace('%', '')) return s df = df.applymap(to_num) # ③ 外れ値検出(IQR) q1 = df.quantile(0.25, numeric_only=True) q3 = df.quantile(0.75, numeric_only=True) iqr = q3 - q1 outlier_mask = ((df < q1 - 1.5*iqr) | (df > q3 + 1.5*iqr)).any(axis=1) print('外れ値を含む行数:', outlier_mask.sum()) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import pandas as pd from scipy import stats # 2次データ 文脈での基本的な仮説検定 df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=1) df['aging'] = df.iloc[:, 14] / df.iloc[:, 2] * 100 df['region'] = df['Prefecture'].apply(lambda p: '東日本' if p in ['北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県','静岡県','愛知県'] else '西日本') east = df.loc[df['region']=='東日本', 'aging'] west = df.loc[df['region']=='西日本', 'aging'] t, p = stats.ttest_ind(east, west, equal_var=False) print(f'東日本 平均高齢化率: {east.mean():.2f}%') print(f'西日本 平均高齢化率: {west.mean():.2f}%') print(f't = {t:.3f}, p = {p:.4f}') print('判定:', '有意差あり' if p < 0.05 else '有意差なし') |
※ より高度な例(クロス集計、 機械学習、 ベイズ推定)は data-literacy のグループ教材を参照。
2次データ に取り組むときに、 学生・実務者・研究者がよく踏むワナをまとめました。 該当しそうな項目があれば、 自分の分析を見直してみてください。
dropna() で除いた瞬間、 47県の標本が 30 県に減ることもある。 何件落としたか必ず記録し、 結果に与える影響を考える。2次データ(Secondary Data)は、 リテラシー 分野における基本概念の 1 つとして発展してきました。 学術領域では 20 世紀後半に体系化が進み、 21 世紀のデータ駆動社会の中で「実務で使う知識」として急速に普及。 とくに 2010 年代後半以降、 ビッグデータ・IoT・AI の進展に伴い、 用語の意味・適用範囲が再定義されつつあります。
日本では総務省・経産省・内閣府の各種計画(Society 5.0、 デジタル田園都市国家構想、 統計改革基本計画)で繰り返し言及される基幹概念。 SSDSE(教育用標準データセット)も、 これらの教育普及を目的に整備されたデータです。
OECD、 国連、 ISO、 IEC などの国際機関が、 2次データ に類する概念・標準を整備してきました。 たとえば:
2次データ は、 日本の教育・行政・産業の文脈で次のような意義を持ちます:
| 領域 | 意義・登場場面 |
|---|---|
| 高校・大学教育 | 情報 I/II、 数学 B(統計)、 教養統計、 専門統計の中核概念として登場 |
| 行政・政策 | EBPM、 デジタル庁施策、 自治体 DX、 地方創生交付金の根拠資料 |
| 企業・産業 | DX 推進、 データ分析人材育成、 経営判断、 マーケティング・品質管理 |
| 学術研究 | 公衆衛生、 教育学、 経済学、 社会学、 計算機科学などの分野横断研究 |
| 市民・メディア | 報道、 ファクトチェック、 行政情報の解釈、 民主主義の基盤 |
2次データ は、 隣接概念と混同されやすい用語の代表でもあります。 ここで違いを明確にしておきましょう:
| 混同される概念 | 2次データ との違い |
|---|---|
| 隣接する リテラシー 系の用語 | 本ページの「🔗 関連用語」を参照。 並列カテゴリで対比すると明瞭 |
| より広い上位概念 | data-literacy ページで包含関係を確認 |
| 類似名・別名 | 英語名 (Secondary Data) を正式表記として参照 |
本サイト(用語解説)は「ジャストインタイム型データサイエンス教育」のリソースです。 つまり、 論文・実務・授業で その用語に出会ったタイミングで必要最低限の説明を得る、 という使い方を想定しています。 2次データ もその一例。
体系的に学びたい場合は、 まずグループ教材(data-literacy)から始め、 そこから 2次データ のような個別用語にドリルダウンしていくのが効率的です。
2次データ は、 統計データ解析コンペティション系の論文・教材で次のような場面に登場します:
| 場面 | 典型的な文章・表現 |
|---|---|
| Abstract | 「2次データを用いて、 47都道府県の…を分析した」 |
| Methods | 「データは SSDSE-B-2026 を使用。 2次データ は…の手順で算出」 |
| Results | 「2次データ = X.XX、 95% CI [X, Y]、 p < 0.05」 |
| Discussion | 「2次データ の限界として…が挙げられる」 |
| Conclusion | 「2次データ に基づき、 政策提言として…」 |
論文一覧から該当キーワードで検索すると、 本サイト内の再現論文ハンズオン教材に直接ジャンプできます。 ⇒ 論文一覧に戻る
レポート・論文・分析プロジェクトを終える前に、 以下を一通り確認するとつまずきが減ります。
①基本パターン を写経すれば、 1 時間程度で実用最低限まで届きます。| 日本語名 | 2次データ |
|---|---|
| 英語名 | Secondary Data |
| カテゴリ | リテラシー |
| グループ教材 | data-literacy |
| 一言で | 他者が集めたデータを再利用して分析するもの。 政府統計、公開データセット、論文付録など。 |
| 主データ | SSDSE-B-2026(47都道府県・125項目)/ e-Stat |
| 主ライブラリ | pandas / numpy / scipy / matplotlib / seaborn / statsmodels |
| 学習推奨時間 | 概念把握 30 分 + 実装演習 60 分 + 関連用語の確認 30 分 = 約 2 時間 |
他者が収集・公開した既存データ
データを読み・解釈し・批判する力。 数値の背後にある文脈とバイアスを意識してください。
本ページでは 2次データ を、 定義・前提条件・使い方・落とし穴の順に整理して解説します。 厳密な定義より、 まず何を、 いつ、 どう使うかを理解することを優先してください。
他者が収集・公開した既存データ
英語名 Secondary Data。 同義・関連語:二次データ。
この用語を理解・使用するときは、 次のような前提を意識してください:
SSDSE-B-2026 のような公的統計データを Python で扱う際の基本パターン:
1 2 3 4 5 6 7 8 9 10 11 12 | import pandas as pd import numpy as np # データ読み込み df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='utf-8', skiprows=1) print(df.shape) print(df.dtypes) print(df.describe()) # 「2次データ」の文脈で扱う場合の例: # 分野: リテラシー # 関連手法は同カテゴリの他用語を参照してください。 |
具体的なコードは データリテラシー を参照してください。
分析結果を報告するときに含めるべき情報: