ノート/本

データマイニングとは

「データマイニング」とは、データをマインする(採掘する)という意味で、 大量の土砂の中に埋もれている価値のある鉱石を取り出すのと同じように、 大量のデータの中に埋もれている意味のある情報を取り出す、ということです。

大量のデータから、数学の知識を使って、意味のある情報を取り出す枠組みが、 データマイニングです。大量のデータを扱うためにコンピュータを利用しますが、 本書ではPython言語とそのライブラリを使って簡単なプログラミングで処理しよう というのが狙いです。

ここでは、大量の「データ」と価値のある「情報」と、言葉を使い分けています。 「データ」と言っているのはいわゆる「生の」データで、調査・測定の結果が中心です。 たとえば、学生の1人1人の成績だったり、アンケートの結果だったり、毎日の株価だったり します。「情報」はわれわれが理解したり判断したりするときに使いたい、圧縮された情報 です。たとえば、クラスの平均点だったり、アンケートから見える顧客の好みだったり、 株価のトレンドだったりします。このように、データマイニングは、大量データから 少ない情報へ圧縮する効果があります。本書ではこれから、さまざまな圧縮の技法を見てゆくことになります。

データマイニングが盛んになる背景にはいくつか考えられます。 1つは、企業などで業務がコンピュータシステム化されるに従って、日々のデータが 容易に蓄積されるようになったことです。たとえば在庫管理をシステム化すると、 日々の在庫の出入り(トランザクション)を扱うことになりますが、日々のデータを データ倉庫に蓄積保存することが容易にできます。このデータの長期的な傾向を 分析したり、他のデータたとえば営業や経理のデータと突き合わせることによって、 問題が見えてくることもあるでしょう。その分析や問題発見のツールとして、 データマイニングの手法が使われます。

もう1つは、過去10年ぐらいの間にインターネットが大きく普及し、いろいろなデータが ネット上に公開され、容易にアクセスできるようになってきたことが挙げられます。 行政も、持っている多くのデータを公開し、この傾向を後押ししています。 これらのデータを組み合わせてマイニングによって問題分析することもできますし、 自分のもつ独自のデータとこれらの公開データを組み合わせて、よりリッチな分析をすることも 可能になっています。

様々なデータ

これから、データの分析の手法を紹介してゆきますが、それらは数学的な原理に基づくもので、 機械的な処理をします。分析しようとするデータが、その手法の前提条件を満たしていないと、 正しい結果が得られないことになります。多くの手法に共通した、気を付けた方がいい 前提条件を眺めておくことにします。

<データの構造>

データは通常、1つかそれ以上の「変数」から成ります。たとえば身体測定の結果であれば、 1人1人のデータは身長と体重の2つの変数から成るかもしれません。この値のペアが 人数の分だけ並んでいるわけです。

このようなデータは、2次元の表の形に書くことができます。通常は、横軸に「変数」の 項目を1つずつ、縦軸にそれぞれの人ごとに1行ずつ、表のように書くことができます。

身長体重
1175.368.7
2169.265.1
3165.870.2

<尺度>

変数は、質的変数と量的変数に分類されます。それぞれによって扱い方が異なります。

量的変数は、数字の値として観測されるものです。上記の例では身長も体重も量的変数です。 変数の値として書かれているのは、測定の結果、ある桁数で四捨五入などをして揃えた 値ですが、元の値は実数値でしょう。他方で、個数・人数など数えて得られる数値は、 整数(離散値)になります。

質的変数は、ものの名前や属性など、数字で表すのではなくて語で書かれるものです。 たとえば、性別変数は値として「男」か「女」でしょうし、氏名(苗字)なら「田中」・ 「山田」などが書かれるでしょう。

変数の値どうしの関係には、次のような種類があります。

名義尺度: 区別するためだけに名づけられている尺度。大きさが考えられない尺度。 たとえば、上記の「男」・「女」や、血液型の「A」・「B」・「O」・「AB」など。 大小比較したり、差を取ったり、比例関係を計算したりすることができません。

順序尺度: 大小関係のみ意味がある尺度。 たとえば、アンケートで  5:とてもよい、4:よい、3:ふつう、2:わるい、1:とてもわるい のように取ったとき、これは順序尺度になります。ここでは 「よさ」の大小関係 5>4>3>2>1 に意味があります。 しかし、たとえば差、つまり5と4の違いと、4と3の違いの間の比較はできません。

間隔尺度: 大小関係に加えて、差にも意味がある尺度。 たとえば、摂氏(セルシウス)の温度(℃)は、間隔尺度です。 10℃と20℃の差は、50℃と60℃の差と同じ、と言うことができます。 しかし、20℃は10℃の2倍である、2倍熱い、と主張することはできません。 つまり、数字の間隔には意味があるが、数字の比率には意味がありません。

比率尺度: 大小関係・差に加えて、比率にも意味がある尺度。 たとえば、長さは、20センチの棒は10センチの2倍の長さ、と言うことができます。 ここでは、0に原点としての意味があります。温度の例の場合は、熱さつまりエネルギーの量 で考えた時に0℃は熱さ0ではありません。敢えて言えば絶対零度の時に熱さ0と考えて 絶対温度で測れば熱さの比率尺度になるでしょう。

これらの尺度は、データを扱う中で重要な違いになります。たとえば、順序尺度の例に挙げた アンケートの1〜5の値は、数字の差に意味がないのですから、平均値を計算することは 意味がありません。これなどは、よく気づかずに犯してしまう誤りなので、気を付ける 必要があります。(値による頻度分布や、最頻値・中央値などは意味があります。)

<データの欠損>

データを扱う上でもう1つ気を付けたいことは、データに欠損がないか、また欠損がある場合 にどう扱うか、という点です。例で考えてみましょう。

10人の学生の成績データがあるとします。ただしA君は期末試験当日に風邪で欠席して 成績がつけられず、未確定としてあります。このときの成績のクラス平均は何点になるか、 という問題です。

クラス全体の出来具合を見るのであれば、期末試験を受けた9人についての平均を取るのが よいでしょう。つまり、A君を除いた9人の点数の総和を9で割った価です。しかし、 機械的に処理してしまうと、A君を含めて総和を計算し、10で割ってしまうでしょう。 そのとき、A君の点数は「未確定」ですが、これをうかつに0で置き換えると、平均点を かなり押し下げる結果になります。たとえば、9人での平均点が90点であっても、 A君を0点とみなすことで、平均点は81点になってしまいます。

欠損値が存在することは、ややもすると考え落としてしまいます。 このように、欠損値の扱いを誤ると、正しい結果が得られないことになるので、 注意する必要があります。

データマイニングのいくつかの手法

データマイニングによって、大量のデータから意味のある情報を圧縮・抽出するとき、 よく使われ、本書で取り上げるいくつかの手法を簡単に紹介します。

まず、目的で分けると、

詳しい説明?


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-19 (月) 12:39:18 (6d)