データマイニングと分析手法と予測モデル 〜Facebook Prophetで未来を予測〜

  • このエントリーをはてなブックマークに追加
  • LINEで送る

人工知能やIoTの要となる「データ」。今やビッグデータ、データ分析、データマイニングといったことに何かしらの形で関わったことのあるビジネスパーソンが多いのではないでしょうか。

本記事では、データマイニングや活用されるデータ解析手法、予測モデルについて解説し、Facebookのオープンソース予測モデル「Prophet」を弊社のデータアナリストが使ってみた結果をご紹介します。

「こんなデータ分析手法があるんだ」「こんな予測モデルもあるんだ」とご参考程度にご覧ください。

データマイニングとは

データマイニングとは、ざっくり言うと、大量のデータから有益なデータやパターンを発掘する技術です。このデータやパターンを取り出すためには、様々な分析手法があり、この手法によってデータの読み方が変わります。

それでは、分析手法にはどのようなものがあるの?

クロス集計

初心者にも使いやすい手法で、Excelでできます。集まったデータを属性別に集計して数や割合を出すもので、2〜3種類程度の相関関係の分析に向いています。例えば、男女別、年代別、未既婚別、地域別などです。

ロジスティック回帰分析

「はい」または「いいえ」で集計する分析手法で、発生確率を予測する手法です。 ターゲットが明確な時に使います。

アソシエーション分析

相関関係を分析する手法です。 共起性のある項目を分析し、隠れた関連性がわかる分析です。

バスケット分析

買い物かごに何が入っているのかを把握して、商品を同時に購入する確率を高くする分析です。

決定木分析

「~だったらどうなるか」との仮説を振り返して結果を予測する手法です。 「回帰木」「分類木」「ディシジョンツリー」とも呼ばれています。

クラスター分析

類似性により分類しその特性を分析する手法です。 分類したグループを「クラスター」と呼びます。

主成分分析

多くの要因や指標があるときに、特性が似ている要因・指標を集約してわかりやすくする手法です。 ここでは、場合によっては捨てるべきデータが存在します。

因子分析

変数間の共通因子を探し、関連性を分析する手法です。 相関図を作ることも可能です。

ABC分析

データを並べ、重要度を分析する手法です。 ヒット商品や主力商品といった商品位置付けはこの分析による一つの結果です。

線形回帰分析

データの相関関係をグラフの直線で読む手法です。 相関関係によりデータの予測ができます。

グレイモデル

数値をグレイ法で、明確は「白色」、不明確は「黒色」、あいまいは「灰色」にして予測するデータ分析手法です。

独立性の検定

変数の間に関連性があるのかを調べるために、クロス集計分析と一緒に使われる手法です。

計量時系列分析

時系列で取れている変動するデータを解析し、その後を予測する手法です。

 

このように、たくさんの分析手法があるのはおわかりいただけたでしょうか。では、どう活用すのか?そこで登場するのがデータモデルや予測モデルです。

データモデル、予測モデルとは

データモデルとは、データや構造化データの構造を明確に決めて、データの交換を可能にするモデルです。

予測モデルとは、現在の行動や属性によって未来を予測する数学的な手法。 簡単に言うと「過去のデータを利用して未来を予測するデータモデル」です。

予測分析が重要な理由

例えば、年末年始やゴールデンウィークの時には、飛行機やホテルの予約が増えるのはわかりますね。わかっているからこそ、航空会社や宿泊施設は普段よりも予約が増える分の対策ができます。

年末年始、ゴールデンウィーク以外でも、予約が増えるのを確実に予測できれば、企業や組織は効率的に対応ができます。逆に減ることが予測できれば、事前に施策を打つこともできるのです。

簡単に予測モデルを作るのができるのか?

世の中には数多くのBIツールがありますが、お金の問題、時間の問題、データサイエンティスト採用の問題など、様々な事情がありますね。そこで、簡単に試すことのできるProphetというFacebookが発表した予測モデルを今回ご紹介します。

FacebookのProphet とは

ProphetはFacebookのCore Data Scienceチームによってリリースされたオープンソースソフトウェアであり、RとPythonで実装された時系列予測手順です。速さが特徴で、完全に自動化された予測モデルでありながら、データ科学者やアナリストが手動でも調整できるものです。

Prophetの作業内容

  1. CSV形式で元データを取り込む
  2. データの軸を指定して整形する
  3. pythonを利用してprophet予測モデルを活用する
  4. 予測データが出てくる

あとは意思決定に必要なところを抜き出して、資料に整えるなどします。

実際にProphetの予測モデルで未来を予測

今回の予測環境は以下。

  • 利用PC:mac book
  • 利用言語:anaconda 1.7.2/python3.5
  • 予測モデル:Facebook Prophet

テーマ① ブログのアクセス予測

下のように時系列のデータを用意しました。このデータは、開設から約1年経っているブログのPVデータです。

結果、以下のようなグラフになりました。

2018-01から2018-12までは実際のデータがあるので、それをグラフに表示しています。

2019-01からがProphetで予測した内容です。

2019年は全体的にアクセスが伸び続けるものの、4月頃と7月頃に落ちる予測です。対策が必要ですね。

以下のグラフのように2019年1月〜7月の曜日ごとの平均PV予測値も見ることができます。

テーマ② 2019年の気温予測

東京の1990年からの気温データを使って、2019年の気温予測をしてみました。

結果、以下のようなグラフになりました。

一番右の線だけになっている箇所が予測された結果です。

予測部分をズームすると以下のようになります。

さらに10年先まで予測してみると、以下のようになりました。

まとめ

今回はProphetを使ってみることを目的にしました。

ただ、実際はどんなBIツールがいいのかやどんなデータ分析手法がいいのかよりも、何の為にデータを分析したいのか、どこに活用する為にデータを分析をするのかを明確にすることが大事です。そうしないと意思決定の質の向上には繋がりづらいことを覚えておきたいですね。