SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

現場のAIエンジニアから学ぶ「時系列データの予測モデルの作り方」

AIサービスの開発に求められる予測性能以外のこととは?データ粒度の詳細化を例に学ぶ

現場のAIエンジニアから学ぶ「時系列データの予測モデルの作り方」 第2回


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

 本稿では、NTTテクノクロスでAIエンジニアとして活躍する筆者が、実際にどのようなことを行っていて、どのような苦労があるのかを、実際に動かして試せる「時系列データの予測モデル作成」の題材を通して、4回にわたってお伝えします。第2回では、PoC(概念実証)進行中にサービス性向上のため、当初の目標スコープからの追加・変更があった場合、どのようなことが起こるのかをお伝えします。(編集部)

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

AIサービスの開発競争-AIエンジニアの活躍に注目!

 AI技術における世の中での需要や将来性に注目が集まり、その技術を活用したサービスの開発が現在多くの企業で盛んに行われています。

 新しいサービスを開発する際には「目的が実現できそうか」を検証するPoC(概念実証)が行われることが多く、その現場では設計・実装・改善をトータルで自らできるAIエンジニアの活躍が期待されます。

PoCにおける要件の追加・変更

 PoCの進行中、当初の目標スコープからの追加・変更が要望されることも多くあります。これは、世の中に今は無いようなサービスを創出しようとしており、どこまで出来るのかをこれから開発・検証しようとしているモノに対して、事前に詳細・正確に目標設定することは難しいためです。また、動くモノの形が現実に見えてきてからサービスの利用イメージが広がり、より適切な、より魅力的な目標スコープが見つかることがあるためです。

 一般に、SE業務において作業スコープの管理は品質確保の点からも重要であり、要件の追加・変更のハードルは高くなりがちです。しかし、PoCでは上のような事情もあるため、あくまでもプロジェクトにおける様々な制約の範囲内ですが、挑戦的に取り組むことが腕の見せ所となります。

時系列データの予測モデルを、年次予測から月次予測に変更する

 前回記事では、インターネット上に無料で公開されている政府統計データ「e-Stat」を利用して、ディープラーニングを用いた予測モデルを作りました。過去の統計量から、都道府県ごとの現在(または未来)の統計量を予測するモデルです。

 本記事で使用したソースコード、データは下のGitHubで公開しています。記事中では説明を省略した部分のソースコードと使用したデータがあり、実際にマシン上で動かしてみることができます。

  • 使用したプログラム言語はPython3、ディープラーニング部分にはPythonパッケージのtensorflow/Kerasを使用
  • 各データファイル(CSV)は、政府統計の総合窓口(e-Stat)より「住民基本台帳人口移動報告」「住民基本台帳に基づく人口、人口動態及び世帯数調査」「賃金構造基本統計調査」「工業統計調査」「商用統計調査」を加工して作成

 今回は、年次データでの時系列予測が形になってきた頃に、時間の粒度を更に詳細化して月次にしたいという要望が起きたとして、これに応えることを題材とします。一般に、時系列データ予測においてデータの粒度(時間、位置範囲など)を細かくするほどそのサービス的な価値は高くなるため、一般的に発生しやすい要望です。

データ前処理の設計

 使用するデータには、以下のようにデータの粒度がマチマチであったり、期間に欠損があったりという問題がありました。

 これらに対し、データの粒度を月次に合わせ、欠損を補間してモデル学習に使用できるようにデータを加工します。

 予測対象(目的変数)とする移動情報は元々月次データですが、予測に使用する周辺情報(説明変数)は年次データであるため、これらを月次にデータ変換します。この変換後のデータは実地調査から得られた現実のデータではなく、加工して作成した疑似データです。サービス目標を達成するためにやむなく疑似データ化していますが、こういった前処理が予測性能を大きく低下させる原因となる可能性もあります。一般に、サービス性の向上(この場合はデータ粒度の詳細化)と予測性能はトレードオフの関係となることが多いため、この後のモデルの学習や評価の際には説明変数データを疑似化したことに留意しておく必要があります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
データ前処理の実装

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
現場のAIエンジニアから学ぶ「時系列データの予測モデルの作り方」連載記事一覧

もっと読む

この記事の著者

阪本 正樹(NTTテクノクロス)(サカモト マサキ)

NTTテクノクロス株式会社 IoTイノベーション事業部 第一ビジネスユニット所属。NTT研究所内でのビッグデータ活用の研究開発に従事し、2012年から顧客企業でのビッグデータ活用、AI技術活用に取組む。NTTテクノクロスでは人にやさしい「みらい」を作るAIファースト活動を拡大中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11882 2020/05/20 15:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング