PC版を表示する

スマートフォン版

更新日:2025年3月3日

ここから本文です。

統計を使って分析してみよう

このページでは、実際に統計データを使って分析する手法を紹介しています。
実際の手順を紹介しているので、是非皆さんもパソコンなどで実際に手を動かして分析してみてください。
手順を覚えたら、今度は自分で気になるテーマについて、データを探して分析してみましょう。

使用したデータ

使用した環境及びツール

  • Microsoft Office Excel2019
  • R(version4.1.2)
  • R Studio

目次

 データを準備する

データ分析を行う際、まずは必要なデータを準備します。
ダウンロードしたデータは通常、利用しやすいように加工してから利用します。

ここでは、総務省が公表している、「住民基本台帳に基づく人口、人口動態及び世帯数」の2024年公表値のうち、24-08表「【日本人住民】市区町村別年齢階級別人口」を利用しています。

データのダウンロードは、政府統計の総合窓口e-Stat(外部リンク)から行えます。

エクセルファイルを開くと、このデータは令和6年1月1日時点の住民基本台帳に基づく都道府県、市区町村別、男女別、年齢階級別の日本人人口のデータであることが分かります。今回は、このデータから京都府の市区町村と全国の値を抽出し、14歳以下人口の割合と75歳以上人口の割合のデータを作ります。

データ準備の詳細な説明をみる(PDF:919KB)

 グラフを作る

データの準備ができたら、ざっとデータを眺めてみます。割合のデータなので全て正の値で、0以上1以下の値を取っていることが分かります。
最大値、最小値、平均値、中央値などを出してみるとよりデータ全体の概要がつかめます。

個別のデータを見ると京都府全体では、全国と比べて14歳以下人口の割合がやや低く、75歳以上人口の割合はやや高いことが分かります。

ひとつひとつデータを見てもいいのですが、データを比べる際にはグラフにすると分かりやすいです。
ここでは、横軸に14歳未満人口割合を、縦軸に75歳以上人口割合をとり散布図を描いてみました。

グラフの作り方の詳細な説明をみる(PDF:534KB)

図1:市町村別14歳以下人口割合と75歳以上人口割合の散布図(2024年)
市町村別14歳以下人口割合と75歳以上人口割合の散布図(2024年)

グラフを見ると、赤の点が全国平均となっており、横軸で見ると赤の点よりも右にある市区町村は全国と比べて14歳以下人口の割合が高く、反対に左にある市区町村は全国と比べて14歳以下人口の割合が低いことが分かります。また縦軸で見ると、赤の点より上にある自治体は全国と比べて75歳以上人口の割合が高く、反対に下にある市区町村は全国と比べて75歳以上人口の割合が低いことが分かります。

グラフ化することで、データ上で見ていた時よりも情報が読み取りやすくなりました。

 データの関係を調べる

グラフを見ていると、データの分布にある傾向があることが分かります。

図2:市町村別14歳以下人口割合と75歳以上人口割合の散布図(2024年)
市町村別14歳以下人口割合と75歳以上人口割合の散布図(2024年)線形の関係が見える

データは全国の値と京都府の値の近くに多く分布し、全体として右肩下がりの傾向が見えます。
ここに、Excelの機能で線を引いてみました。
右肩下がりの傾向は直線y=-1.6918x+0.3773で上手く近似できそうです。つまり、14歳以下人口割合が0.1増えると、75歳以上人口割合は約0.17減る傾向があります。

図3:市町村別14歳以下人口割合と75歳以上人口割合の散布図及び近似線(2024年)
市町村別14歳以下人口割合と75歳以上人口割合の散布図及び近似線(2024年)

同じくExcelの機能から、2つのデータの相関係数を算出すると、-0.83となり、2つのデータには一方が増えれば他方は減る、負の相関関係があることが分かります。14歳以下人口の割合が高い地域では75歳以上人口の割合が低く、反対に14歳以下人口の割合が低い地域では75歳以上人口の割合が高いという傾向が数値でも確認できました。

近似曲線の出し方と相関係数の算出の説明をみる(PDF:416KB)

 上級編(Rを使った分析)

