データ分析の進め方と、分析前に知っておきたいデータの種類:やさしいデータ分析
データ分析の初歩から応用まで少しずつステップアップしながら学んでいく連載の第2回。データ分析の流れを概観した後、取り扱うデータの種類について見ていきます。また、オープンデータを利用した簡単なデータ分析についても紹介します。
データ分析の初歩から応用まで少しずつステップアップしながら学んでいく連載の第2回です。前回はデータ分析とは何か、ビッグデータ時代の今、なぜデータ分析を学ぶべきなのかといったことを見た後、この連載で取り扱う内容を紹介しました。今回は、引き続き、データ分析の流れを概観した後、取り扱うデータの種類について見ていくこととします。また、オープンデータを利用した簡単なデータ分析についても紹介します。
連載:
この連載では、データをさまざまな角度から分析し、その背後にある有益な情報を取り出す方法を学びます。
データの収集方法、データの取り扱い、分析の手法などについての考え方を具体例で説明するとともに、身近に使える表計算ソフト(ExcelやGoogleスプレッドシート)を利用した作成例を紹介します。
必要に応じて、Pythonのプログラムや統計ソフトRなどでの作成例にも触れることにします。
数学などの前提知識は特に問いません。肩の力を抜いてぜひとも気楽に読み進めてください。
筆者紹介: IT系ライター、大学教員(非常勤)。書道、絵画を経て、ピアノとバイオリンを独学で始めるも学習曲線は常に平坦。趣味の献血は、最近脈拍が多く99回で一旦中断。さらにリターンライダーを目指し、大型二輪免許を取得。1年かけてコツコツと貯金し、ようやくバイクを購入(またもや金欠)。
データ分析の進め方はスパイラル!
データ分析をどのように進めるかについては、誰もがある程度は経験的に理解しているかと思います(図1)。前回も似たような図を掲載しましたが、前回はデータ量(Volume)やデータの種類(Variety)、データが収集される速度(Velocity)に注目して、ビッグデータ時代のデータ分析の特徴を見ました。今回は、データ分析では何を行うのかという「流れ」に注目し、データ分析の進め方を見た後、取り扱うデータの種類について見ていきます。なお、以降の説明については、動画でも見られるようにしてあります。説明を丁寧に追いかけたい方は、ぜひご視聴ください。
動画1 データ分析の進め方と、取り扱うデータの種類
図1 データ分析の進め方
データ分析の進め方をざっくりと図にしてみた。調査や実験などによって得られたデータをコンピュータに入力し、分析手法を適用して何らかの結果を得る。ただし、それで終わりではなく、出力された結果をさらに検討し、より詳細な分析を行う。このような作業を繰り返すことにより、最終的な分析結果を得る。なお、ログとは刻々と発生するデータを記録したもの。
図1で見たデータ分析の作業の流れを箇条書きにしておきます。
- 調査や実験などから得られたデータを入力する
- 分析の手法を適用し、データの特徴を表す値を求めたり、特徴を可視化したりする
- 上の出力を検討し、より詳細な分析を行う必要があれば2に戻る
- 最終的な分析結果としてまとめる
分析の手法については、次回以降、具体的に見ていきますが、「分析を行って結果が得られた。メデタシメデタシ」で終わるわけではありません。得られた結果から新たな疑問が浮かび上がってくることもよくあります。そのような場合には、他の項目に注目したり、別の手法を適用したりして、さらに分析を行います。必要であれば、追加の調査や実験を行うこともあります。つまり、スパイラル(らせん)のように繰り返しつつ、分析の精度を上げていくというわけです。
「らせん」とは、植物のつるのように巻き付きながら上がっていくような三次元の形のことで、英語ではヘリックス(helix)と言います。本来、蚊取り線香のような二次元の「渦巻き」がスパイラル(spiral)なのですが、繰り返しを行いながら精度を上げていくことの例えとして、日本語では「スパイラル」「スパイラル的」という表現が一般的に使われています。
コラム データ分析へのアプローチ〜仮説の探索と検証
実は、図1の中には記されていない重要なキーワードが1つあります。それは仮説です。
例えば、日々の活動や、店舗の責任者へのインタビューなどから「比較的、低価格の商品が売れているのではないか」とか「今後、より節約志向が高まる傾向にあるのではないか」といった仮説が得られます。データを眺めているときに何らかの気づきが得られることもあるでしょう。ちなみに、このようにして仮説を見つけ出す調査の方法を仮説探索型の調査と呼ぶことがあります。
仮説が立てられれば、データを集計したり、グラフによる可視化を行ったりすることによって、仮説が支持されるかどうか、詳細な分析を行います。このような調査・分析の方法は仮説検証型の調査と呼ばれます。
上でも述べたように、仮説が支持されると考えられる場合でも、仮説が支持されないと分かった場合でも、そこで分析が終わるわけではなく、さらなる仮説が立てられるのが普通です。例えば、分析を行っている中で、低価格の商品の売り上げの伸びは大きいが、一方で、高価格の商品の売り上げも伸びていることに気づいたとすれば「比較的購買力に余裕のある中・高齢者の利用も増えているのではないか」といった仮説も立てられます。このように、データ分析は仮説探索型と仮説検証型とに明確に分けられるのではなく、それらを繰り返しながら、より詳細な分析を行っていくことになります。
ただし、ビッグデータを取り扱う場合、日常の感覚だけでは見当が付かないことも多く、また、圧倒的なデータ量と項目数のために、分析に先立って仮説を立てることが難しい場合もあります。そのような場合には、取りあえず利用できる項目を使って、試行錯誤的にさまざまな分析を行い、何らかの特徴を発見するというアプローチも取られます。
分析の前に知っておきたいデータの種類〜構造化データと非構造化データ
続いて、データの入力・収集に当たって知っておくべきこととして、取り扱うデータの種類について詳しく見ていきます。
構造化データ 〜 レコードとフィールド
一般に、データの種類は、構造化データと非構造化データに大きく分けることができます。
構造化データとは、文字通り構造が決まったデータのことです。端的に言うと、レコードとフィールドから成るデータです。レコードとは1件分のデータのことで、フィールドとはレコードに含まれる項目のことです。アンケートの調査票の例で見てみましょう(図2)。
図2 構造化データの例
1枚の調査票から得られるデータが1件分のデータ(=レコード)となる。従って、このデータのレコード数は3。それぞれの質問項目の値がフィールドに当たる。レコードには「No.」「年齢」「性別」「Q1(時間)」「Q2(スポーツ)」「Q3(満足度)」という6つのフィールドが含まれることも分かる。図の下は、このデータをExcelのワークシートに入力した例。Excelではレコードやフィールドという用語は使われないが、1レコードを1行に、各フィールドの値を各列に入力する。年齢や時間は数値をそのまま入力しているが、性別やスポーツなどについては、男性は1、女性は2というように、区別するための値を決めて入力している。なお、Webページに含まれる内容(項目)を表すデータも「構造化データ」と呼ばれる(「JSON-LD」と呼ばれる記法で書かれる)が、この連載では、レコードとフィールドから成るデータを指すものとする。
なお、データベースでは、レコードのことをタプルと呼んだり、フィールドのことを属性と呼んだりすることもありますが、同じものと考えて差し支えありません。
定量的なデータと定性的なデータ
ところで、各項目をよく見ると、データには異なる種類のものがあることが分かります。一つは量を表す定量的なデータで、もう一つは性質を表す定性的なデータです。
では、どの項目が定量的なデータで、どの項目が定性的なデータであるか、ちょっと考えてみてください。オレンジ色の部分をタップまたはクリックすると答えが表示されます。なお、「No.」はレコードを識別するための番号なので、分析のためのデータ(変数)としては扱いません。
- 定量的なデータ 年齢、時間
- 定性的なデータ 性別、スポーツ、満足度
年齢や時間については、値の間隔が一定で、値の大小が意味を持っています。このようなデータは定量的なデータと考えられます。
一方、性別やスポーツについてはそうではありません。性別やスポーツも数値で表されていますが、単に区別するために与えたコードです。性別の1(男性)よりも2(女性)の方が大きいとか、スポーツの1(野球)よりも2(ソフトボール)の方が大きいということはありません。これらが定性的なデータであるということに疑問はないでしょう。
では、満足度はどうでしょう。満足度が1よりも2の方が大きいので定量的なデータと思われるかもしれません。しかし、値の間隔が一定であるとは限りません。例えば1(大いに不満)と2(やや不満)との間隔は、2(やや不満)と3(ふつう)との間隔は異なるかもしれません。1を付ける人は大きな不満があるので相当な低評価なのかもしれません。一方、2と3の間隔はそれほど大きくないかもしれません。というわけで、満足度は定性的なデータとなります(以下のコラムで説明する順序尺度に当たります)。
定量的なデータと定性的なデータでは、分析を行う際の取り扱いが異なります。まずは、データの種類について、違いをはっきりと認識しておくことが重要だということだけ理解しておいてください。
コラム 尺度によって分析方法が異なる
データの性質による値の表し方の違いは 尺度(しゃくど)と呼ばれ、以下のように分けられます。
- 定量的なデータ
- 間隔尺度: 年齢や時間のように、値の間隔が一定で、値の大小が意味を持つもの。間隔尺度のうち、長さや重さのように原点0があるもの(「ものさし」や「はかり」で測定できるようなものと考えてもよい)を、特に比率尺度と呼ぶこともある。
- 定性的なデータ
- 順序尺度: 満足度のように、大小が数値によって表されていても、数値の間隔が一定でないもの。つまり、単に順序を表しているだけのもの。
- 名義尺度: 性別やスポーツのジャンルのように、大小が比較できないもの。
上で述べたように、尺度の違いによってデータの取り扱いや適用する分析の手法が異なります。そのことについては、それぞれの手法を見ていく中であらためて説明します。
前項の図1に示した調査データや実験データは、多くの場合、形式の決まった構造化データです。もちろん、次に述べる非構造化データが得られることもあります。
非構造化データ 〜 分析に適した形に変換する必要がある
非構造化データとは、文章や画像、サウンドなどのように、レコードとフィールドの形式で表されていないデータのことです。例えば、最近話題のChatGPTでは、文字で表された自然言語のテキストが入力データとなります。ログデータのうち、POS端末から得られる売り上げデータは構造化データですが、カメラやセンサーから得られるデータは、画像やサウンドなどの非構造化データであることが少なくありません。この連載では、非構造化データはあまり扱いませんが、どのようなものか確認しておきましょう(図3)。
図3 非構造化データの例
上の例は、動物(ヒョウ)を撮影し、顔の部分を縦100×横100(ピクセル=点)の画像データにしたもの。各ピクセルの色はR(赤)、G(緑)、B(青)、α(不透明度)の度合いで表されている。このデータは行×列×色の3次元の配列の形式で表される。下の例は文章の一部。そのままでは詳しい分析ができないので、形態素解析と呼ばれる方法で、品詞に分解するなどの前処理を行っている。
非構造化データの場合、元のデータはレコードとフィールドで表されていません。そこで、分析に適した形式に変換して利用します。例えば、画像データであれば、各ピクセルを3次元の配列として取り扱えるようにします。ちなみに、多次元の配列のことをテンソルと呼ぶこともあります。
文章もやはりレコードとフィールドで表されていませんが、形態素解析と呼ばれる方法により、辞書に基づいて品詞に分解されます。図3の例であれば、1単語のデータが1レコードとして1行で表され、それぞれの単語の品詞や活用形、読みなどがカンマやタブ文字などで区切られたフィールドとして表されます(構造化データとして取り扱えるように変換される)。
図3のデータは、いずれもPythonのプログラムによって作成されたものです。ここではプログラムの詳細には触れませんが、興味のある方はこちらをご参照ください。形態素解析は「作って試そう! ディープラーニング工作室」のプログラムを参考にしたもので、MeCabと呼ばれるライブラリと、UniDicと呼ばれる辞書を利用しています。
実践の第一歩として 〜 ビッグデータ時代のオープンデータ利用
最後に、取り扱うデータについて、少し観点を変えて見てみましょう。
国勢調査で得られるデータと、商品の調査などのために取られるアンケートのデータには、大きな違いがあります。それは、一般に公開されるかそうでないかということです。一般に公開されているデータのことをオープンデータと呼びます。なお、デジタル庁では「オープンデータ」を誰もがインターネットなどを通して容易に利用できるものと位置付けており、こちら(PDF)のように定義しています。オープンデータを利用したり、複数のオープンデータを組み合わせたりすることにより、新たな発見を得ることもデータ分析の醍醐味(だいごみ)の一つです。
調査の方法という観点からすると、全数調査であるか標本調査であるかということも違いとして挙げられます。全数調査では母集団全体について調査を行います。一方、標本調査では、母集団から標本を取り出して調査を行います。母集団とは調査対象全体のことで、標本(サンプルとも呼ばれます)とは母集団から取り出された一部のデータのことです。
国勢調査は、日本に住む全ての人が母集団であり、母集団全体について調査を行う全数調査です。
一方、ある店舗を利用する顧客に対して、商品の好みを調べる場合、顧客全員にアンケートを採るのは難しいので、標本調査を行うことになります。母集団はその店舗を利用している顧客全体で、店舗に訪れてアンケートに答えてくれた顧客が標本となります。
デジタル庁が運営しているe-Govデータポータルから、さまざまなオープンデータにアクセスできるので、どのようなものがあるか眺めてみましょう(図4)。
図4 データカタログサイトのデータセット一覧
キーワードやカテゴリから利用したいデータが検索できる。画面の下の方には、データを提供している組織を選択して検索できる一覧などもある。なお、URLや画面は予告なく変更されることもあるので、これ以降の図が、実際とは異なる表示になる場合もあることに注意。
オープンデータの内容は、調査の概要やコード表などの資料的なものから、集計結果や生のデータなど多種多様です。ただし、公開されているからといって、自由に使っていいというわけではなく、利用に当たってはデータを公開している機関の利用規約とライセンスに従う必要があります。
初めてのオープンデータ活用
今回は「さわり」ということで、オープンデータを取得する方法や、ちょっとした分析例、よくある落とし穴の例を、ちらっと垣間見ることにしてみましょう。
今回のテーマはデータ分析の進め方を理解することと、データの種類や性質を知ることなので、グラフ作成の操作手順をステップごとに追いかけたり、分析手法を詳しく解説したりすることはしません。ここでは、どんなことができるかを確認していただくだけで十分です。
e-Govデータポータルでデータのダウンロード
例えば、キーワードとして「労働力調査 詳細集計」を入力して検索を行うと、キーワードに一致するデータの一覧が表示されます。その中の「労働力調査(詳細集計)_令和4年」をクリックすると、リンクが幾つか表示されます。[ダウンロード]をクリックして、Excelのブックをダウンロードしてみましょう(図5)。
図5 データの詳細情報やデータを取得する
「労働力調査(詳細集計)_令和4年」を選んだところ。ここからデータをダウンロードしたり、データの詳細情報が取得したりできる。「2022年1〜3月期 ...]というリンクをクリックすると、データの詳細情報が表示され、ライセンスが「政府標準利用規約(第 2.0 版)」であることなどが分かる。利用規約の詳細については、こちら(PDF)を参照。
ダウンロードされたファイルをExcelで開くと、以下のような画面が表示されます(図6)。
図6 取得したデータを表示する
詳細なデータが記録されているので、一部分のみ表示。ここでは内容の分析は行わないが、各階級の行や列の途中に合計の項目が設けられているので、利用に当たってはデータの加工が必要になる。出典:「労働力調査(詳細集計)_令和4年」(総務省)
統計ダッシュボードでデータのグラフ表示と分析
オープンデータを提供しているサイトがすでに分かっていれば、直接アクセスしてデータを取得するのが手っ取り早いですね。サイトによっては検索や加工のための便利なツールが用意されていることもあります。例えば、政府統計の総合窓口であるe-Statや統計ダッシュボードでは、データの検索だけでなく、グラフ化などを行うツールも用意されています。そこで、別の例でちょっとした分析も行ってみましょう。
図7は、統計ダッシュボードで「実質賃金」を検索して、「賃金指数」のデータを選択し、周期を「年」としたグラフと数値を示したものです。左上に表示されている[<]ボタン(データ変更ボタン)をクリックすれば、集計の周期や地域を変えることができます。
図7 統計ダッシュボードを利用して実質賃金の推移を見る
実質賃金指数は2020年を100とした値。実質賃金が下っていることが分かる。左上の[数値]タブをクリックすると、グラフの基となる数値が一覧表示できる。また、右上にある[その他機能]をクリックするとデータをCSVファイルとしてダウンロードすることもできる。出典:統計ダッシュボード
このように一定時間ごとに得られたデータのことを時系列データと呼びます。図7のデータは単独で利用しても興味深いのですが、例えば正規労働者と非正規労働者の人数など、ほかのデータと組み合わせて考察を加えると、より深い分析ができます。例えば、統計ダッシュボードから「労働力調査」というキーワードで検索を行い、「正規・非正規の職員・従業員」のデータをダウンロードしてExcelでグラフを作成すると図8のようになります。
図8 統計ダッシュボードを利用して正規労働者と非正規労働者の人数の推移を見る
左の目盛りが正規労働者の人数、右の目盛りが非正規労働者の人数。正規労働者は2007年〜2014年にかけてやや減った後、増加に転じている。非正規労働者は一貫して増加の傾向にある。統計ダッシュボードのデータを加工して作成。
実は、図8のグラフは非正規労働者の多さを印象付けるために、かなり恣意(しい)的に作ってあります。左の目盛りと右の目盛りとでは値の範囲が全く違いますね。一見すると、2007年に非正規労働者の人数が正規労働者の人数を上回ったように見えます。しかし、目盛りをちゃんと見ると、(非正規労働者が増加しているとはいえ)全体としては正規労働者の方が多いことが分かります。
さらに、目盛りの間隔を変えると、人数の伸びを大きく見せたり、小さく見せたりできるので、自分の都合のいいように印象操作することもできます。もっとも、ここでは人数の変化を比較したいので、目盛りの間隔は統一しています(これに関しては良心的ですね)。確かに、データを見てみると、2002年から2022年にかけて正規職員は約100万人増加しているのに対し、非正規職員は約650万人も増加していることが分かります。全体の人数については比較できないグラフですが、人数の変化については信用できるグラフだというわけです。
実質賃金のデータと正規/非正規労働者のデータを組み合わせることにより、実質賃金の低下の原因が非正規職員の急激な増加によるものではないかと推測できそうです。しかし、それが唯一の原因だと結論付けてしまうのはまだまだ早計です。実質賃金の低下や非正規職員の増加を引き起こしている真の原因がほかにあり、結果として、このようなデータが得られたのかもしれません。分析を行って何らかの特徴が発見できたとしても、いきなり結論に飛びつくのは危険です。ほかの要因やより本質的な原因などをさらに検討する必要があります。
今回はデータ分析の進め方と、データ分析を行う前に知っておきたいデータの種類についてお話した後、オープンデータを使ったデータ分析を「さわり」のレベルではありますが、ざっと紹介しました。しかし「さわり」だけでは物足りない、分析の方法を早く知りたいという方も多いでしょうから、次回以降は、統計量を求めたり、グラフによる可視化を行う方法など、データ分析の実践を少しずつ進めていきたいと思います。
分析に適した形式にデータ加工する方法についても、詳しく紹介したいところですが、一通り手法を学んだ後、連載の最後で改めて詳しく解説することにします。
というわけで、次回は、データの特徴を端的に表すために使われる代表値について、その求め方と性質、尺度による違い、落とし穴などを見ていきます。では、お楽しみに!
Copyright© Digital Advantage Corp. All Rights Reserved.