データ活用をより身近に。Prediction Oneで体重の変化を予測してみる

このエントリーをはてなブックマークに追加

【PR】この記事はソニーネットワークコミュニケーションズ株式会社のスポンサードコンテンツです。

ビジネスにおけるデータ活用の重要性が声高に叫ばれる昨今、予測分析による業務の効率化に注目が集まっている。

しかし、データ活用を未だに進めていない企業や、データとの関わりが薄い部署で働く個人にとって、予測分析がどんなデータをもとに、どのような手順で進められ、結果的にどういった示唆を生むのか見当もつかない人も多いだろう。

そこで今回は、ソニーネットワークコミュニケーションズが当面の間、無料で提供する予測分析ツール「Prediction One」を使用し、個人で準備可能なデータから日常生活を豊かにする示唆を導き出せるか検証する。

ソニーネットワークコミュニケーションズが提供する「Prediction One」とは

Prediction Oneは、ソニーネットワークコミュニケーションズが当面の間、無料で提供する予測分析ツールだ。

データさえ揃えられれば、サービスの解約率の予測や、工場機械の故障予測商品の市場価格推移の予測など、さまざまな問題に対する予測分析が可能となる点が強みで、業界、職種問わず活用が見込めるツールとなっている。

使い方はいたってシンプルで、表計算ソフトなどでまとめたデータをCSVファイルとして書き出し、予測したい変数を選択しモデル作成をクリックするだけだ。

Prediction Oneには10種類以上のアルゴリズムが組み込まれており、読み込ませたデータセットに応じて、各アルゴリズムによる予測モデルを作成し、もっとも予測精度が高いモデルを表示してくれる。

日常生活で手に入るデータを分析し、新たな価値を生み出す

本記事では、予測分析をより身近に感じてもらうため、日常生活で取得可能な食事や運動、摂取カロリーなどの変数から、体重の変化を予測。どの変数が体重の変化に対してもっとも影響が大きいのか導き出す。

使用するデータは、データサイエンティスト向けのプラットフォーム「Kaggle」にアップロードされている、『2018 calorie, exercise and weight changes』で、データに含まれる変数は以下の通り。

  • Date:計測をおこなった日付
  • Stone, Pounds, Ounces:体重の計測結果(Stone = 約6.35kg, Pounds = 約453g, Ounces = 約28.3g)
  • weight_oz:体重をオンスのみで表した際の総重量
  • calories:各日付における摂取カロリーの概算(カロリーは記録の簡易化を目的に、摂取した食材ごとの栄養情報をもとに、50キロカロリー単位で切り上げし計測。栄養情報が手に入らない場合、カロリーは過去の経験と推測をもとに入力している)
  • cals_per_oz:摂取カロリーをオンス単位で表記した体重で割った数値
  • five_donuts:食事のメインが5つのジャムドーナツだった日(day where main meal was bag of five jam donuts, 1 = TRUE, 0 = FALSE)
  • walk:20分以上の自発的なウォーキングをおこなった日 1 = TRUE, 0 = FALSE
  • run:2.5マイル(約4キロ)以上のランニングをおこなった日 1 = TRUE, 0 = FALSE
  • wine: ラージグラス一杯(250ml)以上のワインを摂取した日 1 = TRUE, 0 = FALSE
  • prot: 高プロテインな食事をした日 1 = TRUE, 0 = FALSE
  • weight: ウェイトトレーニングをおこなった期間(ウェイトトレーニングの休養日もTRUEとして含む) 1 = TRUE, 0 = FALSE
  • change: オンス単位での体重の変化

Prediction Oneでは、データに含まれる変数の中から1つを選び、その残りの変数から選択した変数の値を予測することができる。

この検証では、変数「change」を予測対象として進める。

検証をおこなう手順は以下の通り。

  1. Prediction Oneをインストールする
  2. データセットを分割する
  3. Prediction Oneを起動し、新規プロジェクトを作成する
  4. 変数を調整し、モデルを作成する
  5. 予測モデルを検証する

STEP1:Prediction Oneをインストールする

まず、Prediction Oneのダウンロードから始めていく。Predicton Oneは公式サイトからダウンロード可能。

現時点ではWindows OS版のみの対応となっているため、Windows OSがインストールされているPCが必要だ。

ダウンロードが完了次第、インストールすればツールの準備は完了する。

Prediction Oneの特長のひとつとして、完全オフラインでの予測分析が可能な点が挙げられる。

業務上の都合で、データをクラウド上に移行することが難しい企業は多いと思うが、Prediction Oneでは、データ流出の危険性はない。

そのため、セキュリティが厳しい企業であればあるほど、有用なツールだといえるだろう。

STEP2:データセットを分割する

作成したモデルが本当に有用かどうか検証するには、データセットを予測モデルの作成用と検証用に分割し、検証用において予測結果と実際の結果の照らし合わせが必要となる。Prediction Oneは検証用のデータを作成し検証まで自動的に行う。

