3-2:データのクレンジングと可視化 ·...

8
3-2:データのクレンジングと可視化 [コース3]データ分析 総務省 ICTスキル総合習得教材 【概要版】 eラーニング用 1 2 3 4 5 [コース1]データ収集 [コース2]データ蓄積 [コース3]データ分析 [コース4]データ利活用

Upload: others

Post on 24-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

3-2:データのクレンジングと可視化 [コース3]データ分析

総務省 ICTスキル総合習得教材

【概要版】 eラーニング用

1 2 3 4 5 [コース1]データ収集 [コース2]データ蓄積 [コース3]データ分析 [コース4]データ利活用

Page 2: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

本講座の学習内容(3-2:データのクレンジングと可視化)

Microsoft Excelのステータスバーを利用した異常値の確認方法を紹介します。 ExcelのIF関数を使った欠損値・異常値の除去方法やPHONETIC関数、TRIM関数を使った表記揺れの統一方法を説明します。

データの可視化(見える化)の概念を紹介し、可視化の方法による印象の相異を示します。

実習紹介

Excelのステータスバーを活用した異常値、欠損値の確認ができる。

ExcelのIF関数を利用して、欠損値・異常値を除去する方法を理解する

ExcelのPHONETIC関数、TRIM関数を使った表記揺れの統一方法を把握する。

可視化の概念を理解し、可視化の方法による印象の相異を把握する。

[1] Excelにおける異常値の確認

【講座構成】

[2] Excel関数におけるデータクレンジング

【学習のゴール】

【講座概要】

[3] データの可視化(見える化)

Page 3: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

Microsoft Excelを利用した異常値の確認およびExcel関数を利用したデータクレンジングを説明します。

Excelにおける異常値の確認とデータクレンジング [1] Excelにおける異常値の確認

データクレンジング(データの前処理)とは、収集したデータを利用しやすい形に整えたり、分析の障害となる異常値、重複データ等を取り除き、分析しやすい状態にすることです。

このパートでは、既に構造化データ(Excel形式)になっているデータのクレンジングを行うケースを想定しています。 • 半構造化データ・非構造化データを構造化データへ変換するデータクレンジングもありますが、入門者向けの内容を越えることに加え、Microsoft

Excel内では実行できないため、割愛します。

• データ分析の専門家であっても、データクレンジングにかかる時間が本格的な分析作業以上の時間となることがたびたびあります。このため、データクレンジングを効率的に行うことは重要です。

このパートでは、広く普及しているExcelを用いて、プログラミング等の知識なく行えるクレンジングを紹介します。 • Excelにおいても、プログラミングが可能なVBA(Visual Basic for Applications)を利用できますが、本パートではVBAの紹介はしません。 • Excelにおけるプログラミング不要のデータクレンジングは、比較的簡単に実施できるため、分析初心者や分析の補助者でも可能です。

Excelにおけるプログラム不要のデータクレンジングの短所として、作業プロセスとなるプログラムコードや作業記録となるログが自動で残らないことが挙げられます。

作業手順をExcelの別シート等に記録するとともに、元のデータを削除せず保存しておきましょう。

• データ分析においては、他の人が行っても同じ分析結果を導出できる「再現可能性」が重要です。自分自身が理解するのみならず、他の人に説明できるように、他の人でも同じデータクレンジングが行えるように記録することが重要です。

• データクレンジングの記録を残しておくことで、再度同じクレンジングを行う場合、クレンジングの方法を変える場合に参照することができます。

• 講座4-3で紹介するような統計解析向けのプログラミング言語のRでは、プログラムコードやログを残すことができます。

Page 4: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

Excel形式のデータの整理、クレンジングする際には、通し番号を作っておくのが便利です。 通し番号の挿入

• 「1」のセルだけを選択した状態で、右下の黒い四角をダブルクリックすると、最終行まで「1」が並びます。

• 通し番号は、行のIDとしても利用でき、データの全レコード(行)数を確認する場合にも、ソート(並び替え)を元に戻す場合においても、便利です。

データセットの左端に空白の列を作り、1行目に「1」、2行目に「2」を入力して、入力した二つのセルを選択した状態で、「2」の右下の黒い四角をダブルクリックすると、最終行まで通し番号がつきます。

[1] Excelにおける異常値の確認