これまでExcelで分析を行いましたが、より効率的な分析を行うためにデータ分析で利用されているプログラミング言語「R言語(以下、「R」と言います。)」を用いて分析をしてみます。
Rなどのプログラミング言語で分析を行う利点のひとつに、どういうステップでデータ解析を行ったのかをスクリプトに記録することで、他の機会への再現性を保てることがあります。ここでは、「R」とあわせて「RStudio」を利用しています。

なお、Rのコードは滋賀大学データサイエンス学部の佐藤健一先生にご協力いただいており、解説の記載に当たっては以下の書籍を参考にしております。

佐藤健一、杉本知之、寺口俊介、江崎剛史 著「実況!Rで学ぶ医療・製薬系データサイエンスセミナー」(学術図書出版社)

データの準備

Rはデータを読み込むことで、様々な解析が可能です。様々な形式のデータを読み込むことが可能ですが、ここでは一般的に利用されるCSV形式のファイルを利用します。
データは最初に作成した「24nsnen.csv」を利用しています。
CSVファイルの作成方法については、データの準備で解説しています。

クラスタリング分析

クラスタリング分析とは、データをグループに分けて分析する方法です。例えば、たくさんの写真のデータを「人の写真」「花の写真」「食べ物の写真」などのグループに分ける、というイメージです。
クラスタリング分析では、コンピュータがたくさんのデータから、似ているもの同士を見つけてグループ(クラスタ)に分けることで、データの中にある傾向や特徴を見つけやすくすることができます。

クラスタリングには様々な手法がありますが、ここでは「階層型クラスター分析」という手法を用いたクラスタリング分析の手法を利用しています。
階層型クラスター分析は、データ同士の距離に着目し、データ同士の距離が短いものを似ているものとしてペア(クラスター(ぶどうの房や塊を意味する))にしていくクラスタリング手法です。この手法を繰り返すことでクラスターはどんどん大きくなっていき、最終的には一つのグループになります。
以下では、距離行列を用いて階層型クラスター分析を実行し、デンドログラム(樹形図)を作成するRスクリプトを記載しています。

Rの基本操作と詳しいスクリプトの解説をみる(PDF:1,344KB)

クラスタリングの実行とデンドログラムの表示

まず、14歳以下人口割合と75歳以上人口割合の2つのデータから、市区町村を3群に分類します。
#以下はコメント(注釈)として補足を記載しています(#以下は入力しても影響がありませんので、入力不要です)。

data <- read.csv("24nsnen.csv") # データの読み込み
rownames(data) <- data[,1] # 1列目を行名にする
data <- data[,-1] # 1列目を削除する
head(data) # 先頭から6行のデータを表示する
res.hclust <- hclust(dist(data),method="ward.D2") # ウォード法による階層型クラスター分析
plot(res.hclust) # デンドログラムを描く
K <- 3
res.rect <- rect.hclust(res.hclust,k=K) # K個のクラスターに分類する

デンドログラムが表示されました。赤枠で囲まれているのが、階層型クラスター分析結果を大きく分類した3群です。
階層型クラスター分析は、データ間の距離を測ることで、距離の大きさからクラスターを形成してデータを分類する方法です。

線で最初につながれているデータ同士が距離が近い、似ているデータであることを表しています。
縦軸のHeight(高さ)はデータ同士が結合した距離を表しており、近いデータは下の方で結合します。反対に離れたデータは上の方で結合します。

図4: 14歳以下人口割合と75歳以上人口割合でクラスタリングした市町村のデンドログラム(2024年)
階層型クラスター分析の結果

クラスタリング結果を散布図に可視化

クラスタリングの結果を、散布図に可視化します。

mycol <- rep(1,nrow(data))
for(k in 1:K) mycol[res.rect[[k]]] <- k # クラスター番号を色に設定する

plot(data,type="n",xlab="14歳以下人口割合",ylab="75歳以上人口割合") # 散布図を描く
text(data,rownames(data),cex=0.6,col=mycol) # クラスター番号を色としたラベルを描く
legend("topright",legend=1:K,fill=1:K,title="クラスター") # 凡例を付ける

