この記事はSAS Institute Japanが翻訳および編集したもので、もともとはMike Gillilandによって執筆されました。オリジナルはこちらです(英語)。
またこれは、ゲストブロガーのジェシカ・カーティス(Jessica Curtis)とアンドレア・ムーア(Andrea Moore)による3部構成記事の第3部です(未読の方はこちら:第1部、第2部)。
SASがそれを実現する方法
オープンソースの時系列予測モデルをSAS Visual Forecastingに統合する方法には2つのメインステップがあり、どちらのステップもオープンソース・モデルのメリットと利用価値を増大させます。
- 基礎:オープンソース予測モデルをプログラム的実行で拡張する
- 資産の共有:オープンソース予測モデルをカスタム・モデリング・ノードとして利用する
ステップ1 - 基礎:オープンソース予測モデルをプログラム的実行で拡張する
オープンソースの時系列予測モデルをSASに統合するための基礎は、コードベースのアプローチを通じてプロセスを(手作業ではなく)プログラム的に実行することです。あなたは既にTSMODELプロシジャとEXTLANGパッケージのパワーについてお読みです。
TSMODELプロシジャ内部には、オープンソース・モデルを実行するためのオプションがいくつもあります。まず、自社/自組織のオープンソース戦略を加速および業務運用化するためのインフラとしてSASを活用し、オープンソース・モデルだけを実行することができます。また、これをもう一歩進め、オープンソース・モデルをSASのモデルと一緒に実行することができます。この場合、SASは時系列レベルでSASとオープンソースにまたがって最適なモデルを自動的に選択します。さらに、SASおよびオープンソースのモデルを組み合わせることも可能であり、この場合は、SASとオープンソースの組み合わせが個々の時系列に最適かどうかをSASが判断することになります。このアプローチにより、オープンソース・モデルの構築に投じてきた全ての努力を活かしながら、SASのアルゴリズム群も追加で取り込むことで、両方の世界の “いいとこ取り” を実現できるようになります。どのモデリング手法が最適かをあなたが事前に知る必要はなく、SASがあなたのためにその力仕事を代行します。SASは個々の時系列に関して、オープンソースとSASのどちらのモデルを選ぶべきか、あるいは両方を組み合わせるべきかを判断します。選択の機会が無限にある取り組みにおいて、これでその選択機会が一つ減ったことになります(お分かりですよね? あなたの時間は既に節約されつつあります!)。
図2は、TSMODELプロシジャとEXTLANGパッケージの実際の様子を示しています。これは、R言語のauto.arima関数をSASで実行している例です。EXTLANGパッケージを使うと、オープンソース・コードを読み込む方法の柔軟性が高まります。SASの内部で(図2のように)明示的にオープンソース・コードを記述することも、あるいは、指定したファイルからオープンソース・コードを読み込むこともできます。
この基礎のステップにより、オープンソースおよびSASの時系列予測モデルがともにプログラム的に実行されるようになります。予測結果は、幅広いビジネスユーザー層による利用のために、川下側の計画システムや実行システムへと簡単な方法で供給することができます。また、この基礎となるプログラム的アプローチを土台として、追加のメリットを得ることも可能です。具体的には「SAS Visual Forecastingのユーザー・インターフェイスの内部で、TSMODELのコードを取り出し、それをカスタム・モデリング・ノードの中へラッピングする」という方法を使います。
ステップ2 - 資産の共有:オープンソース予測モデルをカスタム・モデリング・ノードとして利用する
SAS Visual Forecasting のグラフィカルなユーザ・インターフェースは「様々なカスタムノードを作成し、それらをモデル・パイプライン内での利用のためにExchangeにロードできる機能」により、コラボレーションを強化します。カスタムノードはEXTLANGの機能を活用して、あらゆるR/Python予測モデルを実行することができます。様々な技法を使いたい場合には、多数のカスタムノードを作成することができます。その手間をかける見返りは多重的です。これらのノードは、どのような時系列予測プロジェクトにも適用可能であり、また、コラボレーションを強化するためにチーム内で共有することも可能です。いったん作成すれば、様々なパイプラインの中で、あるいは様々なデータ入力に対しても再利用することができます。図3をご覧ください。
作成したカスタム・モデリング・ノードは、あらゆるパイプラインに追加することができ、パイプライン内でSASの予測技法と独自のオープンソース・ノード(群)を組み合わせたり競わせたりすることができます。あなたのパイプラインが「複数のオープンソース/SASアルゴリズムによるトーナメント」を実行すると、SASはあなたの仕様指定にベストフィットするモデルを特定するための評価を実行します。モデル比較ノードを使うと、「複数のオープンソース/SAS技法を管理しながら、最良のモデリング戦略を評価するためにそれらを比較する作業」のための、迅速で透明性の高い方法が実現します。図4をご覧ください。
SAS Visual Forecasting のグラフィカルなユーザ・インターフェースを使うことで、「ワークロードの分散処理」や「オープンソースとSASにまたがるモデル選択」など、プログラム的アプローチの全ての利用価値が手に入ります。しかし、それだけではありません。このアプローチには「生産性と透明性の向上」、「オーバーライド(手動調整)機能や例外管理機能も備えた、ガバナンスの効いたワークフロー」、「ビジュアライゼーション機能との統合」という追加のメリットもあります。これらのビジュアライゼーション機能はUIに組み込まれており、ユーザーは追加の労力なしで、時系列予測モデルをより的確に理解および評価できるようになります。その使い勝手は対話操作性と協働作業性に優れており、プログラマー以外の幅広いユーザー層が利用できます。
プログラム的アプローチを利用するか、Visual Forecasting のグラフィカルなユーザ・インターフェースの中でカスタム・モデリング・ノードを作成するかを問わず、SASは小規模なプロジェクトから全社規模のソリューションへの転換を図る取り組みに適した、拡張性と弾力性の高い時系列予測環境を実現します。
まとめ
要約すると、SAS Visual Forecastingはオープンソースによる時系列予測戦略の可能性を広げます。TSMODELはSAS Visual Forecastingの基底をなしているプロシジャであり、EXTLANGパッケージはオープンソース言語との統合を可能にします。TSMODELとEXTLANGの組み合わせによって “マジック” が生まれます。SASはオープンソース・スクリプトを分散処理します。SASは複数の入力データを同時並行で読み込みます。SASはオープンソース・コードの実行を分散処理します。SASは複数の出力データセットを同時並行で書き出します。分散処理、拡張性、弾力性 ── 要チェックです!
SAS Visual Forecastingは、単なるモデリング環境ではありません。これはデータサイエンティスト、予測分析担当者、ビジネスユーザーのための再現性に優れた協働作業型のワークフロー環境でもあります。Visual Forecastingのグラフィカルなユーザー・インターフェースにオープンソース・モデルを取り込む機能により、データの準備から、モデルの構築、モデルのデプロイに至るまでの全ての工程において、対話操作型の一貫したユーザー体験を提供します。ユーザー層をプログラマー以外の人々にまで広げ、ビジネス部門による予測結果の採用を推進することができます。このソリューションにより、あなたの勤務先の企業や組織は、多種多様な時系列予測ユースケースを解決するのに必要な規模拡張を素早く効果的に実現し、ビジネス上の意思決定の向上を全社規模/全組織規模で推進できるようになります。
今後に向けて
さて、ここまでお読みになったあなたは、更なる情報に興味が湧いてきたかもしれません。ちょうど良いことに、私たちはその興味にかなうリソースのリストをまとめたところです。これらのトピックに関する詳細は、以下のリンクを参照してください。
- SAS Visual Forecasting: https://www.sas.com/ja_jp/software/visual-forecasting.html
- TSMODELプロシジャとEXTLANGパッケージがオープンソース・モデルを加速する仕組みを更に掘り下げた技術的詳細:「Scalable Cloud-Based Time Series Analysis and Forecasting」(執筆:Thiago Quirino/Michael Leonard/Ed Blair、SAS Institute Inc.)。この論文は無償のe-book「Forecasting with SAS®: Special Collection」にも収録されています。