通し番号 日付 商品 単価 数量 1 7月1日 ボールペン黒 100 1 2 7月1日 ボールペンRED 100 1 3 7月1日 ボールペンred 100 3 4 7月1日 ノート 100 2 5 7月1日 はさみ 200 -1 6 *** *** *** *** 7 7月2日 鉛筆 50 3 8 7月2日 ハサミ 200 2 9 7月2日 ノート 100 N/A 10 7月2日 エンピツ 50 9999

右表のような、文房具店の売上を示す構造化データをExcelでクレンジングするケースを考えます。

元のデータに通し番号がない場合は、一番左に通し番号の列を作っておきましょう。

Excelにおける通し番号のつけ方

ダブルクリック

• リレーショナルデータベースと呼ばれる構造化データの格納に適したデータベースにおいても水平線を「行」、垂直線を「列」と言います。

• 漢数字の「十」の書き順で「行・列」と覚えて下さい。

Excelでは水平線側を「行」、垂直線側を「列」と呼びます。

この表では、水平線の行には個別の売上情報が記入され、垂直線の列にはその単価や数量の属性情報が記入されています。

行 列

• 水平線側に個別の対象、垂直線側にそれぞれの属性情報が記入されるのは、リレーショナルデータベースとしても一般的です。

Page 5: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

ステータスバーによる異常値のチェック

Excel画面のステータスバーを右クリックし、表示項目の〈平均〉〈データの個数〉〈数値の個数〉〈最大値〉〈最小値〉〈合計〉にチェックを入れます。

Excelで異常値の確認をする際は、ステータスバーによる確認が便利です。 Excel画面下側の表示倍率を表す枠の部分を「ステータスバー」といい、ステータスバーを右クリックすることで、その表示内容を選択できます。

ステータスバーの表示内容を選択

右クリック

列全体を選択して異常値を確認

左クリック

Excelの列頭のアルファベットを左クリックすることで、列全体を選択してからステータスバーを確認します。

• 異常値のチェックに利用するのは、主に〈データの個数〉〈数値の個数〉〈最大値〉〈最小値〉ですが、〈平均〉〈合計〉の表示もデータの確認に便利です。

左クリック D列[単価]選択時のステータスバー

E列[数量]選択時のステータスバー

• 例示の表のように1行目に「単価」「数量」などの変数名が入っている場合は、〈データの個数〉よりも〈数値の個数〉が1小さくなりますが、それ以上の差があれば、数値が入るべき列に文字入力があることに気がつけます。

• 利用できないデータを欠損値や欠測値と言います。欠損値は「N/A」と記入されたり、代わりの値として「-1」「9999」が記入される場合があります。 • ステータスバーの最大値や最小値が現実的な値になっているかを確認することで、簡潔な異常値のチェックができます。

〈データの個数〉よりも〈数値の個数〉が2小さく、 変数名以外に文字入力が1つあることに気がつく。 最小値、最大値は現実的な値で問題はなし。

〈データの個数〉よりも〈数値の個数〉が3小さく、 変数名以外に文字入力が2つあることに気がつく。 最小値、最大値は非現実的な値で、異常値がある。

[1] Excelにおける異常値の確認

Page 6: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

ExcelのIF関数を使うと欠損値・異常値を他の文字に置き換えて数値を抽出できます。 IF関数による欠損値、異常値の置き換え

ExcelのIF関数は『=IF(条件式,条件を満たす場合の出力,条件を満たさない場合の出力)』とコンマで区分して入力することで、条件式で場合分けした出力ができます。

セルに『= IF(D2<10000,D2,”.”)』と入力すれば、対象セルのD2が考えられる上限の10000より小さい数値であればD2の値をそのまま出力し、文字を含めそれ以外なら半角のピリオド『.』を出力でき、数値データを抽出できます。

[2] Excel関数によるデータクレンジング

• Excelの条件式において、「記号やスペースを含む全ての文字」はあらゆる数値より大きい値(無限大)として扱われます。このため、文字入力の可能性がある列においては、考えられる下限の0より大きいかの条件とする『= IF(D2>0,D2,”.”)』ではなく、考えられる上限値10000より小さいかを条件とする『= IF(D2<10000,D2,”.”)』としてください。