結果が表示されました。このグラフは、数値的にはExcelで作成したグラフと同じものです。
それぞれクラスター1が黒色、クラスター2が赤色、クラスター3が黄緑色で表示されています。
こうすることで、14歳以下人口割合と75歳以上人口割合の実際のデータ分布と、クラスタリング結果が一目で確認できます。
散布図を見ると、
クラスター1は14歳以下人口割合が相対的に低く、75歳以上人口割合が高い傾向があり、
クラスター2は14歳以下人口割合が相対的に高く、75歳際以上人口割合が低い傾向があり、
クラスター3はその中間の傾向があることが分かります。

図5: 14歳以下人口割合と75歳以上人口割合の散布図とクラスタリング結果(2024年)
14歳以下人口割合と75歳以上人口割合の散布図とクラスタリング結果(2024年)

別のデータでも実践

同じことを、他のデータでも実施してみました。
読み込むCSVファイルのファイル名を変えるだけで、他のデータでも簡単に同じ分析ができました。
これがプログラミング言語を使った分析の利点である、再現性の高さです。

今回使用したのは、京都府下の市町村が、現行と同様になった直後の2007年の住民基本台帳人口のデータです。
データの時点が2024年1月31日時点であるのに対し、2007年は3月31日時点なので単純な比較はできませんが、17年間の変化が見られます。

図6: 14歳以下人口割合と75歳以上人口割合でクラスタリングした市町村のデンドログラム(2007年)
14歳以下人口割合と75歳以上人口割合でクラスタリングした市町村のデンドログラム(2007年)

図7: 14歳以下人口割合と75歳以上人口割合の散布図とクラスタリング結果(2007年)14歳以下人口割合と75歳以上人口割合の散布図とクラスタリング結果(2007年)

ここでのクラスター分類は、2024年のデータで行ったクラスターと異なり、
クラスター1は14歳以下人口割合が相対的に高く、75歳際以上人口割合が低い傾向があり、
クラスター3は14歳以下人口割合が相対的に低く、75歳以上人口割合が高い傾向があり、
クラスター2はその中間の傾向があることが分かります。

是非色んなデータで実践して、解釈をしてみてください。

 統計学習・分析に役立つウェブサイトの紹介

統計学習に役立つウェブサイト

naruhodo_logo
なるほど統計学園(外部リンク)
総務省統計局が提供している、統計教育ウェブサイトです。
初級と上級に分かれており、学生から大人まで統計を学べる内容になっています。
kodomo
きょうとふ統計こどもページ
京都府が提供しているウェブサイトです。
京都府の統計データをグラフを使って分かりやすく解説しています。

 

分析に役立つウェブサイト

e-stat
e-Stat(外部リンク)
日本の統計が閲覧できる政府統計ポータルサイトです。
各府省が公表している統計データの検索、ダウンロードが可能です。
キッズすたっと(外部リンク) e-Statの小中学生向けの統計データ検索サイトです。
地図で見る統計
jSTAT MAP(外部リンク)

e-Statの機能のひとつとして提供されている統計情報を地図上で可視化し、統計地図を作成することができる地理情報システムです。

edu_logo
学ぼう!e-StatとjSTAT MAP(外部リンク)
総務省統計局が提供しているe-StatとjSTAT MAPの使い方、操作方法が学べるウェブサイトです。
ssdse_title_2404
SSDSE(教育用標準データセット)(外部リンク)

データ分析のための汎用素材として、独立行政法人統計センターが作成・公開している統計データをダウンロードできるウェブサイトです。
主要な公的統計を地域別に一覧できる表形式のデータセットになっており、データ分析の利用に適しているのでデータサイエンス演習、統計教育などに活用いただけます。

t-ptl
京都府統計なび

京都府が提供している京都府に関する統計情報を分野や統計名から検索できるウェブサイトです。

 

お問い合わせ

総合政策環境部企画統計課

京都市上京区下立売通新町西入薮ノ内町

ファックス:075-414-4482

kikakutokei@pref.kyoto.lg.jp