Copyright (C) 2000 DaiichiGakushusha Corporation. All Rights Reserved.
連載 奥村先生の統計学教室
エデュカーレNo.31より

第6回 オープンデータを活用しよう 三重大学教育学部 教授 奥村 晴彦

統計学教室 Indexページ


1. オープンデータとは ↑UP

2016年1月17日の入試センター試験の数学の問題は,ページ数で考えれば半分以上が統計分野の問題で,驚きました。たとえば,「数学@」の「数学T」(全問必答)の第4問,「数学T・数学A」の第2問(必答問題)で,2003〜2012年の120か月の各世帯の1日あたりアイスクリーム平均購入額と,東京の月別気象データの相関を調べる下のような問題が出題されました。

大学入試センター試験(2016年1月17日実施)の「数学T」第4問(「数学T・数学A」第2問)
大学入試センター試験(2016年1月17日実施)の「数学T」第4問
(「数学T・数学A」第2問)

ここで使われているデータは「オープンデータ」として公開されており,だれでも利用することができます。

第一学習社の『高等学校 社会と情報』教科書にも,日本の出生率の推移,全国各地の年平均気温と年間降水量,都道府県の人口といったオープンデータが使われています。

オープンデータとは,総務省*1によれば,
 ・機械判読に適したデータ形式で,
 ・二次利用が可能な利用ルールで公開されたデータ
です。

二次利用が可能とは,たとえば著作権をまったく行使しない「パブリックドメイン」や,著作権は留保するがクリエイティブ・コモンズ(CC)の「表示」ライセンス(略称「CC BY」,著作者表示をすれば自由に使ってかまわない)で公開するといったことを指します。 他のオープンデータと組み合わせたり改変したりして再配布することができます。「改変」に違和感を持たれるかもしれませんが,数値を改ざんするという意味ではなく,たとえば人口と面積のデータから人口密度のデータを作り出したり,グラフ化したりするといったことを意味します。改変したものの再配布も,商用利用も含めて,自由にできます。なお,一部の「オープン」データ利用規定にある「公序良俗に反する利用は禁止」のような条件は,オープンデータの理念に反するものです。

機械判読に適したデータ形式といっても,いろいろなレベルがありますが,手で打ち込み直さなくても,そのままExcelなどの表計算ソフトやRなどの統計ソフトに読み込めることが必要です。できれば,Excelのような特定の商品のファイル形式ではなく,CSVのようなオープンな形式のほうが望ましいといえます。ただし,マイクロソフトは,Officeの形式がオープンでないという理由で使われないことを嫌って,ファイル形式を公開しています。特に,新しいdocxやxlsxなどは,「Office Open XML」(OOXML)ファイル形式として,Ecmaインターナショナルという標準化団体により公開されています(JavaScriptの標準仕様もここで公開されており,ECMAScript と呼ばれています)。RでExcelの表を読むパッケージもいくつか公開されています。



2. アイスクリームの売り上げの調べ方 ↑UP

センター試験の問題では,アイスクリーム平均購入額については「総務省統計局(2013)『家計調査年報』」が出典と書かれていますが,Googleで検索してもよくわかりません。

そんなとき役に立つのが「政府統計の総合窓口(e-Stat)」*2というサイトです。

まずはe-Stat の「キーワード検索」に「アイスクリーム」と入れてみます。出てくる一覧から「家計調査」→「家計収支編」をクリックしてみても,あまりよくわかりません。そこで,左の「データベース」をクリックし,「表題一覧表示」をクリックします。いろいろ出てきますが,「月次」があるのは上の三つだけなので,最新のもの(一番上)の「DB」というボタンをクリックします。

何かExcelのピボットテーブルにちょっと似た画面が出てきます。これを操作して,縦横の項目を選んでいきます。コツをつかめば簡単です。

まずは「1/5表章項目」で「選択」をクリック。出てくる一覧には「金額」しかないのでそれを選択し,「選択項目表示」をクリックすると,下に入ります。これで「OK」をクリック。

次に,「2/5品目分類(27年改定)」で「選択」をクリック。たくさんあるので右で「アイスクリーム」を検索。「356アイスクリーム・シャーベット」が見つかるので,それを選択し,「選択項目表示」をクリックすると,下に入ります。これで「OK」をクリック。

同様に,「3/5世帯区分」で「二人以上の世帯(2000年〜)」,「4/5地域区分」で「全国」,「5/5時間軸(月次)」では「全項目表示」を選んでいきます。

「表示位置」については,「品目分類」を「列1」,「時間軸(月次)」を「行1」にし,「レイアウトイメージの確認」をクリックして確認します。

「ダウンロード」をクリックし,CSV 形式でダウンロードします。FEH_何々.csvという長いファイル名になります。中身はシフトJISのテキストファイルで,メモ帳などのテキストエディタで開けますが,ExcelがインストールされているPCでダブルクリックすると,Excel で開いてくれます。

ダウンロードしたCSVファイルをExcelで開いたところ(アイスクリーム購入金額の推移)
ダウンロードしたCSVファイルをExcelで開いたところ(アイスクリーム購入金額の推移)

ちなみに,ネットでダウンロードしたファイルを何も考えずにダブルクリックするのは,私には怖くてできません。偽装されたマルウェア(ウイルス)かもしれないからです。Excelを立ち上げてからファイルメニューで開く方がより安全です(Excelにドラッグ&ドロップして開いてもかまいませんが,慣れていないとうっかりダブルクリックしてしまう可能性もあります)。有名サイトでも改ざんされてマルウェアを送ってこないとは限りません。もっとも,これは一般論で,e-Statでそのようなことが起こったことはありません。