• 数値データかどうかを識別するISNUMBERという関数もあります。この関数をIF関数の条件式に入れて『=IF(ISNUMBER(D2),D2,“.”)』 とすることで、数値データを抜き出すこともできます。

数値データを抽出し、数値でなければピリオドを出力する場合

-1や9999といった異常値も除いて、0以上100以下のみ数値を出力する場合

セルに『=IF(AND(E2>=0,E2<=100),E2,“.”)』と入力すれば、対象セルのE2が0以上100以下ならE2の値をそのまま出力し、そうでなければ半角のピリオド『.』を出力することができ、数値データを抽出できます。 • 条件式の中に入っているANDは、両方満たす場合の「かつ」を表すExcel関数で、コンマで区切ることで複数の条件を与えることができます。どちらかを満たす場合の「または」を表すORという関数もあります。

• Excelの条件式では「より大きい(>)」「より小さい(<)」の記号の後ろにイコール(=)を入れることで、「以上(>=)」「以下(<=)」となります。

数値データの抽出

0以上100以下の数値の抽出

Page 7: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

PHONETIC関数では読み仮名を抽出し、TRIM関数では文字前後の空白を削除します。 Excel関数による表記揺れの統一

[2] Excel関数によるデータクレンジング

文字データに表記揺れや空白があると、データをとりまとめられないため、表記を統一する必要があります。

Excelの「検索と置換」から置換機能を使うことでも、表記揺れの統一作業は可能ですが、Excel関数を使う場合に比べても、作業手順や置換した内容が分かりにくく、作業内容の確認や作業の再現がしにくくなります。

Excelの置換機能を使う場合は、置換した文字のリスト、指定範囲を記録するようにしましょう。

PHONETIC(フォネティック)関数:文字列の読み仮名をカタカナで出力する

TRIM(トリム)関数:文字の始めと終わりの空白を削除して出力する

セルに『=PHONETIC(C2)』と入力すれば、対象セルのC2のフリガナをカタカナで出力します。 • PHONETIC関数は読み仮名をつける関数ですが、「はさみ」と「ハサミ」の表記揺れの統一にも利用できます。

セルに『=TRIM(C2)』と入力すれば、対象セルの文字の前後の空白を除去します。 • 文字の前後に空白が入り、表記揺れになってしまう場合の表記統一に利用できます。 • TRIM関数は単語内で複数の空白が続く場合は、一つの空白にまとめます。 (例)「 ノ ート 」→「ノ ート」

カタカナでの表記揺れの統一

空白除去による表記揺れの統一

異常値の除去、表記揺れの統一といったデータクレンジングが終われば、可視化をはじめとする分析が行えます。

Page 8: 3-2:データのクレンジングと可視化 · 可視化の概念を理解し、可視化の方法による印 ... • 講座4-3で紹介するような統計解析向けのプログラミング言語のrでは、プログラムコードやログを残すことができます。

データの可視化(見える化)は図表を使って、データを分かりやすく表すことを指しています。

[3] データの可視化(見える化) データの可視化(見える化)

「大きい/小さい」「暑い/寒い」といった定性情報を定量データで表すことが可視化の第一歩です。 平均値などを表で表すことも可視化の一つと言えますが、棒グラフの長さといった視覚情報の方が、人間にとって理解しやすく、印象に残ります。

可視化において、図表の作成者が強調したい点を図表に入れ込むことができます。 • 営業資料などの作成者の主観的な強調が許容されるケースもあれば、学術資料などの客観的・画一的な表示が望ましいケースもあります。

曜日 平均気温 (℃)

月曜日 31

火曜日 32

水曜日 34

木曜日 37

金曜日 35

土曜日 33

日曜日 31

表による可視化 客観的・画一的な図での可視化 尺度を変更し、強調表示をした図

31

32

34

37

35

33

31

0 10 20 30 40

月曜日

火曜日

水曜日

木曜日

金曜日

土曜日

日曜日

平均気温(℃)

31

32

34

3735

33

31

30 32 34 36 38

月曜日

火曜日

水曜日

木曜日

金曜日

土曜日

日曜日

平均気温(℃)

データの可視化は分析の第一歩であるとともに、分析結果を分かりやすく表示するためにも重要です。

下記の3種の図表が持っている情報量は同じですが、情報の分かりやすさ、印象が異なります。