Prediction Oneの予測機能を利用して、予測結果と実際の結果を並べて比較するため、今回はあえてデータセットを予測モデルの作成用と検証用に分割することにする。

そのため、今回は、『2018 calorie, exercise and weight changes』の最終2週間を検証用のデータとして用いることにする。検証用データは、今回のターゲットである変数「change」の値を別のファイルにメモし、使用するデータからは値を削除する。

この際に気を付けることは、列自体を削除しないことだ。列自体を削除してしまうと検証ができなくなるため、小さいことだが気を付けておきたい。

検証用に成型したデータは以下の通り。

STEP3:Prediction Oneを起動し、新規プロジェクトを作成する

ここからは、実際にモデル作成を始めていく。Prediction Oneを起動し、新規プロジェクトを作成する。

プロジェクトタイトルは『体重変化の予測』と設定した。

STEP4:変数を調整し、モデルを作成する

プロジェクトが作成出来たら、新規モデルを作成する。ここで、CSVファイルに含まれるどの変数を予測するモデルを作成したいのか決定し、そのうえで、予測分析に使用する変数を選択していく。

この検証では、「weight_oz」を除いたすべての変数を使用した。

「weight_oz」を除いた理由は、「weight_oz」と「change」は実質的に同じ意味を持つためだ。

変数を変更することでモデル精度を調整可能

他にも、検証には不必要に思える変数はいくつかあるが、Prediction Oneが自動的に変数の調整を行ってくれるため、ひとまずは変数を極力減らさずに進めていく。

予測分析をおこなう際には、データの中から個別に意味を持たないものや、予測したい変数と同義の変数を排除していかなければ、実用性のあるモデルは構築できない。

モデルを作った際に、精度が高すぎた場合にも、精度が低い場合と同じくなんらかの問題をはらんでいることが多いことを覚えておく必要がある。

Predicton Oneでは、予測したい変数と使用する変数を選択し、「学習と評価を実行」をクリックするだけで自動でモデル作成が進む。

使用するPCのスペックや、データセットの大きさにより、分析にかかる時間が大きく変化するため、始めは10KB程の小さめのデータセットで試してみることをお勧めする。

小さめのデータセットを使用し、さまざまな変数の組み合わせを試すことで、データ活用の可能性を肌で感じられるはずだ。

Prediction Oneでは、どのデータが結果に対して大きな影響をもたらすのかを確認することも可能で、今回使用したデータセットの中では、体重の推移に及ぼす影響がもっとも大きい要因は摂取カロリーだということが判明した。

つまり、運動の有無よりも摂取カロリーを低く保つことがダイエットには有効だということだ。

さらに細かく見ていくと、体重1オンスあたりの摂取カロリーが0.510~0.860のとき、体重は減少する傾向にあることや、運動の有無が結果に大きく影響していることも、モデルの評価結果から見えてくる。

STEP5:予測モデルを検証する

ある程度使えそうなモデルが作成できた時点で、検証に移る。

検証したいモデルを選択し、「新規予測」をクリック。用意した検証用データを読み込ませる。

今回の検証で選択したモデルの検証結果は以下の通り。

今回使用したデータは、大まかな運動の有無やカロリーなど、基礎的なものが多いにも関わらず、実際の値とPrediction Oneの予測値に大きな乖離はなかった

個人でダイエットの指標として活用するには十分な予測モデルができたといえる。

予測分析が生み出す2つの価値

今回の検証を通して、ダイエットという日常的な事柄に対して予測分析をおこなうことによるメリットが2つ判明した。

1つめは、ダイエットの成功につながる要因を見つけ出せることだ。

ダイエット中の生活で取得可能なデータを分析していくことで、どんな行為が体重の増減にどう寄与するのかデータをもとに理解することで、より効率的なダイエットができるといえる。また、取得してきたデータをより細分化し、さらに精密な分析をおこなうことも可能になる。

例えば、摂取カロリーに占める糖質の割合や、脂質の割合をデータとして取得することで、さらに効率的なダイエットを目指すことも可能だ。

2つめのメリットは、モチベーションの管理だ。ダイエットを成功させるには、継続的に自分自身を律し、目標に向けて努力し続ける必要がある。

しかし、ダイエットの効果は一朝一夕には体感できないため、早い段階で諦めてしまう人が多い。そんなとき、日々の摂取カロリーや運動量の計画値を入力することで、体重変化の予測推移が確認できれば、モチベーションの向上にもつながるだろう。

上記のようなメリットはビジネスにおいても同様だ。

取得が容易なデータを蓄積していき、分析することで、事業成長に大きな影響を及ぼす要因を見つけ出すことや、予算や過去の実績をもとに、現実的な数値目標の設定も可能になる。

今回の企画を通じて伝えたいことは、今までデータ活用を敬遠してきた人でも、個人に紐づく日常的なデータの分析から始めることで、データへの理解を深めることができるということだ。

データ活用の一歩目をPrediction Oneによる予測分析から進めてみるのはいかがだろうか。