e-Stat のデータベースは,とても便利なのですが,残念ながらすべてのデータがこの形式で提供されているわけではなく,いまだにExcelでしか公開されていないデータもあります。そのようなデータには,セル結合などを駆使して作り込み過ぎて,データとして再利用するためには手間が必要なものも多くあります。CSVファイルはセル結合できません。

本来のCSVファイルは,1行目に項目名を並べ,2行目からその項目の数値を並べ,メタデータ(説明など)は別ファイルに収めるのが望ましいのですが,e-Stat のCSVファイルはそうなっていません。先頭の数行はメタデータですし,年月の列の先頭に項目名がありません。数値も,テキストエディタで開いてみればわかるように,“1,384”のように3桁ごとにコンマを入れてダブルクォートで囲んであります。これではRなど統計ソフトで読み込むには余計な作業が必要です。小数点をコンマであらわす国も珍しくありません。オープンデータとしては,いろいろ問題があります。

また,このような時系列データは,後述の気象データのように,上から下に向かって時間が増えるように並べるのが一般的ですが,ここでは逆になっています。あとで気象データとマージすることも考えて,上下逆に並べ替えて,購入額の推移をグラフにしてみてください。

購入額の推移をグラフにした
購入額の推移をグラフにした


3. 気象データの調べ方 ↑UP

東京の気象データについては,気象庁Webページ『過去の気象データ』が出典と書かれています。このサイトは有名ですので,ぜひ使い方をマスターしてください。「過去の気象データ・ダウンロード」で検索すればすぐ見つかります*3。手順は次の通りです。

・「地点を選ぶ」で「東京」を選ぶ

・「項目を選ぶ」で,データの種類「月別値」,項目「日最高気温の月平均」「降水量の月合計」「月平均相対湿度」「日最高気温25℃以上の日数(月)」 を選ぶ

・「期間を選ぶ」で2003年月〜2012年12月を選ぶ

あとは「CSVファイルをダウンロード」をクリックするだけです。CSVファイルは「data.csv」というファイル名です。Excel で開くと次のようになっています(実際はもっと右にも列があります)。

ダウンロードしたCSVファイルをExcelで開いたところ(気象データ)
ダウンロードしたCSVファイルをExcelで開いたところ(気象データ)

ご覧のように,CSVファイルを直接テキストエディタで開くとたとえば2003/1となっている箇所が,Excelで開くとセルにはJan-03 と表示され,上の数式バーには2003-1-1と表示されるといった変な現象が起きています。これは日付っぽいものを日付に変換する有名な「Excelのおせっかい」です。気象データの場合には,本当に日付なのですから,あまり問題はないのですが,これがOct4のような遺伝子名の場合,とても困ります。日付と誤認識されて,セルには4-Oct と表示され,数式バーには2016-10-4などと表示されます。Excel の中では何とか直せても,CSV 形式で保存してから読み込むと,また日付に戻ってしまいます。

また,あまり考えないで項目を指定したので,品質情報,均質番号などが入り込んでしまいました。ここではこれらは消してかまいません。「年月」「日最高気温の平均(℃)」「降水量の合計(mm)」「平均湿度(%)」「日最高気温25℃以上日数(日)」だけにすると,後の作業が楽です。



4. グラフにしてみる ↑UP

センター試験の問題では,グラフの縦軸は1日あたりのアイスクリーム平均購入額になっています。月ごとのデータを1日あたりに直すには, 1月は31で割り,2月は28で割る(うるう年は29で割る)といった面倒なことをしなければなりません。「西向く士(さむらい)」(2,4,6,9,11)が小の月ですね。うるう年は,この範囲の年であれば, 4の倍数の年がうるう年です。

とりあえず平均最高気温と1日あたりのアイスクリーム購入額をRでプロットしてみると,次のようになります。

グラフ

散布図は0からはじめる必要はありませんが,アイスクリーム購入額や降水量,湿度,日数は0からはじめるという考え方もあると思います。ただ,気温(絶対温度でないセ氏温度やカ氏温度)を0からはじめる意味はまったくありません。これは,金額や降水量などの比例尺度(比率尺度)の量と,セ氏温度などの間隔尺度の量との違いです。10℃の気温が20℃になったとしても「温度が2倍になった」とは絶対に言いません。当たり前のことだと思われるかもしれませんが, 5年前の福島第一原発の事故で使用済み燃料プールの水温が90℃になったときにNHKは「通常の2倍以上の温度」と報じましたし,林間学校で生徒が80℃のお湯に入って火傷したというニュースを「約2倍に相当する熱湯」と報じたテレビ局がありました。このような誤解を広げないためにも,温度のグラフはむしろ0℃からはじめない習慣をつけたほうがよいかもしれません。

それはそうと,平均最高気温とアイスクリーム購入額には見事な相関があります。ただ,直線相関ではなく,曲線相関です。縦軸を対数目盛にすると少し直線に近づきます。そのため,通常の相関係数は0.906ほどですが,アイスクリーム購入額を対数にすれば,相関係数は0.943に増えます。

グラフ


5.オープンデータを活用しよう ↑UP

国や自治体の持っているデータがオープンデータとしてどんどん公開されれば,それらを組みあわせて解析することにより,いろいろおもしろいことがわかってくることが期待されます。そのためには,高度なツールは必要なく,ExcelまたはRで十分です。高校生程度の予備知識でも,新しい発見ができるかもしれません。

数学の時間には,なかなかこのような活動はしにくいので,情報の時間に生徒に取り組ませてみてはいかがでしょうか。


©Daiichigakushusha