Community GitHub
Support Portal
DataRobot University
DataRobot.com
English
日本語
登録
サインイン
閲覧
アップデート
デモ
お知らせ
お知らせ
コミュニティリソース
ラーニングセンター
DataRobot使い方ガイド
オンデマンドビデオ学習教材
DR University
リファレンス
ナレッジベース
DataRobot使い方ガイド
すべてのコミュニティ
このカテゴリ
ナレッジベース
ユーザー
キャンセル
提案をオンにする
自動提案では、入力時に可能な一致が提案されるので検索結果を素早く絞り込むことができます。
次の結果を表示
次の代わりに検索
もしかして:
DataRobot Release 6.3 has arrived! Check out all the new features.
コミュニティ
:
ラーニングセンター
:
DataRobot使い方ガイド
オプション
マイ寄稿
購読
ブックマーク
RSS フィードを購読する
友達を招待
DataRobot使い方ガイド
DataRobotユーザーのためのインタラクティブなレッスン
データサイエンス学習パスは、皆さんがDataRobotプラットフォームについて学べるように設計されています。自分のペースで進められる動画で体系立てて学習できます。
ナレッジベースの記事
データサイエンス ここから始めよう
DataRobotへようこそ!新しいユーザーとして、当社のプラットフォームをナビゲートし、構造化されたシーケンスでAIのユースケースを作業することになるでしょう。
記事全体を表示
時系列モデリング ここから始めよう
DataRobotには機械学習を自動化する Automated Machine Learning と呼ばれる製品と、時系列モデリングを自動化する Automated Time Series と呼ばれる製品があります。Automated Time Seriesではこれまで時系列分析で難しかった部分が自動化され、機械学習や時系列問題について全く知らない人でも、高精度な時系列モデルの生成が可能になりました。 この学習パスでは、まず実際にAutomated Time Seriesを使ってDataRobotで時系列モデリングを行う手順を店舗の売上データ(ページ下部に添付のExcelファイル)を使って一通り確認し、その後各ステップについてより詳細に解説を行います。 TS-1. 店舗の売上予測(単時系列問題) このセクションでは実際に店舗の売上予測を行うことで、Automated Time Seriesの使い方の概要を理解します。本ページ下部に添付してあるデータ(店舗売上予測.xlsx, 店舗売上予測_予測.xlsx)をDataRobotに投入してから時系列モデルの生成、解釈、予測までを一通り体験してみましょう。 TS-2. データの用意 時系列モデリングを行うにはどのようなフォーマットのデータを用意すれば良いでしょうか。また、時間軸に欠損があったりしてはいけないのでしょうか。 このセクションでは時系列モデリングを行う際に用意するデータについて解説します。 時系列データのフォーマット 時系列対応データ 【複数時系列】時系列対応データ TS- 3. 時系列設定 このセクションでは時系列モデリングを行う際に特有の設定手順について解説します。 機能の選択 【複数時系列】系列識別子の設定 予測ウィンドウ 特徴量派生ウィンドウ 事前に知り得る特徴量指定 カレンダー機能 派生から除外する特徴量 時系列予測におけるパーティション設定 バックテストにおける検定の計算方法 TS- 4. 時系列モデリングと特徴量セットの確認 時系列モデリングではDataRobotが自動で様々な時系列特徴量エンジニアリングを行い、モデルを生成してくれています。どのような派生特徴量が生成されたか、そしてそれらがどのように使われてモデルが作成されているかを理解する事で、モデルの理解も深まります。 このセクションではそういった派生特徴量の確認方法について解説します。 時系列モデリング設定の確認 自動で生成される派生特徴量と特徴量セット 特徴量セットの手動生成 TS- 5. モデルの精度とインサイト モデルが作成されたらそのモデルがどれだけの精度をもってターゲットを予測をできているのか確認します。また、どのような特徴量がどのように予測に効いているのか、改善の余地の有無などを確認して総合的にそのモデルを業務で使っていけるか判断します。 このセクションではモデルを解釈する際の精度と得られるインサイトの見方について解説します。 精度を表すアウトプット 精度の指標 時系列の予測値・実測値と残差 【複数時系列】系列の精度 リフトチャート 安定性 予測距離ごとの精度 モデルの中身のインサイト 特徴量のインパクト 特徴量の予実と作用 TS- 6. モデルの予測 作成されたモデルを確認し、予測に使えそうなことが確認できたら実際に予測するプロセスへ移っていきましょう。 このセクションでは作成した時系列モデルを再トレーニングして、予測用のモデルを生成し、未来の予測を行う方法について解説します。 最新データでのモデル再トレーニング 予測データのフォーマット GUIからのバッチ予測 予測のプレビュー モデルのデプロイ TS- 7. アドバンストトピック このセクションでは時系列モデリングに関する補足情報やチップスについて解説します。 時系列モデリングの要件 特徴量ごとに特徴量派生ウィンドウが異なる場合のデータセット 高度な時系列設定 時系列パーティショニング その他の系列から計算された特徴量と階層モデリング その他の高度な時系列設定 リポジトリからのブループリント実行 APIを利用した操作 次のステップ 時系列モデリング全体のおおまかな流れを理解したら次は実ビジネスの時系列問題にDataRobotで取り組んでみましょう。追加の質問がある場合は、DataRobotコミュニティでディスカッションや関連する学習記事への返信としてご自由にお尋ねください。
記事全体を表示
データ準備 ここから始めよう
DataRobot Data Prep (Paxata)へようこそ! DataRobotは、AIのためのデータ準備を誰でも簡単に行えるようにするDataRobot Data Prep (Paxata)を提供しています。必ずしも自動化できるとは限らない、業務知識や人間の判断が必要となるデータのクリーニングや特徴量エンジニアリングを、スプレッドシート形式の使いやすいインターフェースで素早く行うことができます。 この学習パスでは、初めてDataRobot Data Prepを使う方向けに製品構成のご紹介をするとともに、製品の基本的な使い方を学んでいただけます。本記事の末尾に添付されているファイル(LC_Paxata_JP_LearuningGuide.zip)をダウンロードして、実際の操作を体験してみましょう。 Prep 1. 製品の基本構成 このセクションでは、Data Prepの中で登場するライブラリ、プロジェクト、プロジェクトフローといった主要なページをご紹介するとともに、それぞれのページで利用可能な機能の全体像をご紹介することで、Data Prepの基本的な構成を理解いただけます。 Prep 2-1. プロジェクトの作成 Data Prepでのデータ準備作業はプロジェクトを作成することから始まります。このセクションではプロジェクト作成の基本的な操作をご紹介します。 Prep 2-2. データのクリーニング データ準備の最初のステップは、問題のあるデータを把握してきれいにすることです。いわば、守りのデータ準備と言えるでしょう。このセクションでは、基本的なデータクリーニング操作を数種類ご紹介しまします。 異常値を除去する 名寄せを行う 特徴量の型を変換する カラムを分割する Prep 2-3. 新しい特徴量の作成 データ準備の次のステップは、AIモデルに有用と考えられるデータ(特徴量)を新たに追加していくことです。いわば、攻めのデータ準備と言えるでしょう。このセクションでは、新しい特徴量を作成する基本的な方法を2種類ご紹介します。 合成変数を追加する 複数テーブルをマージする Prep 2-4. ライブラリの公開とエクスポート データ準備作業が終わったら、そのデータをDataRobotをはじめとする次のステージへ連携することが必要です。このセクションでは、準備済みデータをDataRobotのAIカタログにエクスポートする方法などをご紹介します。 Prep 2-5.作成済み準備ステップの新しいデータへの適用 Data Prepが単なるスプレッドシートと大きく違うことの一つは、データ準備のステップをデータから切り離して新しいデータに適用できることで、一度作ったステップを簡単に再利用できることです。このセクションではその手順をご覧いただきます。 Prep 2-6. 予測の実行 Data PrepではDataRobotから予測結果を取得して書き戻すこともでき、ある予測結果を元に次の予測をおこなう場合などに便利です。ここではその手順をご紹介します。
記事全体を表示
開発者向けラーニングパス
ここにはDataRobotを使うときに開発者がよく使うタスクに対する解決策があります。下記の例ではPythonコードと同じ用にCut&PasteできるREST-APIコードを提供しています。 DataRobotへのデータ投入 Autopilotによるモデル作成 予測サーバーのID取得 モデルのデプロイ 予測の実行 (全ワークフローのPythonコードのサンプルはここにあります) 特定の問題に対応するためにの他のコンテンツが必要な場合は、DataRobot Communityの中の様々なラベルを利用してご自由に検索してください。DataRobot プラットフォームのエキスパートユーザーになると、検索機能を利用して高度なトピックの検索もできます。 データサイエンスのトラックはR、PythonAPIを利用した下記のコンテンツも含んでいます。 DataRobot API でのPythonの使い方 DataRobot APIでのRの使い方 モデルファクトリーの入門
記事全体を表示
Machine Learning Operations (MLOps) ウォークスルー
本記事はDataRobot version 6.2をベースに作成されております。versionによっては画面の構成が多少変わります。 概要 DataRobot Machine Learning Operations (ML Ops)を使用すると、本番での機械学習モデルのデプロイ、監視、管理を行うための中央ハブが得られ、データサイエンスチームへの投資を最大化し、リスクとコンプライアンス(規制)を管理することができます。 ユースケース この記事では、典型的なライフサイクルを通してDataRobot MLOpsを使用するためのにステップに分けて紹介します。まず、デプロイされたモデルを監視・管理するためにMLOpsを利用する際に、主に利用されるメインページの紹介から始めます。次にモデルとデータをMLOpsに取り込むためのステップを紹介します。 まず、モデルをモデルパッケージとして MLOps のモデルレジストリにアップロードします。次に、モデルパッケージからデプロイを作成する方法を確認します。 次に、データ・ドリフトを使用して、すべてのモデル特徴量の時間的変化について予測データを監視する方法を示します。これには、精度を追跡できるように実績実際の結果をアップロードするステップが含まれています。 そこから、パフォーマンスが低下した場合にモデルを置き換える方法を示します。最後に、MLOpsガバナンスを使用したモデル開発および実装ワークフローのためのプロセス制御フレームワークの活用について説明します。 モデルデプロイ、モデル管理、ガバナンス Step 1: デプロイダッシュボードとデプロイの詳細ページ デプロイ ダッシュボードは、MLOps ユーザーインターフェースにアクセスしたときに最初に表示されるページです。これはすべてのデプロイのインベントリを表示します。 図1. デプロイダッシュボード デプロイ によって、スコアリングや推論のリクエストに利用できます。デプロイはモデルとは別のエンティティです。デプロイを通じてモデルにアクセスするため、予測データからモデルにアクセスする方法を中断することなく、モデルを新しいモデルバージョンに置き換えることができます。これにより、MLOpsは元となるモデルのバージョンを個別に監視し、デプロイのモデルの履歴を追跡することもできます。 デプロイのダッシュボードにおいて、インベントリの上部に、すべてのアクティブなデプロイの使用状況とステータスの要約が色分けされた状態の指標とともに表示されます。 図2. サマリーダッシュボード サマリーの下には、各配置の個別レポートが表示されます。配置の名前の横には、3 つの主なコアモニタリングの項目における各デプロイの相対的な状態が表示されます。サービスの正常性、データ ドリフト、精度です。さらに、表示される列を切り替えて、ガバナンスの観点に関連する情報を持つ配置を表示したり、予測の正常性の情報を表示したりすることができます。これらの表示はレンズと呼んでいます。 図3. 予測状態のレンズ 図4. ガバナンスのレンズ 予測活動のトラフィックに関するいくつかのメトリクスと、モデルを管理するために利用可能なオプションのメニューが表示されます。 詳細な情報をすべて見るためには参照したいデプロイを選択し、概要ページから移動し、デプロイの監視と管理のための機能を提供するいくつかのデプロイの詳細ページの最初のページです。 図5. デプロイ概要ページ デプロイの概要 ページは、 デプロイを作成する際に提供した情報やモデルの置き換え作業など、配置を説明するモデル固有のサマリーを提供します。 サマリー デプロイが追加されたときにユーザーが入力した名前と説明が表示されます。 コンテンツ 指定されたターゲットを含むデプロイ固有の詳細と、モデルの作成に使用されたデータセットがある場合はそのデータセット、カスタムモデルに関する情報など、デプロイの種類によって異なるモデル情報を提供します。 そして ガバナンス モデル管理の承認プロセスを実装する方法を提供します。これには、モデルの作成日とデプロイ日、モデルが置き換えられたときのログが含まれます。 サービス正常性タブ、予測要求に迅速かつ確実に対応するデプロイの能力に関するメトリクスを追跡します。これにより、速度と応答時間に影響を与えるボトルネックを特定するのに役立ちます。また、スループットとキャパシティの評価にも役立ちます。これは、良好なパフォーマンスとレイテンシーレベルをサポートするために適切なリソースプロビジョニングを行うために重要です。 図6. サービス正常性のページ 次はデータドリフトページです。トレーニングデータ(aka “learning data”) とデプロイに加えられる予測データ (aka “inference data”) を活用することで、MLOpsはデータドリフトを評価することができ、予測のための入力データがモデルの訓練に使用されたデータとどのように異なっていたかを計算します。 図7. データドリフトページ 精度ページはモデルの予測がどれだけ正確かを示しています。モデルが行う予測から実際に発生した結果をキャプチャすることは、すぐに明らかになる場合もあれば、数日、数週間、または数ヶ月かかる場合もあります。いずれにしても、予測を取得してアップロードすると、MLOpsは実際の結果を作成した予測と関連づけ、計算された精度をレビューと分析のために提示します。 図8. 精度のページ インテグレーション、 新しいデータをスコアするためにDataRobotへのAPIコールを行うために必要なコードの必要な行のPython言語のコードサンプルを提供しています。多くの場合、これをコピーしてソフトウェアプログラムに貼り付けるだけで、数分でDataRobotのAPIに統合され、実行可能になります。 図9. インテグレーションのページ 最後に設定は、 デプロイと基礎となるモデルに関連するデータセットをアップロードして設定するためのインターフェイスを提供します。これにより、デプロイにデータを追加したり、アラートでデプロイを監視するための通知設定を設定したり、予測警告を有効にしたりすることができます。 図10. 設定のページ Step 2: モデルパッケージとモデルレジストリの理解 デプロイの作成は、モデルパッケージを作成し、モデルレジストリにアップロードすることから始まります。 モデルレジストリは、すべてのモデルパッケージの中央ハブであり、パッケージには、ファイル、ファイルのセット、モデルに関する情報が含まれています。DataRobot MLOpsは、以下のように柔軟に対応できます。 DataRobot AutoMLまたはDataRobot AutoTS内に構築されたモデル DataRobotの外部で構築され、MLOpsにアップローされたカスタマーの独自モデル DataRobotの外部で構築・運用されているモデルで、MLOpsを使用して監視しています。 この3つのケースではモデルパッケージを作成し、そのパッケージがモデルレジストリに登録されると、そこからデプロイメントを作成することができます。 図11. モデル登録 モデルレジストリを使用すると、デプロイしたモデルの種類に関係なく、一貫したデプロイ、置換、および管理の経験を得ることができます。構築されたモデルがDataRobot AutoMLまたはAutoTSである場合、リーダーボードからデプロイが作成されると、モデルパッケージは自動的にモデルレジストリのパッケージリストに追加されますが、そうでない場合、パッケージは手動でパッケージリストに追加されます。 モデルパッケージの作成は簡単なプロセスです。以下の手順では、3 つのモデルタイプのそれぞれについて、モデルパッケージの作成と配置について説明します。 DataRobotモデルのモデルパッケージを作成する カスタムモデルのためのモデルパッケージ作成 外部モデル用のモデルパッケージを作成する 主な違いは、DataRobotモデルやカスタムモデルは、予測要求を受け取ってAPIコールを介してMLOps内で処理するのに対し、外部モデルは外部環境で予測値を処理し、その予測値をMLOpsに戻している点です。MLOpsエージェントとは、お客様の環境からMLOps環境に戻って通信するためにインストールするソフトウェアで、MLOpsに転送された予測値を追跡します。このため、統合ページに表示されるコード サンプルは、Agentソフトウェアと DataRobot またはカスタム モデルでは異なります。しかし、3つのケースすべてにおいて、モデルパッケージからデプロイをソースし、MLOpsを利用してモデルが行うデータのドリフトと予測を監視し、モデルを同じように管理します。 DataRobotモデルのモデルパッケージを作成する 図12. DataRobot AutoMLでビルドされたモデルパッケージ例 DataRobot内に構築されたモデルについては、リーダーボードに移動し、デプロイしたいモデルをクリックします。次のタブをクリックします、予測 > デプロイ。 以下の3つの展開オプションがあります。 MLOpsにアップロードするパッケージを作成します。モデルパッケージはモデルの移植性を提供し、別のMLOps環境にアップロードできるようにします。 AutoML 環境内に配置します。これは、AutoMLまたはAutoTSインスタンスに接続されたローカルMLOpsにワンクリックでモデルをデプロイし、予測要求を受信するためにすぐに利用できるようにします。 モデルレジストリに自動的に投稿されるパッケージを生成し、そこから手動でデプロイします。 この3つのケースでは、モデル・レジストリにモデル・パッケージが作成されます。 図13. リーダーボードからデプロイの作成 オプション1を使用してモデルパッケージを作成した場合、モデルパッケージファイルをファイルシステムに保存した後、モデルレジストリからアップロード先のMLOps環境にアップロードします。 図14. ファイルからの新しいモデルパッケージの追加 カスタムモデルのためのモデルパッケージ作成 図15. カスタムモデルのモデルパッケージ例 MLOpsでは、あらかじめ訓練されたモデルをDataRobotやMLOps環境に持ち込むことができます。これらのモデルはカスタム予測モデルと呼ばれます。ここでの推論は、サービスの予測要求に対してモデルが実装されていることを意味します。カスタム推論モデルをアップロードすることで、実行環境や実行に必要なライブラリのバージョンを指定し、予測要求を受け付ける準備ができているかどうかをテストすることができます。テストに合格したら、デプロイするか、モデルレジストリにパッケージを追加してください(そこからさらに編集を行い、準備ができたらデプロイします)。DataRobotは、Python、Scala、Javaなど様々なコーディング言語で構築されたカスタムモデルをサポートしています。 カスタムモデルの使用は、このドキュメントの範囲を超えています。DataRobotのライセンスをお持ちのお客様は、アプリ内のプラットフォーム ドキュメントの「カスタム モデル ワークショップ」のセクションに詳細な情報があります。 図16. カスタムモデルワークショップ 外部モデル用のモデルパッケージを作成する MLOpsエージェントを使用すると、外部モデル、つまりDataRobot MLOpsの外部で実行されているモデルを監視および管理することができます。この機能を使用すると、これらのモデルからの予測や情報をDataRobot MLOpsデプロイメントの一部としてレポートすることができます。同じモデル管理ツールを使用して、モデルが実行されている場所に関係なく、精度、データドリフト、予測分布、レイテンシーなどを監視することができます。 MLOpsエージェントが監視する外部モデルのモデルパッケージを作成するために、モデル登録 > モデルパッケージ をクリックしてください。そして、新しいパッケージと 新しい外部モデルパッケージに移動してください。 図17. 外部モデルパッケージの追加 結果のダイアログボックスで、統計情報を取得するMLOPsエージェント監視モデルに関連するフィールドを入力します。(エージェント・ソフトウェアは、モデルとMLOps外部モデル展開との間のブリッジとして機能するために、お使いの環境にインストールされている必要があります。エージェントを設定するための完全な情報は、他の記事や MLOps エージェントの tarball に含まれているドキュメントで提供されています。必要に応じてMLOpsのagentファイルの情報のインテグレーションタブやブラウザ内のアプリプラットフォームのDocをご覧ください 図18. 新しいモデルパッケージの追加における入力値 Step 4: Creating a Deployment モデルパッケージがモデルレジストリにある場合は、モデルパッケージの右端にあるメニューに移動し、デプロイを選択するだけです。 図19. モデル登録のモデルパッケージからのデプロイ 次のページでは、予測とモデルの精度を追跡するために必要な残りの情報を入力します。 図20. 新しいデプロイのページ モデルセクションに表示される情報(名前やターゲットなど)は、モデルパッケージファイルの内容からすでに提供されています。 同様に、学習セクションでは、モデルを訓練するために使用されたデータもすでに知られていることがわかります。DataRobotは、AutoMLまたはAutoTSプロジェクトを作成したときの情報を保存しています。 推論 セクションでは予測値の取得に関する情報が記載されており、まだ部分的にしか完成していないことがわかります。DataRobotはAPIコールを介して受信した予測データを、提供されたURLエンドポイントに保存します。 DataRobotインスタンスがマネージドAIクラウドでホストされている場合、サブドメイン名はアカウントから派生し、オンプレミスでインストールされている場合、エンドポイントはドメインでホストされます。 予測値をキャプチャすることで、DataRobotは、入力される予測データの性質がトレーニングデータとどのように異なるかを評価することができます。 その違いを捉えるために、 データドリフトの有効化をクリックします。セグメント分析を実行するボタンにチェックを入れると、DataRobotはリクエストを行ったユーザーの権限レベルやリクエスト元のIPアドレスなど、受信データの特徴を特定することができます。 図21. データドリフトの有効化 しかし、予測精度を追跡したいのであれば、モデルが行う予測を実際の結果と関連付けする必要があります。一般的に、実際の結果は数日後、数週間後、数ヶ月後までわかりません。これらは単に実績としています。ここで、予測値を実際の値と関連付けるための識別子が必要になります。関連付けID は各予測を一意に識別し、リクエストデータの行に追加される追加の列に表示されます。実際のデータセットをアップロードするときには、関連付けIDと実際に起こったことの実際の値を提供します。 図22. 関連付けID 実績の出力の最後のセクションに移ります。 デプロイが作成され実績が取得されたあと、それをアップロードするためにデータの追加をクリックします。あとは画面に従い数ステップです。実績のアップロード 図23. 実績データの追加 あとは、デプロイに名前を付け、[デプロイを作成]をクリックして、配置の重要度を指定するだけです。これで新しいデプロイが作成されます。これでデプロイされたモデルが予測要求を受信する準備が整い、MLOps が予測の追跡を開始します。 モデルの重要度の設定の詳細については以下を参照してください Step 9: ガバナンス 図24. デプロイの作成 図25. 有用性 上記で示唆したように、モデルの種類によってはデプロイを作成するための近道があります。DataRobotモデルの場合は、リーダーボードから直接デプロイすることができます。カスタムモデルの場合はカスタムモデルワークショップからデプロイできます。 図26. リーダーボードからのDataRobotモデルのデプロイ 図27. カスタムモデルワークショップからのカスタムモデルのデプロイ Step 5: 実績のアップロード デプロイを行い、予測を行っていますが、モデルのパフォーマンスを確認したいと思います。そのためには、実際の結果データをアップロードして、行われた予測と関連付ける必要があります。 モデルの精度を追跡するには、AIカタログか、API経由でアップロード、あるいはドラッグ&ドロップでデータをインポートする必要があります。ここではAIカタログを経由した説明をします。AIカタログは、お客様専用のストレージ・リソースであり、さまざまなデータ・ソースからのデータ・セットを一元的に管理する方法を提供します。私たちは、あなたの実際のデータをここにアップロードして保存すると言うことを除いて、それが持っている多くの機能に入ることはありません。AI Catalog選択し、カタログへの追加をします。すると アップロードするデータのソースを選択します。 図28. AIカタログ デプロイダッシュボード画面へ戻りデプロイを選択してください。デプロイを作成した前のページに戻るには、[設定]メニュー項目をクリックして、[実績]セクションが有効になっていることを確認します。 データの追加をクリックし、AIカタログから実績データを検索します。ここから、以下を指定します:実績のレスポンスカラム(実際の結果を保持します)、行われた予測にリンクするための関連付けIDカラム、結果からどのようなアクションが取られたかを記録するためのオプションのカラム名、実際の値がいつ取得されたかを追跡したい場合は、タイムスタンプ付きのオプションのカラム名です。 図29. 実績データの登録 この情報を入力終えたらアップロードをクリックします。精度 タブをクリックすると、実際の結果と比較して、予測がどのように実行されるかがわかります。 Step 6: サービスの正常性、データのドリフト、および精度によるパフォーマンスの監視 サービスの正常性は、予測要求に迅速かつ確実に対応するデプロイの能力に関するメトリクスを追跡します。これにより、速度と応答時間に影響を与えるボトルネックを特定するのに役立ちます。また、スループットとキャパシティの評価にも役立ちます。これは、良好なパフォーマンスとレイテンシレベルをサポートするために適切なリソースプロビジョニングを行うために重要です。 図30. サービス正常性 大抵の場合、モデルは時間の経過とともに劣化していきます。データの構成や種類が変わったり、データの収集や保存方法が変わったりすることがあります。 精度ページにおいて、この場合、モデルがかなり一貫して実際の値を過小予測していることが下の画像でわかります。ほとんどの場合、劣化した予測はデータの構成の変化の結果であると考えられます。 図31. 精度 データドリフトページは、最初にモデルを訓練するために使用したデータから、予測データが時間の経過とともにどのように変化するかを示しています。左側のプロットでは、緑、黄、赤の各ドットが特徴を表しています。X軸には特徴の重要度が、Y軸にはデータドリフトの深刻度の計算が示されています。右側のプロットでは、元の訓練データが紺色、最近の予測データが水色で、それぞれの選択された特徴の値の範囲が示されています。いくつかの例を見ると、データの構成がどのように変化したかがわかります。 図32. データドリフト そのため、必然的に最新のデータに基づいてモデルを再訓練し、現在デプロイ中のモデルを新しいモデルに置き換える必要があります。DataRobot MLOpsは、モデルを交換するためのシンプルなインターフェースを提供することで、これを簡単に実現します。そして、これはサービスを中断することなく、シームレスに行われます。 Step 7: モデルの置換 モデルをリプレイスするために、デプロイ > デプロイリスト そして、モデルの置換を選択します。ただし、このオプションはデプロイの所有者である場合にのみ選択できます。配置の行のデプロイダッシュボードの同じメニューからモデルの置換を選択することもできます。 次に、別のモデルパッケージファイルをアップロードするか、モデルレジストリ内のモデルを参照することで、DataRobotに使用したいモデルを指定します。DataRobotはデータタイプが一致しているかどうかをチェックし、データドリフトで見られる劣化など、変更の理由を示すように促します。そして、承諾 して 置換をクリックし、変更を保存します。 図33. モデル置換の承認 ガバナンスワークフローを有効にすると、管理担当者には、保留中の変更が承認確認準備ができたことが通知され、承認されると更新が行われます。モデル置き換えのためにガバナンスワークフローを有効にしていない場合、更新はデプロイに即時に行われます。 図34. ガバナンス これで、デプロイメント 概要 ページの 履歴 列に新しいモデルが表示されるようになりました。サービスの健全性、データのドリフト、および精度ページを移動すると、同じドロップダウンメニューが表示され、探索したいモデルのバージョンを選択することができます。 図35. モデルのバージョン Step 8: 通知の設定 すべての機械学習モデルは時間の経過とともに劣化する傾向があります。DataRobotはリアルタイムでデプロイメントを監視していますが、モデルの正常性を確認するためにいつでもチェックすることができます。さらに支援するために、DataRobotは通知システムで自動監視を提供しています。サービスの正常性、受信予測データ、モデルの精度が定義された許容レベルを超えた場合にアラートを出すように通知を設定することができます。 通知の条件を構成するには、デプロイ> 設定メニューに移動し、通知をクリックします。 メールでのコントロール通知配信には、3つのオプションがあります。 すべてのイベント通知を受信する重要な、危険を含むような、そして配信予定のメールが含まれています。 クリティカルイベントのメールだけを受信する デプロイメントの通知を無効にする 図35. 通知設定 モニタリングタブでは、通知のトリガーとなる値を正確に設定します。オーナーの役割を持つユーザーはこれらの設定を変更することができますが、配置が共有されているユーザーは誰でも、通知タブに示されているように、受信したい通知のレベルを設定することができます。デプロイの所有者ではないユーザでも、同じ設定情報を表示できます。 モニタリングは、サービスの正常性、データ ドリフト、および精度で利用できます。 チェックボックスをオンにすると、サービスの正常性については最短で 1 時間ごと、または最長で四半期に 1 回まで、定期的にスケジュールされた間隔で通知を配信できます。 図37. デプロイ通知のモニタリング設定 Step 9: ガバナンス MLOpsのガバナンスは、モデル開発のワークフローとプロセスのための権利管理フレームワークを組織に提供します。特定のユーザーは、デプロイに関連するイベントをレビューして承認するように指定されています。制御可能なイベントの種類には、デプロイの作成や削除、デプロイの基礎となるモデルの置き換えなどがあります。 図38. 承認が必要なデプロイ ガバナンス承認ワークフローを有効にすると、モデルをデプロイする前に、重要度レベルを割り当てるように促されます。重要度、高、中、低のいずれかに割り当てます。重要度レベルは、配置の優先順位付けと管理方法を支援します。配置の重要度をどのように指定するかは、モデルを適用している場所と方法のビジネス価値を促進する要因に基づいています。 一般的に、これは予測量、潜在的な財務上の影響、または規制上のエクスポージャーなど、これらの要因の集合体を反映しています。 図39. デプロイの有用性レベル デプロイが作成されると、レビュー担当者にはレビューが必要であることが電子メールで通知されます。レビューアは MLOps 配置管理者の役割を割り当てられたユーザーで、デプロイを承認することが主な機能の 1 つです。レビューを待っている間、デプロイダッシュボード(デプロイリスト)では、その配置は"承認が必要です"としてフラグが立てられます。 レビュー担当者が承認を必要とする配置にアクセスすると、通知が表示され、レビュー プロセスの開始を促されます。 図40. 「承認が必要な」デプロイ 最後に DataRobotのMLOpsプラットフォームは、作成場所やデプロイ先に関わらず、すべての本番モデルを1か所で管理することができます。本番環境での複数の機械学習プラットフォームからのモデルのデプロイと管理を簡素化することで、AIの価値を提供することができるようになりました。これにより、生産モデルをプロアクティブに管理して生産上の問題を防ぎ、モデルの信頼性とパフォーマンスの両方を確保することができます。これには、リアルタイムのダッシュボードによるモデルの正常性のライブ監視、データの逸脱に関する自動監視アラート、および主要なモデル・メトリクスが含まれます。 モデルが劣化していることが判明した場合、MLOpsモデルリプレイスにより、既存のビジネスプロセスを中断することなくモデル更新プロセスを合理化するためのホットスワップ可能にします。また、ガバナンスを適用することで、AIプロジェクトを安全にスケールアップし、生産モデルの制御を維持してリスクを最小限に抑え、規制を遵守することができます。
記事全体を表示
No Image
ビジネスアナリスト ここからはじめよう
DataRobotを使い始めるための基礎知識を提供するために、インタラクティブな演習を含む一連のトレーニングモジュールを提供しています。典型的なユースケースワークフローの様々な段階で、どのように当社のプラットフォームをナビゲートするかを示しています。インタラクティブな演習は、「やってみて学ぶ」ことを目的としています。 ビジネスアナリストのためのDataRobot BA-1 AI・機械学習にできることは何か?
記事全体を表示
1.予定しない再入院の予測(分類問題)
この記事では、DataRobotを使って分類問題を解決する方法をまとめています。具体的には、データのインポート、探索的なデータ分析、ターゲットの選択、さらにはモデリングのオプション、評価、解釈、デプロイメントについて学びます。
記事全体を表示
2-1. データのインポート
この記事では、DataRobotプラットフォームにデータをインポートするさまざまな方法について簡単に説明します。
記事全体を表示
2-2.DataRobotにおける自動化された特徴量エンジニアリング
この記事では、DataRobotにおける自動特徴量エンジニアリングのテクニックのいくつかを説明します。モデリングの最初のステップは、データが1つのテーブルにすべて揃っていることを確認することです。これが完了すると、DataRobotは自動特徴量エンジニアリングを実行することができます。 DataRobotは、データタイプに基づいてデータセット内の特徴量に変更を加えます。 数値特徴量についてはDataRobotは自動的に欠損値を補完し、さらに補完されたことを示すフラグを作成します。DataRobotは、リジット、標準化、二乗、対数変換などの様々なスケーリング変換も行います。また、数値特徴量間の比や差に基づいて特徴量を作成します。 日付特徴量については、DataRobotは、元の日付フィールドに基づいて、曜日、月の日などの追加特徴の生成を開始します。 カテゴリ特徴量については、DataRobotは、One-hotエンコーディング、Ordinalエンコーディング、信頼性評価やターゲット・エンコーディングのような高度なテクニックなど、複数の異なるテクニックを試します。 テキスト特徴量については、DataRobotは多様な技術を試します。一般的な手法は、TF-IDF (term-frequency, inverse document frequency)を使用することです。他のテキストアプローチには、ngrams、文字グラム、またはword2vecやfasttextのような単語埋め込み技術を使用することが含まれます。テキストの列が複数ある場合、DataRobotはそれらの間の余弦類似度を見る特徴量を生成します。DataRobotのテキスト処理は、英語、日本語、フランス語、スペイン語、中国語、ポルトガル語などの一般的な言語を含む多くの言語で動作します。 添付ファイル 機械学習用のデータを準備するためのDataRobotのツールのいくつかの詳細については、この記事に添付されているPPTXファイルを参照してください。
記事全体を表示
3-1.特徴量セット
フィーチャーリストは、DataRobotがモデルを構築するために使用するフィーチャーのサブセットを制御します。
記事全体を表示
3-2.ターゲットに対してのインサイト
この記事では、フィーチャーの重要性、ターゲットリーケージ、およびフィーチャーアソシエーションマトリクスについて説明します。
記事全体を表示
4.モデリングオプション
DataRobotにデータをアップロードし、EDA1が完了したら、データを探索し、プロジェクトをセットアップしてモデルの構築を開始する準備ができました。データを探索するには、ページの下部にある精査(とデータセット名)というラベルの付いたリンクをクリックするか、下にスクロールしてください。 図1. データの探索 アップロードされたデータセット内のすべての特徴量のリストが表示されます。DataRobotがデータタイプを自動的に識別して提示します。DataRobotは以下のデータタイプをサポートしています: 数値、カテゴリカル、日付、パーセンテージ、通貨、長さ、フリーテキスト。数値データについては、最小値、最大値、平均値、中央値、標準偏差、ユニークな値や欠損値の数など、いくつかのサマリー統計が表示されます。 図2. データセット内のすべての特徴のリスト 任意の特徴量をクリックすると、その特徴量内のデータのヒストグラムがビンの粒度の選択可能なレベルで表示され、さらに探索することができます。データは、最も頻繁に使用される値の形で表示されたり、表として表示されたりします。DataRobotが自動的に割り当てたデータタイプを変更することができます。 図3. 選択された特徴のデータのヒストグラム 各機能名の左側には、マウスを重ねると表示されるチェックボックスがあります。これにより、特徴を選択して特徴リストを作成することができます(これらについては、他の資料で詳しく説明しています)。 データセットがアップロードされると、次に進むために、DataRobotはターゲットを知る必要があります(つまり、何を予測しますか)。 選択すると、ターゲットのヒストグラムが表示されます。予測対象の特徴量のデータタイプを考えると、DataRobotはデータサイエンスの問題のタイプを分類か回帰かで認識します。適切な日時特徴データが利用可能な場合は、DataRobotの時系列オプションが選択可能になります。 図4. ここで対象となる機能を指定する また、ターゲットを選択すると、ページの下部にあるリンクから [高度なオプション] が表示されます。これにより、モデリングに使用する最適化メトリック、異なるパーティショニング・スキーム、ダウンサンプリングなど、さまざまな設定を行うことができます。これらの設定については他の資料で詳しく説明しますが、デフォルトの設定は、経験の浅いデータサイエンティスト、エンジニア、アナリストなどが、追加の理解や設定なしに優れたモデルを構築できるようにするためのガードレールを提供していることに注意することが重要です。しかし、DataRobotは、これらの設定を指定したいユーザーのために、細かい粒度のコントロールも提供しています。 図6. モデリング構成の詳細オプション ページの上部に戻ると、「開始」ボタンが表示されます。これをクリックすると、モデリングプロセスが開始されます。スタートボタンの下には、モデリングモード、フィーチャリスト、および最適化メトリックが表示されます。 モデリング・モードは、モデルの構築方法を示しており、オートパイロット、クイック、およびマニュアルのオプションがあります。これは、DataRobotがモデルを構築するために使用するプロセスとワークフローを指定します。 フィーチャーリストは、DataRobotがモデルを訓練するために使用するフィーチャーのセットを指し示します。 最適化メトリックは、モデルが訓練される(または最適化される)手段であり、例えば、LogLoss、RMSEなどです。 図7. 選択したオプションでモデル構築を開始 開始ボタンをクリックすると、DataRobotはモデルトレーニングを開始します。存在する特徴のタイプ(例:テキスト特徴、カテゴリカル、日付など)、ターゲットのタイプ、プロジェクトのタイプを持つデータセットが与えられると、DataRobotはトレーニングするモデルのサブセットを選択し、スコアを付け、ランク付けし、さらに評価と理解分析のためにこれらのモデルをリーダーボード上に表示します。 図8. ビルドしたモデルのリーダーボード DataRobotは、高速処理を提供するために、一連のラウンドでモデルをトレーニングします。各ラウンドの後、DataRobotは最高のパフォーマンスを発揮するモデルのみを選択して次のラウンドに進みます。連続する各ラウンドでは、より大量のトレーニングデータを使用し、全部のトレーニングデータを使用して最高のモデルを構築していきます。 モデリングオプションの注意点・Tips: クイックモードは通常のオートパイロットの4分の1程度の時間で完了しますので、素早く分析を行いたい場合におすすめです。 DataRobotをオートパイロットで実行は、最適化の指標をDataRobotに選ばせるようにすると間違いがありません(特に手動で変更しなければ、ターゲットにあったものを自動的に選択してくれます)。
記事全体を表示
5.リーダーボードの評価
プロジェクトを実行し、データから多くのモデルを構築したら、トップメニューの「モデル」をクリックして、リーダーボードからそれぞれのモデルを評価することができます。 図1. モデル まずは「モデル」の右側に表示されている数字に注目してください。これは、このプロジェクトで構築されたモデルの数を示しています。 「モデル」をクリックすると、リーダーボードが開きます。モデルが選択したパフォーマンス指標の順にリストアップされています。例えば、二値分類の場合、デフォルトの指標はloglossです。 モデルのいずれかをクリックすると、詳細な情報を展開することができます。すると、以下のツールが表示されます:評価、解釈、説明、予測、コンプライアンス。 評価 ー モデルのパフォーマンス情報を提供します。 解釈 ー モデルの構成情報を提供します。 説明 ー モデルのブループリントを説明します。ブループリントはさまざまな前処理、パイプラインと機械学習アルゴリズムを組み合わせたものです。フローは左からスタートして、アップロード時データインジェストから、様々な前処理ステップ(場合によっては他のアルゴリズムを経由することも)を経て、最終的な機械学習アルゴリズムに至るまでの流れである(図2のアルゴリズムはeXtreme Gradient Boosted Trees Classifierです)。最後に完成したモデルは予測に使われます 予測 ー 予測リクエストの発行と結果を取得する方法を複数提供します。 コンプライアンス ー 透明性を提供するため、DataRobotが構築したここのモデルの各ステップと設定を記述した詳細なドキュメントを生成します。 図2. モデルを理解し評価するためのツール このメニューから1つ上のレベルに戻ると、グレーでハイライトされたさまざまな項目が表示されます(図3)。 図 3. モデルのタグ これらのタグは、リーダーボード上のモデルを絞り込むためのいくつかの方法を提供します。タグによって提供される情報は機械学習アルゴリズムのタイプに依存し、モデルとブループリントの番号、係数が利用可能かどうか、スコアリングコードなどが含まれます。(各タグについては、DataRobotアプリ内のドキュメントで詳しく説明されています)。 タグをクリックすると、リーダーボード内そのタグが付与されたモデルを絞り込むことができます。 リーダーボードは3つの主要なカラムセクションで構成されています。 モデル名と説明 ー モデルの名前とブループリントの各ステップの概要を説明するテキストが表示されます。 特徴量セットとサンプルサイズ ー 学習で使用された特徴量セットとデータ数を示します。例えば特徴量セットは有用な特徴量と100%のデータで学習した。特徴量セットとサンプルサイズをクリックして変更して、別の組み合わせで再学習することができます。 指標 <指標名> ー 検証、交差検定(実行した場合)とホールドアウトのスコアを確認できます。指標名をクリックすることで、ドロップダウンから他の指標に変更することができます。 図4. モデルのリーダーボード情報 図5に示すようにモデルアルゴリズムの名前の横にアイコンが表示されています。 図5. モデルアイコン 各アイコンは、モデルの構築に使用されたオープンソースの言語および/またはライブラリを示しています。例えば、Python、R、X Boost、DMTK、Tensorflowなどです。また、DataRobotのアイコンもありますが、これは我々が様々なライブラリを組合せし、チューニングして実装したものです。 リーダーボードのテーブルとメインメニューの間には、オレンジ色のテキストで書かれた別の項目のセットがあります。 図6 モデルの閲覧や新しいタイプのモデルを作成するためのツール メニューには、モデルをアンサンブルに組合せるためのさまざまなオプションが用意されています。アンサンブルは、さまざまな方法で複数モデルの予測結果を一の結果に統合する手法です。 モデルを検索する、あるいはモデルを絞り込むためのツールもあります。新しいモデルを追加を使用して、リポジトリからモデルを追加して学習し、リーダーボードに追加することができます。エクスポートでは、リーダーボードの内容をダウンロード可能なファイルに作成し、出力します。 その上には、リーダーボード、学習曲線、速度 対 精度、モデル比較を含む別のメニューがあります。ここではリーダーボードについて説明していますが、その他の項目については他の資料で説明しています。 図7. リーダーボードツール リーダーボードの評価の注意点・Tips: リーダーボード上位のモデルでは交差検定も実施してみましょう。データ量が多い場合は、自動的には計算されません。 また、交差検定と検定のブレが大きくないかを確認し、大きな差がある場合には常に交差検定の値を信用し、どうして差が出るのか考察してみましょう。
記事全体を表示
6-1.モデルインサイト
インサイト(Insights)メニューには、モデルの詳細をグラフィカルに表示する機能がいくつかあります。いくつかは、モデル非依存で、どのモデルまたはデータ全体にも適用可能なものもあれば、選択した特定のモデルに適用されるモデル詳細の表現であるものもあります。
記事全体を表示
6-2.モデルの説明と評価
この記事では、ブループリント、コンプライアンス、リフトチャート、ROC曲線、予測分布グラフ、累積リフトと累積ゲインチャートなど、DataRobotモデルの評価手法について説明します。
記事全体を表示
6-3.モデルの解釈
DataRobotは、モデルを理解するための多くのツールを提供しています。
記事全体を表示
7.モデルのデプロイ
DataRobotの真価を発揮するためには、モデルを使用して予測を実行する必要があります。これは一般的に「モデルデプロイ」と呼ばれるプロセスです。DataRobotには様々なデプロイ方法があり、ユースケースによって最適なものを選択できます。ここでは、モデルリーダーボードから始まり、異なるユースケースのニーズに対応するDataRobotモデルのデプロイ方法を確認してみましょう。
記事全体を表示
TS-1. 店舗の売上予測(単時系列問題)
それでは早速、実際に時系列モデリングを行っていきましょう。具体的にはこのページの下部に添付しているエクセルファイル(店舗売上予測.xlsx, 店舗売上予測_予測.xlsx)を使いながらDataRobotで時系列モデルを作成し、予測まで行います。 今回はある店舗全体の売上をDataRobotの時系列モデリングによって予測していきます。データは図1のような構成になっています。( 店舗売上予測.xlsx ) 図1. トレーニングデータスナップショット(店舗売上予測.xlsx ) 一番左の黄色の列に日付が格納されています。時系列モデリングでは日付、時間を示す特徴量が少なくとも1つ必要です。 次に緑の5列は来客数や割引商品、プロモーション商品、返品率や従業員数などその日の店舗に関する情報です。 青色の4列はクリスマス期間、ブラックフライデー期間、祝日、イベントといったカレンダー情報です。 オレンジ色の3列は年間経済成長率、失業者数、年間CPIが経済指標として格納されています。この列には欠損も多く含まれていることが見て取れます。DataRobotが自動で補完するので、欠損値が含まれるデータをそのまま入れることが可能です。 最後に右端の赤い列に売上が格納されています。今回はこの売上が予測の対象となります。 このファイルをDataRobotの以下の画面にドラッグアンドドロップで投入します。 図2. DataRobotのデータインポート画面 ドラッグアンドドロップが完了したらターゲットに「売上」を設定し、何を予測するかを教えます。 図3. ターゲットの設定 次に「時系列認識モデルを設定」を押して、主時間を表す特徴量として「日付」を選択します。(DataRobotが自動で時間が格納された特徴量をサジェストしてくれます。) 図4. 時間認識モデルの選択 図5. 主時間を表す特徴量の設定 その後、左下の「時系列モデリング」を選択します。この設定をする事で時系列モデリングが行われます。 図6. 時系列モデリングの選択 この後はいくつか時系列モデリングの詳細な設定を行っていきます。 まず、図7のように派生特徴量を作成する期間と予測したい期間の設定を行います。ここではデフォルトのまま、過去35日間の期間を使って特徴量を派生し、1~7日先の予測を行います。 図7. 特徴量の派生ウィンドウと予測ウィンドウの設定 次に、事前に既知の特徴量を設定しましょう。今回のデータでは青色の列である「クリスマス期間」「ブラックフライデー期間」「祝日」「イベント」が事前にわかっている情報ですので、特徴量一覧からこれらを選択しチェックします。 図8. 事前に既知の特徴量の選択 そして「メニュー」から「4個の特徴量を事前に既知として切り替える」を選びます。 図9. 選択した特徴量を事前に既知として切り替え これで、これらの特徴量を事前に既知と設定することができました。 図10. 事前に既知として切り替えられた特徴量 訪問客数などと違い、クリスマスなど前もって知る事ができる変数を既知の変数であると設定する事は非常に重要です。 以上で設定は完了です。それでは「開始」ボタンを押してモデリングを開始しましょう。 図11. 時系列モデリングの開始 「開始」ボタンを押すと図12のように派生特徴量を生成するフェーズを挟んで複数のモデルが作成されます。 図12. 派生特徴量の生成 特徴量の派生が完了した後、「データ」から特徴量の一覧を見ると、インプットデータには14列しかなかったものから特徴量の数が300弱まで増えていることが確認できます。DataRobotではこの様に、インプットデータの時系列の特徴量エンジニアリングを自動で行います。 図13. 生成された派生特徴量 モデルの生成が終わったらリーダーボードから上位のモデルを選んで精度を確認してみましょう。モデルの「評価」から「時系列の精度」を選択することで、実測値とモデルの予測値の時間軸での当てはまりを視覚的に確認することができます。 図14. 時系列の精度 また、「解釈」から「特徴量のインパクト」を選ぶことで、派生特徴量も含めたものの中でどの特徴量がインパクトがあるのかを用意に確認することができます。 図15. 派生特徴量も含めた特徴量のインパクト モデルの確認ができたのでこのモデルを使って予測を行ってみましょう。予測に必要になるのは図16のようなモデル作成に使用したデータと同じ特徴量をもったデータです。 今回予測に使うデータ( 店舗売上予測_予測.xlsx )の予測対象期間は2014/06/15から2014/06/21ですのでその期間のデータは日付と事前に既知な特徴量以外は空白となっています。 また、派生特徴量を生成するのに必要な期間(今回は35日前から当日まで)のデータも含まれている必要があります。 図16. 予測に使うデータのスクリーンショット(店舗売上予測_予測.xlsx ) 「予測」から「予測を作成」を行い、このファイルをドラッグアンドドロップして「予測を計算」を押すことでアップロードしたデータに対する予測を生成できます。 図17. 予測の計算 予測結果はCSVファイルとしてダウンロードすることもできますし、「プレビュー」を押すことで図18のように視覚的に確認することもできます。青色の点と線が予測値の推移で、80%予測区間も合わせて表示されています。 図18. 予測プレビュー 以上、DataRobotによる時系列モデリングの流れを簡単に見てきました。ここからは以下の各ステップについてより詳細に見ていきましょう。 TS-2. データの用意 TS-3. 時系列設定 TS-4. 時系列モデリングと特徴量セットの確認 TS-5. モデルの精度とインサイト TS-6. モデルの予測 TS-7. アドバンストトピック
記事全体を表示
TS-2. 時系列データの用意
時系列モデリングを行うにはどのようなフォーマットのデータを用意すれば良いでしょうか。また、時間軸に欠損があったりしてはいけないのでしょうか。 このセクションでは時系列モデリングを行う際に用意するデータについて解説します。 時系列データのフォーマット 時系列モデリングを行うには時間/日時の特徴量とターゲット、その他の特徴量を含んだフォーマットのデータである必要があります。DataRobotの時系列モデリングではラグやヒストリカル変数を自動で生成するため、手動で生成する必要はありません。ラグ/ヒストリカル変数とは例えば売上予測を予測する問題では、前日、7日前、1年前の売上や来店客数を特徴量としたものです。 図1に「TS-1. 店舗の売上予測(単時系列問題)」で用いたデータで「時間軸の特徴量」と「ターゲット」にあたる部分を示します。また、このデータのようにひとつの系列(今回は店舗)から構成された時系列を単時系列と呼びます。 図1. 単時系列データのフォーマット これに対し店舗が複数あってそれらの時系列データをまとめて扱いたい場合もあります。このようにいくつかの系列(店舗)が含まれている時系列のことを複数時系列と呼びます。 複数時系列の場合、ひとつひとつの単時系列データのIDとなる系列認識子を数値またはカテゴリとして含めます(単時系列データにそれぞれの系列認識子を与え、縦につなげたデータというイメージです。例えば店舗ごとの日次売上を格納した複数時系列データであれば、店舗番号などが系列認識子にあたります)。系列認識子は1列のみ指定可能で、複数列ある場合は連結して1つの特徴量とする必要があります。以下に例を示します。 図2. 複数時系列データのフォーマット 時系列対応データ 時系列データには以下のようなパターンが存在します。 定期的 :月曜から日曜毎日など、均等な間隔で発生するイベント 半定期的:閉店しているので日曜日、祝日だけ売上が存在しないなど、ほぼ均等な間隔で発生するイベント 不定期的:トランザクションなど、一貫しない時間ステップで起こるイベント 下の図で具体例を見てみましょう。 図3. 定期的な時系列データ(日ごとのデータが存在している) 図4. 半定期的な時系列データ(日曜日・祝日が存在しないなど) 図5. 不定期的な時系列データ(ランダムに多くのデータが欠損) DataRobotの時系列モデリングでは上記の全ての時系列データに対応していますが、不定期的なデータでは行ベースの予測が行われます。 行ベースの予測だと次にイベントが起こる際の値は予測できますが、それがいつ起こるかは予測できません。(例:過去の地震の大きさから次回の地震の大きさを予測。ただ次回の地震がいつ起こるかは予測できない。) 図6. 不定期的なデータで時間認識モデルを選択した画面 【複数時系列】時系列対応データ 複数時系列の場合には、各系列の時系列が以下のように不揃いであっても構いません。 以下の例の系列2や系列3のようにデータが途中までしかない、あるいは最初の時点のデータがない場合も対応可能です。系列4のような不定期なデータセットには行ベースのモデリングを行います。系列5のように過去のデータがまったくない時系列の予測にも対応していますが、その場合には精度に注意が必要です。 図7. 複数時系列データのパターン
記事全体を表示
TS-3. 時系列設定
このセクションでは時系列モデリング特有の設定を行う手順について解説します。 機能の選択 時系列モデリングを行うには通常のターゲット選択のあと、「時間認識モデルを設定」から主時間を表す特徴量を選択し、「時系列モデリング」を選びます。 図1. ターゲットの設定から時系列モデリングの指定まで この後、必要に応じて以下の項目の設定を行います: 設定が必要な場合 設定する項目 複数時系列の場合 系列識別子 予測期間をビジネスニーズに応じて変更する場合 予測ウィンドウ 派生特徴量を作成する期間をデフォルト値から変更する場合 特徴量派生ウィンドウ 特徴量のうち、予測したい時点での値が事前にわかっているものがある場合 事前に知りうる特徴量 別途用意している祝日やイベントなどのカレンダーファイルを特徴量として使いたい場合 カレンダーファイル 派生特徴量の生成が不要な特徴量がある場合 派生から除外する特徴量 表1. 主な時系列設定機能 【複数時系列】系列識別子の設定 複数時系列の場合は以下のように系列認識子の設定も行います。 例えば店舗ごとの日次売上のデータの場合、店舗名などを指定します。 図2. 系列認識子の設定 予測ウィンドウ 次に予測ウィンドウを選択します。ここはビジネス要件に基づいて「いつの値を予測するのか」「どれくらいの期間の予測をするのか」を設定する箇所になります。例えば明日から1週間先までを予測したい場合、予測ウィンドウは「1~7」に設定します。 図3. 予測ウィンドウの設定 特徴量派生ウィンドウ 続いて特徴量派生ウィンドウを選択します。予測点の値に非常に関連性の高いと思われる期間を指定ここで指定することで例えば前々日の売上、過去1週間の売上平均、7日前の売上などこの期間内での派生特徴量(ラグ変数、ヒストリカル変数)を自動で生成されます。 「始め-終わり」の期間は、周期がありそうな期間を超える期間を目安とします。ただし例えば年のトレンドがあるからと言ってローリングウィンドウを「365~0日」に設定すると曜日が異なる365日前との差分など、あまり参考にならない派生特徴量も大量に生成することになるため、特徴量派生ウィンドウは月または週で設定するのが通常です。年のトレンドは別途、イベントフラグや季節性を表す特徴量で表現すると良いでしょう。 また、終わりは予測する際に利用できる過去のデータ区間を選択することに注意します。例えば予測する際に3日以前のデータしか利用できない場合は3をセットします。 図4. 特徴量派生ウィンドウの設定 特徴量派生ウィンドウを28~0と設定し、その際生成された「過去2週の平均売上」が1日先の予測に用いられる場合は下図のようになります。7/1, 2, 3を予測する際にそれぞれの2週間前の平均値を特徴量として計算し予測に利用します。 図5. 7/1, 2, 3を予測する際に用いられる派生特徴量のイメージ 事前に知り得る特徴量指定 特徴量の中には祝日、3日先の天気(予報)、マーケティング計画、割引価格計画、生産計画などのように事前に知りうる特徴量が存在します。 図6. 時系列時系列における事前に知りうる特徴量の例 時系列モデリングではこういった事前に知りうる特徴量を設定することができます。 1つ目の方法は該当特徴量にチェックを付け、「メニュー」→「特徴量を事前に既知として切り替える」を選択する方法です。 図7. メニューから特徴量を事前に既知として切り替える 「高度なオプションを表示」から「事前に知りうる特徴量がありますか?」のボックスに特徴量を追加することでも設定できます。 図8. 高度なオプションから特徴量を事前に既知として切り替える カレンダー機能 業務の中では別ファイルとして準備している祝日一覧やイベント日のリストなどを事前に既知な特徴量として使いたい場合も多いと思います。そういった場合に便利なのがカレンダー機能です。カレンダーファイルを元のファイルと1つに結合する手間なく、別々にインポートする事が可能で、またカレンダーのデータを使って様々な時系列エンジニアリングも自動で行います。 1列目にYYYY-MM-DD形式の日付、2列目にイベント名(オプショナル)を格納したカレンダーファイルをCSVファイルで用意します。複数時系列の場合、3列目に対応する系列認識子を格納することもできます。 カレンダーファイルは以下のように「高度なオプション」からインポートすることができます。 図9. カレンダーファイルのインポート 派生から除外する特徴量 既に時系列特徴量エンジニアリングが施された特徴量(特別なラグなど)や、系列内で経時で変化しない特徴量(商品名など)から特徴量を派生する事に意味はありません。これらの特徴量を派生から除外する設定をメニューから行うことが可能です。 図10. 特徴量を派生から除外 時系列予測におけるパーティション設定 時系列問題は過去のデータを元に未来を予測するというプロセスで行われます。そこでモデリング/検定も同様に行う必要があります。この時系列の検定スキームはバックテストと呼ばれます。通常の検定作業で複数回検定を行うことでその信頼性を上げる交差検定同様に、複数のバックテストを行う事も可能です。バックテストの値とは一般的に複数回行われたバックテストにおける検定値の平均値をいいます。 図11. 時系列モデリングにおけるバックテスト バックテストにおける検定の計算方法 個々のバックテストでは以下のように検定結果が導出されます。 例えば予測ウィンドウが7日間(1日後〜7日後)、検定期間が31日間(2018/7/1〜2018/7/31)の場合、内部的に1日先を予測するモデルから7日先を予測するモデルまで7つのモデルが作成されます(図12の点線下部分)。1日先を予測するモデルで31日間分の検定を行い、同様のことを2日先を予測するモデル、...、7日先を予測するモデルで行うため、のべ217日間分の検定が行われ、その平均が検定結果となります。 図12. 予測ウィンドウと検定期間の関係 また、特徴量の派生ウィンドウが過去28日間で派生特徴量として過去2週間の平均売上が生成されるとき、トレーニング期間が7月1日から7月31まで、検定期間が8月1日から9月30日までの場合、図13の右側のように7月1日から9月30日までの各日付に対し過去2週間の平均売上が特徴量として生成されます。そしてこの検定期間内の各売上について、1日先を予測するモデルから7日先を予測するモデル(予測ウィンドウが7日間の場合)のそれぞれで検定を行い、その平均値を検定結果としています。 図13. 検定時に使用される派生特徴量
記事全体を表示
«
前へ
1
2
次へ
»
お知らせ
DataRobotコミュニティにようこそ!
AIとMLに関するあらゆることについて探求し、学び、コミュニティの仲間と交流しましょう。
クラスルーム形式のトレーニングをご希望の方は
DataRobot University
へどうぞ
ラベル
AIエンジニア
9
データサイエンティスト
9
データ準備
13
モデル作成・検証
13
モデル運用
6
時系列モデリング
7
トップ寄稿者
DRCommunityJP
モデレータ
Sho Tanaka
データロボット従業員
YasunariN
データサイエンティスト
YusukeK
データサイエンティスト
すべて見る