Everything can be mapped, counted, and measured. (Giorgia Lupi & Stefanie Posavec, 2016)

情報可視化の6ステップ

今回は、前々回の内容「データの取得と前処理1」と同様に、情報可視化の6ステップのうちの「データの用意」を扱います。

前回の講義でPythonを導入したので、今回はより実践的に、Pythonを使った「データの用意」を学びます。

データの取得

すでに言及したように、データの取得には様々な方法があります。

データの取得

  • 既存のデータを使う
    • 関係者の提供
      • 誰かがすでに持っているデータをもらう
    • オープンデータのダウンロード
      • さまざまな機関や団体が、自由に使えるデータを公開している
      • 関心のあるデータを探してみると面白い
    • API (Application Programming Interface)
      • ウェブサービスによっては、データセットではなくデータセットを取得するための接続口を提供している
      • SNSなどのデータはAPIを通して取得できることが多い
    • ウェブスクレイピング
      • ウェブサイトで公開されている情報を、スクリプトによって収集することができる
      • APIが提供されている時はAPIを優先する
      • 関連する法律やサイトの利用規約に気をつける
      • 法律や利用規約の範囲内でも、倫理的に問題にならない範囲で行う
  • 新たにデータを生成する(実験・調査・記録)
    • 特定の現象をシミュレーションする
    • 質問紙調査などの社会調査を行う
    • 健康に関する情報を測定機器を使って記録する
    • 映像や音声から文字を起こす、など

既存のデータを使うにせよ、新たにデータを生成するにせよ、重要なのは目的に沿った良いデータを集めることです。また、「データは作るもの」だという意識も重要です。提供されていないデータを収集してデータセットを作ることはもちろん、提供されているデータセットであってもデータ分析の目的に沿って出力されているわけではないため、データの取捨選択や加工が必要です。分析者のデータの作り方によって、データの有用性が決まるといえます。

Link to original

既存のデータを使う

新たにデータを生成する

  • 公的な実験・調査・記録
  • パーソナルデータ
    • Dear Data
    • 自分に関するデータ
    • living by numbers, personal analytics, quantified self, self-tracking とも言う
  • など

(Lupi & Posavec, 2016)

データ品質の評価

データ品質の国際標準規格として、ISO/IEC 25012:2008があります。以下の項目が挙げられていますが、これらを参考にしつつも運用の際にはそれぞれの目的に合わせてデータ品質を定義するのが良いでしょう。

項目説明
正確性概念や事象の意図された属性の真の価値を正しく表す属性を持つ程度のこと。「構文としての正確性」と「意味としての正確性」の2つの側面があり、「構文としての正確性」とは定められた形式や規則に従っているかどうか、「意味としての正確性」とはデータの値が実世界の真の値と一致しているかどうかを表す。
完全度あるべきデータがもれなく存在しているかを示す程度のこと。学生の緊急時連絡先データの場合、もし一部の学生の緊急時連絡先に関するデータが含まれていなければ、緊急時に全学生への連絡ができないため「完全度」は低くなる。
一貫性データが矛盾なく、ほかのデータと首尾一貫している程度のこと。例えば、学生の生年月日は入学日より遅くはならず、卒業日は入学日より早くならない。
信頼性使う人が真実であり信頼できると見なせる程度のこと。例えば、データ取得時のメタデータが充実している、信頼できる組織から認証されているなどは信頼できる理由の一つと見なされる。
最新性適切な新しさを持つ程度のこと。例えば、駅の時刻表や店舗の営業時間は必要な頻度で更新され、運営の実態と一致している必要がある。
アクセシビリティデータにアクセスできる程度、とくに障害のために支援技術や特別な構成を必要とする人々が、特定の使用状況でデータにアクセスできる程度のこと。例えば、スクリーン・リーダーで読み上げることを前提にした場合、読み上がられやすさを考慮する必要がある。
標準適合性施行されているデータ品質に関連する法令や規則に準拠する属性を持っている程度のこと。例えば、銀行の信用リスクデータは特定の法律および基準に準拠する必要がある。
精度データが正確な属性をもっているか、特定の使用状況において識別性を提供しているかの程度のこと。目的によって小数点以下5桁の精度が必要となることもあれば、小数点以下2桁の精度で足りることもある。
理解しやすさ使う人によって読まれ、解釈される属性を持ち、適切な言語、記号、単位で表現されている程度のこと。例えば、都道府県や市区町村を表すために全国地方公共団体コードを使うことがあるが、人が読むことを想定するならば感じによる都道府県名を用いた方が理解しやすさは上がる。
機密性特定の使用状況において、許可された人のみがデータにアクセスできるようにする程度のこと。例えば、健康に関する個人情報や利益に関する機密情報が含まれるデータは、許可された人のみがアクセスできるか、何らかの機密コードで記述する必要があると思われる。
効率性特定の使用状況で適切な量と種類のリソースを使用することにより、データが処理可能な属性を持ち、期待されるレベルのパフォーマンスを提供する程度のこと。例えば、データの保存に必要以上のスペースを使用するとストレージ、メモリ、時間の無駄になる可能性がある。
可用性データが特定の使用状況において、許可された人やアプリケーションによって使用できる属性を持つ程度のこと。例えば、データはバックアップ操作中にも利用できる必要がある。
移植性データが特定の使用状況において既存の品質を維持したまま、あるシステムから別のシステムへ移動できる属性を持つ程度のこと。
回収性データが特定の使用状況において障害が発生した場合でも、指定されたレベルの操作や品質を維持できる属性を持っている程度のこと。例えば、デバイスに障害が発生した場合、そのデバイスに保存されているデータは回復可能である必要がある。

整然データの作成

整然データ(tidy data)

可視化に適したデータとは、すなわち、整然データというものだと本講義では考えたいと思います。

Wickham (2014)1およびWickham, Çetinkaya-Rundel & Grolemund (2023)によると、整然データは以下の4つの条件を満たした表型のデータであり、データの構造(structure)と意味(semantic)が合致しているという特徴を持ちます。

  1. 1つの列は、1つの変数を表す。
  2. 1つの行は、1つの観測を表す。
  3. 1つの表は、1つの観測単位を持つ(異なる観察単位が混ざっていない)。
  4. 1つのセル(特定の列の特定の行)は、1つの値を表す。

以上の説明だけだと整然データがどんなものかを想像することは難しいので、実例を使って説明します。

ちなみに、整然ではないデータのことを雑然データ(messy data)と言います。

Link to original

整然データの作成

実例で一連の流れを見る

ノーベル賞受賞者のデータ