Log4jの脆弱性に関する最近のニュースは、SASのお客様の多くにとって依然として最大の懸念事項です。ここでは、SASによる最新の活動と発見事項を皆様と共有したいと思います。 SASのお客様へ: SASソフトウェア環境およびSAS Cloudホスティング環境のセキュリティと完全性は常に当社の最優先事項です。SASのチームは、Log4j脆弱性に関する報道が出た後の早い時期(2021年12月中旬)に迅速に対応しました。オンプレミス環境のお客様のためには、影響を受けるSAS製品に関する情報はもとより、推奨されるアクションもご案内しました。SAS Viya 2021.2.2には、アップデートされたバージョンのLog4jが含まれています。加えて、当社は「loguccino」という無償ツールをリリースしました。お客様はこれを使うことで、ご利用中のSAS 9.4およびSAS Viya 3.x環境内にある脆弱なlog4jファイル群を検出し、パッチを適用することができます。 SAS Cloudホスティング環境のお客様のためには、「こうした脆弱性が悪用される可能性のある、この環境の複数の側面」を即座に強固にしました。具体的には、ネットワークベースのポリシーの厳格化や監視の増強などです。当社では「これらの公表された脆弱性に特化した形での、SASソフトウェアに関連した攻撃」のエビデンスは一切検知しておりません。 さらなる調査の結果、当社では「Log4j脆弱性自体は深刻であるものの、SASがホスティングされているシステム内におけるLog4jのコンフィグレーションおよび利用法では、エクスポージャーは極めて限定的」と判断しました。いかなる未認証ユーザー(=既存のアクセス権限を持たないユーザー)も、リモートコード実行脆弱性(RCE脆弱性)をトリガーすることはできません。これらの発見事項と既に実施済みの予防措置とを踏まえ、当社では「SAS Cloud内のお客様のSASアプリケーションとデータは安全性が維持されている」という確信を感じています。 さらなる詳細については、本件に関するSAS Security Bulletin(セキュリティ速報)をご覧ください。 ご利用中のSAS環境の生産性・安全性の維持に関する皆様の継続的なパートナーシップに感謝いたします。また、SASのお客様でいてくださり、ありがとうございます! セキュリティ速報のハイライト 上記の速報のアップデートに関する通知を受け取るには、SAS Support Communitiesのトピック「Updates on log4j Remote Code Execution Vulnerability (CVE-2021-44228)」をサブスクライブするか、このRSSフィードをフォローしてください。 SASでは、お客様のために “監査済みの自動化されたアプローチ” を提供する取り組みの一貫として、「loguccino」という脆弱性パッチスクリプトを開発済みです。このloguccinoは「logpresso」に似たツールですが、SASソフトウェア向けにカスタマイズされています。このツールはSAS 9.4およびSAS Viya 3環境を修復するために特別に設計されており、脆弱なLog4j JARファイルを再帰的に検索し、JndiLookupクラスを取り除いた上で、この脆弱性を含まない状態でJARを再パッケージ化します。 上記の速報には、SASがアップデート済みバージョンのLog4jを自社ソフトウェア内にデリバリーするにあたっての計画とタイムラインも記載されています。 SAS Viya 2020.1、SAS Viya 3.5、SAS Viya 3.4プラットフォームおよびSAS 9のSAS Logonプロセス内でのLog4jの利用に関してSASが実施した継続的および継続中の調査では、「CVE-2021-44228に関するコミュニティの理解を踏まえると、未認証のRCEエクスプロイトは現時点では不可能である」という結論に達しています。 大手の脆弱性スキャニング・ベンダー(Qualys、Rapid7、Tenable)はすべて、「この脆弱性に関連した最も一般的な攻撃ベクトル群をチェックするための、アップデートされたシグニチャ群」をリリース済みです。 最後に念のため繰り返しますが、お客様はいつでも当社のSupportサイトで最新のセキュリティ速報(英語)をご覧いただけます。 この記事は、英語版のオリジナルをもとにSAS Institute Japanが翻訳および編集したものです。
Author
この記事は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 Institute Japanが翻訳および編集したもので、もともとはMike Gillilandによって執筆されました。オリジナルはこちらです(英語)。 またこれは、ゲストブロガーのジェシカ・カーティス(Jessica Curtis)とアンドレア・ムーア(Andrea Moore)による3部構成記事の第2部です(第1部はこちら)。 SASがオープンソースにもたらす価値 何よりもまず、SASは時系列予測用の入力データを分散処理します。SASは時系列予測のためにデータをインテリジェントに分割する方法を理解しており、例えば、時系列グループが様々なワーカーノードにまたがって分割されることはありません。その上で、SASはオープンソースのスクリプト群そのものを複数のワーカーノードにまたがって分散させ、オープンソース・コードの実行を分散処理します。より具体的に言うと、EXTLANGパッケージはPythonまたはRのコードを呼び出す際、個々のPython/Rインタプリタを複数のワーカーノードのそれぞれに振り向けます。その結果、複数の時系列は同時並行で処理されます。このことがスケーラビリティと効率性の観点から何を意味するかを考えてみてください。これにより、あなたは自社/自組織の時系列予測能力を「一つの時系列予測課題の解決」から「組織全体の多種多様な時系列予測課題の解決」へと広げることができるようになります。しかも、より迅速かつ大規模に解決することができます。 例えば、あなたの勤務先がグローバル小売企業だと想像してみてください。あなたのビジョンは、単一の一貫した時系列予測プラットフォームで会社全体の多種多様な時系列予測課題を解決することです。膨大な数のSKUの品揃えの需要予測から、サプライチェーン全体に展開すべき適切な在庫量の判断、各店舗における労働の最適化に至るまで、あらゆる取り組みにおけるあなたの目標は、アナリティクスに基づく正確な意思決定を推進することです。今日、あなたはちょうど、「財務計画の意思決定のための集計レベルの時系列予測」をR言語で開発するプロジェクトで、最初の作業パスを終えたところだとしましょう。R言語による時系列予測アプローチは多くの点で成功しているように見えますが、あなたは店舗の労働に関する意思決定をサポートするために、これらの時系列予測機能を拡張し、より高粒度なレベルでの時系列予測を開発することを目指しています。時系列予測担当アナリストのチームは小規模であるため、あなたには、多種多様な時系列予測ユースケースに対応するために効率的に処理規模を拡大・拡張できる自動化されたプロセスが必要不可欠です。 集計レベルでの財務計画のために、あなたは1,000個の時系列処理を実行しています。店舗別および部門別の店舗労働計画の場合、この数はあっという間に10万個へと膨れ上がります。SKU/店舗レベルのサプライチェーン計画では、時系列は数百万個に及びます。これは間違いなく、大規模な時系列予測課題だと思われます。「分散処理に対応したスケーラブルな時系列予測ソリューションのパワーによってのみ克服可能な課題」ということです。ようこそ、SAS Visual Forecasting の領域へ。 どのような大規模な時系列予測課題でも、成功のカギを握るのは自動化です。そしてそれこそ、SASが行うことです。SASは統計的予測プロセスおよびオープンソース・モデルの実行を自動化することにより、お客様のビジネスにおける時系列予測プロセスの効率化を推進します。TSMODELプロシジャとEXTLANGパッケージのパワーにより、SASはオープンソース・モデルの実行時間を加速することで、時系列予測プロセスの効率化を更に推進します。これにより、あなたのチームは「時系列予測モデルを一度に一つずつ作成する負担」が軽減し、真の例外ベースのプロセスへと移行することができます。解放された時間で、事業計画の取り組みや、予測対象を新しい領域に広げる取り組みに注力できるようになります。端的に言うと、少ないリソースで多くのことが行えるようになる、ということです。 いったんモデルを作成した後は、SASが自動的に複数の出力用データセットを生成します。これは単なる時系列予測を超えた機能です。これには「モデルの仕様」、「当てはめ統計量」、「パラメータ推定値」を格納している多種多様なデータセットも含まれています。次に、これらの出力用データセットは ── あなたのご想像通り ── 分散処理にかけられます。このリッチな出力用データはデータサイエンス・チームとビジネス・チームの両方に対し、「重要な需要推進要因」や「モデルの詳細」に関する多くの洞察をもたらします。統計的予測を信用していないビジネス部門の人々と交わしたことのある様々な議論を思い出してください。その点、SASが自動的に作成する出力用データセットは「モデルがなぜ、何を行うのか」を “見える化” するために役立ち、その結果としてビジネス部門側との議論の質が高まり、モデルの採用率が改善されます。 また、SAS Visual Forecasting は、内蔵されているベストプラクティスにより、オープンソース・モデル群の強化も行います。特許取得済みのデータ診断機能やモデル構築プロセスから、リコンサイル(調整)機能付きの自動階層型予測機能、さらには、統合型の時系列セグメンテーション機能に至るまで、SAS Visual Forecastingは単なるアルゴリズムを超えたレベルで、様々なベストプラクティスに基づくエンドツーエンドの時系列予測プロセスを提供します。 自動化機能、加速機能、強化機能は全て、お客様の組織のニーズに合わせた規模調整に対応可能です。組織全体の多種多様な時系列予測ユースケースに応じて処理規模を拡大(または縮小)することができます。製品階層やロケーション階層の最下位レベルの粒度まで掘り下げる大量かつ複雑な処理にも対応できる高度なスケーラビリティにより、任意のレベルで時系列予測を実行し、結果を生成することができます。「最初に上位レベルの時系列予測を作成/調整し、それを手作業で下位レベルに落とし込む(按分する)手法」に頼る必要はもうありません。SASは、ビジネス上の意思決定が行われるのと同じレベルで、高品質な時系列予測を自動的に生成します。 (第3部に続く)
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはMike Gillilandによって執筆されました。オリジナルはこちらです(英語)。 ゲストブロガーのジェシカ・カーティス(Jessica Curtis)とアンドレア・ムーア(Andrea Moore)による3部構成記事の第1部にようこそ。 時系列予測はユビキタスな存在 時系列予測は、事実上あらゆる業種にわたり、ビジネスにおける多種多様な意思決定の中核を支えています。それはあなたの勤務先が、「膨大なSKUの品揃えの計画」や「配送センターや店舗の労働計画の改善」に取り組む小売企業であるか、需要計画プロセスの刷新に取り組んでいる消費財企業であるかを問いません。あるいは、デジタル広告/在庫計画/価格設定のために時系列予測を活用しているメディア企業や、最適なリソース配分のためにネットワーク利用率を予測している通信企業など、挙げればきりがありません。より優れた予測を得ることのインパクトは、あらゆる企業・組織における “ビジネス上の意思決定” に広範囲かつ抜本的な向上効果をもたらします。 44年以上にわたり、SASは世界各地の数千社の企業のために大規模な時系列予測プロセスを改善し続けています。SASはその間、統計的予測の精度向上と時系列予測作成プロセスの効率化を通じて最終利益の押し上げに貢献する強固な時系列予測ソフトウェアを開発および強化し続けてきました。これは決して大げさな表現ではありません。実際、当社は何冊も書籍を出しています。 SASの最新の時系列予測テクノロジーを搭載したSAS Visual Forecasting は、全社規模の様々な時系列予測課題を迅速かつ自動的に解決するための唯一無二の機能を提供します。SAS Visual Forecastingは、最新鋭の各種アルゴリズム ── 機械学習、時系列、アンサンブル ── だけでなく、過去データの診断、複雑な階層にまたがる自動予測、予測の例外管理に関する内蔵型ベストプラクティスも搭載しています。SAS Visual Forecastingの中核にある信条の一つは、「オープンソースのモデルを実行し、それらを大規模にデプロイ(業務実装)するための、オープン・エコシステムを提供する」ということです。 現在、オープンソース・ソフトウェア(OSS)は時系列予測モデルを開発するために広く使われています。多くの企業・組織がオープンソース戦略に取り組み始めており、PythonやRを活用して時系列予測を作成していますが、組織全体の多種多様な時系列予測ユースケースに対応するべく規模を拡張しようとしたときに様々な難題に直面しています。オープンソースの時系列予測モデルを「SASのソリューション」(以下、単に「SAS」)で実行することには複数のメリットがあり、既存のオープンソース戦略に立脚しながら俊敏かつ効率的な方法を確立することができます。もはや、SASとオープンソースのいずれかを選択する必要はなく、両者は真の相補的な関係にあります。 オープンソースで開始する 多くの企業・組織は、頑健な時系列予測を作成することに苦戦しているほか、様々な時系列予測ユースケースのために規模を拡張しようとしたときに難題に直面しています。個々の時系列予測課題には、データが徐々に増加し、複雑性も増大していくという問題が伴います。 例えば、あなたの勤務先が通信企業で、あなたは追加のインフラ(例:携帯電話網のセル)投資を行うべき場所に関する意思決定をガイドするために、データ帯域幅の需要を予測する必要があるとします。新規インフラ投資を計画するためには、帯域幅需要が時の経過とともにどのように変化するかを理解する必要があります。そこであなたは、市場における総需要が徐々に増加する様子を推計するために、オープンソースの時系列予測ソリューションを構築します。そこから得られる予測は、ネットワークをどれほど拡大するべきかに関する年間計画の基礎となります。そしてあなたは、計画プロセスへのアナリティクス活用について高く評価されたとしましょう。次のサイクルでは、計画のための単独の総合的な予測ではなく、「追加データの取り込みを伴う分析」と「通信インフラの個々の構成要素に関する予測の作成」を依頼されることになりました。 図1は今回の要請が「市場だけでなく、個々の都市/中継局/ノード/構内も対象とした予測」であることを示しています。この分析には、大量のデータと多数の時系列を用いて数千あるいは数百万もの時系列予測を生成する作業に対応できる処理規模の拡張性が必要不可欠です。上位レベルの値を下位レベルの値へと配分するのではなく、高粒度レベルの個々のネットワーク・コンポーネントに関する統計的予測を集計していくことが、予測精度の向上へとつながるからです。こうした予測精度の向上が実現すれば、資本計画プロセスは更に洗練されたものとなり、リソースは最も必要性の高い場所にピンポイントで、適切なタイミングで配分されるようになります。 これはネットワーク計画に固有の話ではなく、同じテーマの議論が全ての業種で繰り返されています。ここで必要とされているのはパラダイム・シフトです。あなたはもはや、個々の時系列予測を手作業でチューニングすることはできません。数量が大きすぎるからです。 必要なのは、「あらゆるタイプのユーザー(例:プログラマーと非プログラマー)が “モデルの構築” や “高品質な時系列予測の生成” において生産的になること」および「分散環境でデータを高速に処理すること」を可能にするソリューションです。そうしたソリューションでは様々なプロセスの自動化が、高精度な時系列予測の生成を促進します。 ここまで来ると、予測モデルを構築するだけの話ではなくなります。それよりも遥かに大規模な取り組みになります。また、時系列予測の結果を事業計画プロセスに統合することも必要になります。そのためには、多くのユーザーが結果を確認・操作したり、必要に応じて処理を追加したりできるようなソリューションが必要です。また、結果を共有できる機能や、ビジネスユーザーが業務プロセスの中で結果を利用できる機能も重要です。 多くの企業が難題に直面している理由は、これまでの努力を無駄にしたくないと考えたり、継続性を懸念したりしている一方で、自社の現在のオープンソース・アプローチが既に限界に達していると気付いているからです。 SASのソリューションはオープンソースを強化・拡張する 全社的/全組織的な時系列予測の取り組みにおいてオープンソース・アプローチが限界に達したとしたら、それこそSASが本領を発揮する状況です。オープンソースの時系列予測モデルを構築するために投じてきた膨大な作業の全てを失いたくないと思うのは当然のことです。実際問題、それらを失う必要はありません。SASのアプローチでは、オープンソースのモデル群をSAS Visual Forecastingに取り込んだ上で、それらの利用価値を拡張します。 SAS Visual Forecastingによるオープンソース統合の基礎となっているのは、TSMODELプロシジャとEXTLANGパッケージです。TSMODELは、SAS Visual Forecastingの基底をなしているプロシジャです。EXTLANGパッケージは、外部言語(例:PythonやRなど)のシームレスな統合を可能にします。 TSMODELとEXTLANGは「オープンソースによる時系列予測戦略」を改善します。SASはこれらの技法を通じて、オープンソースのモデルを実行するための「分散処理に対応した拡張性・弾力性の高い方法」を提供します。データの準備から、モデルの開発、モデルのデプロイに至るまで、アナリティクス・ライフサイクルの全てのステップにおいて、SASはオープンソースの時系列予測モデルを強化します。SASはPythonやRで作成されたモデルに対してオープンなだけでなく、分析ワークロードを自動的に分散処理することでオープンソースを拡張します。ちょっと立ち止まって掘り下げましょう。言い換えると、SASが「オープンソースのモデルを改善する」というのは、ひとつには、「その実行を高速化する」ということです。また、それ以外にも、SASが備える数々の “実証済みの利用価値の高い機能性” も手に入ります。もし興味をそそられたのなら、どうぞ読み進めてください。 (第2部に続く)
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはLee Ellen Harmerによって執筆されました。元記事はこちらです(英語)。 ハチを減少から救うために本当に必要なこととはなんでしょうか。 ハチの減少は目新しいニュースではありません。これまでにも、メディアによって農作業の工程や農薬がハチに影響を与えていることが取り上げられています。また、スタートアップ企業がハチの個体数を再び立て直そうと取り組んできた例があります。しかし依然として、ハチは世界的に重大な減少の一途を辿っているのです。 ハチを守るためには、養蜂家らが彼ら自身で出来る以上のことが必要とされています。養蜂家は自身の所有するハチやの巣箱の状態について熟知していますが、より大きな環境におけるハチについての知識は持ち合わせていません。そこは、市民科学者や一般市民らが力を発揮できるところです。 今日のハチの個体数の状態について理解し、減少を食い止めるためには、まず初めに私達のまわりにいるハチの実態を明らかにせねばなりません。ハチの保護を可能にするためには、ハチを“数える”ことが必要なのです。ハチの世界的な個体数を計数することは、地球上のハチの未来を守る第一歩です。ハチの計数作業によって集められたデータによって、ハチの種属ごとの生息地、そしてその生息地にハチがどのように分布しているのかといった重要な情報が明らかになります。SASはアパラチアン州立大学と共同でその取り組みを進めています。 ハチの保護に不可欠なテクノロジー 花粉媒介者であるハチとその環境を守るためには、私達はもはや伝統的な手法だけに頼ることはできません。その代わりとして使用されるのが、テクノロジーなのです。データの収集は始めの一歩でありますが、そのデータを可視化することで、養蜂家と研究者に迫り来る脅威を最も早く警告することができます。この指示器は、ハチに関するコミュニティの意思決定者に、これまで不可能と思われていた洞察を与えることができます。 その技術を実現するためのデータを集めるには、皆さんの助けが必要です。World Bee Countアプリケーションを通じて、人々はハチの計数に貢献し、周囲の環境にいるハチの写真を送信することができます。 “World Bee Countによって、私達はクラウドソーシングでハチのデータを集めることができます。それを使って、地球上のミツバチの個体数を可視化し、今日のミツバチに関する最大級の有益なデータセットを作り上げることができるのです。” アパラチアン大学 分析研究・教育センター理事 Joseph Cazier教授 SASは世界の最も逼迫した問題を解決することに意欲的であり、ハチを守ることも無視することはできない問題であると考えています。これまで、私たちは分析によってハチの健康を促進させようと試み、そしてData for Goodへ情熱を注いできました。つまりこのパートナーシップは、好奇心と探究心を持って世界的な問題を解決しようとするSASの本質的な精神を反映しているのです。 アナリティクスをすべての人に SASは世界花粉媒介者マップを作成しました。これは、World Bee Countアプリを用いて”ハチを数える“ことで、市民科学者や養蜂家からクラウドソーシングで集められたデータを視覚化したものです。このプロジェクトの後の段階では、研究者は作物の収穫高や降水量、その他ハチの健康に関係する重要なデータポイントを重ね合わせます。そうして、私達の世界でもっとも重要な花粉媒介者について、より包括的な理解を集約させます。 多くの人がデータを追加し、相関関係が導き出されるような豊富なデータセットを作成することで、可視化によるアナリティクスが実現できます。ハチのデータの単純な可視化から始まる取り組みは、ハチの個体数やその減少に繋がる要因の研究、そしてどのようにして私達がハチ全体の健康を促進させることが可能かといったような研究に対して、無限の機会を提供できるでしょう。 アプリをダウンロードして始めよう アプリケーションで写真を送信することは小さなことですが、ハチを保護するための活動として重要な役割を果たします。ハチは蜂蜜という素晴らしい自然の恵みを与え、私達に彩り豊かな朝の食卓を提供すると共に、私達の健康を促進させてくれます。5月20日は世界蜂の日として制定されています。beescount.orgからアプリをダウンロードして蜂の日を祝うと共に、見つけたハチの数をカウントしてみませんか? 今月だけでなく6月や7月、そしてその先のハチ月を超えてこの活動を続けていけたらいいですね!
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはMichael Gillilandによって執筆されました。元記事はこちらです(英語)。 カオス状況下での予測/フォーキャスティング Institute of Business Forecasting(IBF)は、「世界的パンデミックというカオス状況下での予測と計画」に関して80分間のバーチャル・タウンホールを開催しました。現在、それを録画したオンデマンド・ビデオが公開されており、一見の価値が大いにあります。そこには、以下のような経験豊富な識者陣による堅実かつ実践的なガイダンスが満載です。 エリック・ウィルソン(Eric Wilson)氏: IBFのソートリーダーシップ担当ディレクター(司会者) ダスティン・ディール(Dustin Deal)氏: 北米ビジネス・オペレーショズ担当ディレクター、Lenovo社 パトリック・バウアー(Patrick Bower)氏: グローバル・サプライチェーン・プランニング&カスタマー・サービス担当シニア・ディレクター、Combe社 アンドリュー・シュナイダー(Andrew Schneider)氏: サプライチェーン担当グローバル需要マネージャー、Medtronic社 ジョン・ヘルリーゲル(John Hellriegel)氏: IBFのシニアアドバイザーおよびファシリテーター 以下に、私が各パネリストから得た重要な知見をまとめます。 ジョン・ヘルリーゲル氏: 今現在、マクロ予測は相当困難であり、ミクロ予測(製品レベルに至るまで)は更に困難である。 平時状況を超えるレベルで多数の介入要因(例:政府による刺激策、原油価格の下落など)が存在しており、それら全てが不確実性と複雑性を増大させている。 高い予測精度が期待できないことから、需要計画担当者は企業における「不確実性の理解」と「適切な意思決定の実現」を支援することにフォーカスするべきである。 最も役立つのは、明確な前提条件に基づくシンプルなモデルである可能性が高い(例えば、個々の品目を調整しようと多大な労力を費やすのではなく、「3ヶ月間、各カテゴリーで25%の削減を実施する」など)。 ジャスティン・ディール氏: 中国では生産が回復しつつあるが、物流の遅延は依然として存在する。 マクロ/ミクロの両レベルでデータを収集するべき。これには、チャネルの在庫とセルスルー(実販売数)も含まれる。 チャネル在庫が低水準な場所や、即座の補充が必要な場所を把握するべき。 プランニング(例:S&OP)をもっと頻繁に実行するべき。 アンドリュー・シュナイダー氏: 今現在は、典型的な需要計画を行うのではなく、代わりに、「需要衛生サービス」(データ・クレンジング、仕入数/実売数の比較・把握など)にフォーカスするべき。 物事が平時状況に回復するまでの間は、需要の統御(コントロール)および形成(シェイピング)にフォーカスするべき。 変動係数を活用して、どの製品がCOVID-19(新型コロナウイルス感染症)の大規模な感染拡大のインパクトを最も受けるのかを特定するべき。そして、そのインパクトに従って製品をセグメント化し、リスクベースのABC分析を考慮する。 「データの観察・収集という “受動的” な取り組み」と「欠品状況から “入手可能な代替製品” への需要推進という “能動的” な取り組み」とを区別するべき。 需要シグナルの品質を評価するべき。POS(販売時点情報管理)システムを導入済みであれば申し分ないが、未導入の場合でも、顧客の真のニーズの解明に努めるべき(注文数/注文減少数/注文残数などの状況を踏まえた上で)。 組織内のデータだけでなく、外部の追加的なデータソースの活用も試みるべき。そこから何が分かるか? 需要の確率分布を考慮するべき。ただし、過剰な取り組みは禁物。「平時状況に回復した後、組織がトラブルに直面するような事態」を招いてはならない。 今現在は、精度についてはそれほど心配する必要はない。代わりに、様々なアプローチの予測付加価値(FVA)を検討するべき。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはRick Wicklinによって執筆されました。元記事はこちらです(英語)。 2020年における新型コロナウイルスの世界的流行のようなエピデミック状況下では、各国の感染確認者の累計数を示すグラフがメディアによって頻繁に示されます。多くの場合、これらのグラフは縦軸に対数スケール(対数目盛)を使います。このタイプのグラフにおける直線は、新たなケースが指数関数的ペースで急増していることを示します。直線の勾配はケースがどれほど急速に倍加するかの程度を示し、急勾配の直線ほど倍加時間が短いことを示します。ここでの「倍加時間」とは、「関連状況が何も変わらないと仮定した場合に、累計の感染確認者数が倍増するまでに要する時間の長さ」のことです。 本稿では、直近のデータを用いて倍加時間を推計する一つの方法を紹介します。この手法は、線形回帰を用いて曲線の勾配(m)を推計し、その後、倍加時間を log(2) / m として推計します。 本稿で使用しているデータは、2020年3月3日~3月27日の間の、4つの国(イタリア、米国、カナダ、韓国)における新型コロナウイルス感染症(以下、COVID-19)の感染確認者の累計数です。読者の皆さんは、本稿で使用しているデータとSASプログラムをダウンロードすることができます。 累計感染者数の対数スケール・ビジュアライゼーション このデータセットには4つの変数が含まれています。 変数Region: 国を示します。 変数Day: 2020年3月3日からの経過日数を示します。 変数Cumul: COVID-19の感染確認者の累計数を示します。 変数Log10Cumul: 感染確認累計数の「10を底とする対数」(=常用対数)を示します。SASでは、LOG10関数を用いて常用対数を計算することができます。 これらのデータをビジュアル化する目的には、PROC SGPLOTを使用できます。下図のグラフは感染確認者の総数をプロットしていますが、総数の縦軸に常用対数を指定するために「type=LOG」と「logbase=10」というオプションを使用しています。 title "Cumulative Counts (log scale)"; proc sgplot data=Virus; where Cumul > 0; series x=Day y=Cumul / group=Region curvelabel; xaxis grid; yaxis type=LOG logbase=10 grid values=(100 500 1000
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはLucy Kosturkoによって執筆されました。元記事はこちらです(英語)。 あなたは今まで、実際に現地に行かなくても熱帯雨林を助けることは出来ないかと考えたことはありますか?考えたことがないでしょうか。 でも今がチャンスです。地球をまもるための活動もバーチャルで実施することがでる時代です。私たちの熱帯雨林プロジェクトでは、人工知能(AI)について少しずつ学びながら熱帯雨林を保護する機会を、家で過ごしている児童・生徒の皆さんに提供します(もちろん、大人の方にもご協力いただけます!)。こちらがご自宅でもできる学習ステップガイドです。 このガイドは4つのステップに分かれています: Step1: AIが人類のためにどのような役割を担うのか理解しよう Step2: 熱帯雨林のためにどのようにAIを活用するか見てみよう Step3: 画像の分類に力を貸してください Step4: さらにAIを用いて解決できる他の問題を見つけよう Step 1: AIが人類のためにどのような役割を担うのか理解しよう 私たちは、電気によって生み出された力やインターネットを通じて形成された世界全体の繋がりから、人類の歴史や人々の生活・労働上での技術の転換を知ることができます。AIはそれらの技術の最先端に過ぎません。いわゆるスマート家電から電気自動車まで、AIは私たちが考えていた働き方・運転の仕方・学習など多くのことを変化させてきました。 AIは人間と機械の長所をつなぎ合わせます。コンピュータの処理速度と高い継続性に人間の知性を組み合わせることで、それぞれだけでは実現できないものを作り上げることができます。AIを用いると、私たちは人間にとっては危険なこと(危険な環境の探索など)をコンピュータに実行させるようにトレーニングすることや、監視カメラの管理など人間が継続し続けることが難しい作業をコンピュータに任せることができます。これらは、ルールを設定することが容易な直感的な問題ではなく、未知で予測不可能な状況が溢れている問題です。プログラマーはコンピュータが必要とするルールを開発するのが困難なので、AIを使用して命令を開発します。 例として、複数選択と記述で答える質問がある学生の課題を採点するために開発されたコンピュータプログラムについて考えてみましょう。 複数選択式の質問には4つの選択肢がありますが、その中で正解は1つです。プログラマーは、その学生の回答が正解かどうかを評価する従来のコードを作成します。そのルールは簡単で、「Q:生徒の回答は正解と一致しますか」「A:はい、または、いいえ」です。 では、記述式の質問はどうでしょう?記述の正解は1つではありません。その記述が正しいかどうかを判断するルールも存在しないかもしれません。「記述は何文字以上必要か」「段落の数はいくつか」「必要な単語・用いてはならない単語はあるか」など、記述を適切に採点するためのルールを作成する方法はなく、そのルールは様々な判断と細かい評価が影響してきます。 この場合、プログラマーは従来のコードの代わりにAIを使用します。この問題を解決するために、プログラマーはまず評価の高い記述と低い記述のサンプルを集めます。そのサンプルは多い方が望ましいです。そのサンプルに機械学習アルゴリズムを用いて、コンピュータが優れた記述の基準を識別できるようにします。コンピュータにあらかじめ指示すべきルールはわかりませんが、そのルールが有効かどうかを判断することが出来ます。別のサンプルを用意して、先ほど作成したルールを適応したときに評価の高い記述と低い記述に分類されているかどうかを確認することで、ルールの基準をテストできます。 森林破壊など、世界規模の問題に取り組む際も同様の手法を適用することが出来るのです。 Step 2: 熱帯雨林のためにどのようにAIを活用するか見てみよう SASはIIASAと提携し、AIの専門知識と科学システム分析を統合して、地球を見るための新しい「目」を作りました。この提携によって、惑星映像から森林破壊の領域を自動的に検出できるようになります。コンピュータは何百万もの衛星画像を調べることにより、森林破壊の影響を受けた熱帯雨林の範囲を科学者に警告します。これにより、400万㎢を超える熱帯雨林を短期間で調査し、衛星画像が更新されるたびに調査を繰り返すことが出来ます。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはMark Lambrechtによって執筆されました。元記事はこちらです(英語)。 世界的な公衆衛生問題が拡散する際、初期段階では多くの不明事項が存在するものですが、新型コロナウイルスのように急速な感染拡大の場合は特にその度合が高まります。データ・ビジュアライゼーションは、傾向を理解したり、複数のデータポイントから意味のあるストーリーを組み立てたりするための優れたスタート地点となりえます。ウイルスの拡散状況を視覚化できる機能は、問題意識の喚起、そのインパクトの理解、そして究極的には予防努力の支援に役立つ可能性があります。 2019年12月31日、世界保健機関(WHO)の中国オフィスは、中国湖北省の武漢市で検知された原因不明の肺炎の感染ケースについて報告を受けました。最初の報告以降、この新型コロナウイルス(SARS-CoV-2)は世界的な感染拡大を見せており、感染者は30ヶ国以上の数万人に及び、「新型コロナウイルス感染症(COVID-19)」と呼ばれる急性呼吸器疾病を引き起こしています。 この状況を受け、SASは新型コロナウイルスの現況、場所、拡散状況、トレンド分析を描き出すインタラクティブなレポートを作成しました。 元になるデータは日次で更新されており、感染拡大の進行状況を定期的にチェックすることや、世界的な拡散状況を時間軸に沿ったアニメーションで確認することができます。この対話操作型レポートでは以下のことが行えます。 過去10日以内に新たに確認された感染者の数を調べ、このウイルスの感染率、回復率、死亡率がどのように推移しているかを確認する。 このウイルスがどの地域に侵入したかを調べ、発生地の中国と世界の残りの地域とで状況を比較する。 感染確認済みのケースを分析することで、回復率が時の経過に沿ってどのように変化しているかを理解する。 このレポートはSAS Visual Analyticsと、WHO、CDC、ECDC、NHC、およびDXYからのデータ(JHU CSSEによってコンパイルされたもの)を用いて作成されています[訳注:JHU CSSE=米国ジョンズ・ホプキンズ大学システム科学工学センター]。 SAS Visual Analyticsで作成した新型コロナウイルス・レポートの概要 「新型コロナウイルス感染症(以下、COVID-19)」の感染拡大に関するサマリー情報を手早く確認したい場合は、こちらをご覧ください。 このサマリー情報は、世界各地の統計情報を用いて日次で更新されています。このWebページのこれ以降では、各種レポートからの重要な洞察をスクリーンショットでご紹介します。実際のレポートでは、最新のデータに基づき、ご自身で対話操作しながら統計情報や分析結果を閲覧することができます。 地域別の詳細情報を確認したい場合や、対話操作型レポート全体を探索したい場合は、サマリー情報ページの右上隅にある「Full Report」ボタンをクリックすると、完全なダッシュボードを起動できます。 最初に表示されるダッシュボード・ビュー([Status]タブ)では、日次で更新されるデータに基づき、COVID-19の感染拡大の概況を簡単に確認できます。具体的には、新たに確認された感染者数、回復者数、死亡者数などを地域別にフィルタリングして閲覧することができます。 図1: COVID-19の感染拡大の概況。新たに確認された感染者数、回復者数、死亡者数などを地域別にフィルタリングして閲覧することができます。 レポートの[Locations]タブ(下の図2)では、 全世界および特定国の新型コロナウイルス関連データを確認できます。 図2:[Locations]タブでは、全世界および特定国の新型コロナウイルス関連データを確認できます。 特定国のデータを見るには、左上のフィールドに国名を入力します(下の図3)。 図3: 国名を入力すると、その国の詳細情報だけに集中することができます。 新型コロナウイルスの最初の感染者が中国で報告されてから既に何週間も経過しており、感染拡大は世界各地へと広がっています。私たちは、Esri社のGISマッピング・ソフトウェアから取得した地理空間データのレイヤーを追加することで、対話操作型の画面を用いて、中国とその他の国々にまたがる形で新型コロナウイルスの拡散状況を探索できるようにしました。 [Spread]タブでは、SAS Visual Analyticsの時系列アニメーション機能(下の図4)を用いて、ウイルスが世界全体に拡散していく様子を見ることができます。アニメーションを再生すると、中国国内での拡散状況や、世界全体の拡散状況および深刻度を確認できます。 図4: 時系列アニメーションで、ウイルスが世界全体に拡散していく様子を見ることができます。 [Trend Analysis]タブでは、様々なビジュアライゼーションを切り替えながら、COVID-19の感染拡大に関連したその他のデータの傾向を見ることができます(下の図5)。 図5: 日次の感染者数/死亡者数のトレンド分析 [Epidemiological Analysis]タブでは、罹患率および有病率を見ることができます。 図6: 10万人あたりのCOVID-19感染者数を国ごとに見る 図7: 期間有病率を国または地域ごとに見る [Collective Insights]タブは、全世界のまたは国ごとの感染拡大状況を1つの表にまとめています(下の図8)。
なぜ“sasctl”が必要なのか? オープンソースとの統合性はSAS Viyaの一つの重要な製品理念であり、そのための機能拡張を継続的に行っています。その一環として”sasctl”という新しいパッケージがリリースされました。SAS Viyaでは従来から、PythonからViyaの機能を使用するために”SWAT”パッケージを提供しており、SAS Viyaのインメモリー分析エンジン(CAS)をPythonからシームレスに活用し、データ準備やモデリングをハイパフォーマンスで実行することができるようになっていました。しかし、データ準備やモデル開発は、アナリティクス・ライフサイクル(AI&アナリティクスの実用化に不可欠なプロセス)の一部のパートにすぎません。そこで、開発されたモデルをリポジトリに登録・管理して、最終的に業務に実装するためのPython向けパッケージとして”sasctl”が生まれたのです。 sasctlの概要 sasctlで提供される機能は、大まかに、3つのカテゴリーに分けられます。 また、この3つのカテゴリーは、お互いに依存する関係を持っています。 1.セッション sasctlを使用する前に、まずSAS Viyaのサーバーに接続する必要があります。(この接続は、ViyaマイクロサービスのRESTエンドポイントに対して行われることに注意してください) SAS Viyaのサーバーへの接続は、セッションのオブジェクトを生成することにより行われます。 >>> from sasctl import Session >>> sess = Session(host, username, password) この時点で、sasctlはViya環境を呼び出して認証し、この後のすべての要求に自動的に使用される認証トークンを受け取りました。 ここからは、このセッションを使用してViyaと通信します。 2.タスク タスクは一般的に使用される機能を意味し、可能な限りユーザーフレンドリーになるように設計されています。各タスクは、機能を実現するために、内部的にViya REST APIを複数回呼び出しています。例えば、register_modelタスクではREST APIを呼び出し、下記の処理を実行しています: リポジトリの検索 プロジェクトの検索 プロジェクトの作成 モデルの作成 モデルのインポート ファイルのアップロード その目的としては、ユーザーがPythonを使って、アナリティクス・ライフサイクルで求められるタスクを実行する際に、sasctlの単一のタスクを実行するだけで済むようにすることです。 >>> from sasctl.tasks import register_model >>> register_model(model, 'My Model', project='My Project') 今後も継続的に新しいタスクを追加していきますが、現在のsasctlには下の2つのタスクを含まれています:
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはIvor G. Moanによって執筆されました。元記事はこちらです(英語)。 Webセミナー「Data Preparation in the Analytical Life Cycle」について このWebセミナーでは「アナリティクス・ライフサイクルにおけるデータ準備」というテーマを取り上げ、データ準備の定義と、このライフサイクルの各ステップについて論じています。最初に現在の市場状況とデータ準備に関する人々の見方を考慮に入れた上で、議論の対象は、アナリティクス・ライフサイクルを構成する様々な領域と、データ準備が果たす役割へと移ります。そして最後に、データ・ガバナンスの役割を検討します。この簡潔版のブログ投稿シリーズでは、同Webセミナーから、いくつかの主題を取り上げて論じています。 データ準備の概念と重要性 「データ準備」とは、アナリティクスやビジネスインテリジェンス(BI)で利用するためのデータを収集/処理/クレンジングする工程に含まれる全てのタスクを指します。したがって、データ準備には、アクセス、ロード、構造化、パージ、結合(ジョイン)、データタイプの調整、フィールド値の整合性チェック、重複のチェック、データの統一化(例:1人の人物に2つの誕生日が存在する場合)などが含まれます。 データの量やソースの数が増えるにつれ、適切なデータ準備を行う取り組みは、コストと複雑性がともに増大していきます。そのため、データ準備は今、市場を形成しつつある新たなパラダイムとなっています。また、データ準備は事実上、セルフサービス型のデータ管理の取り組みと化しています。従来のデータ管理プロセスは、ある程度まではデータ統合および準備を実行できますが、今では、ダイナミックかつ詳細な作業や最終段階の作業に関しては、データ準備ツールを用いてセルフサービス方式で実行されるようになりつつあります。 明らかなことは、データを整形し、アナリティクスに適した状態にする上でデータ準備がますます重要になりつつある、ということです。今では、以前よりも多くの企業がデータドリブン(データ駆動型)を実現しています。それらの企業はデータに基づいて意思決定を行いますから、「データに素早くアクセスし、分析に適した状態に準備できること」が極めて重要です。Hadoopなどのビッグデータ環境は、「それらの環境からデータを移動することが不可能」ということを意味します(が、それは問題とはなりません)。その代わり、「アナリティクス向けにデータを準備する工程の一環として、ビッグデータを適切な場所で適切に処理し、その結果のデータを他のソースと組み合わせること」が重要となります。 したがって、データ準備は、あらゆるアナリティクス・プロジェクトの不可欠な構成要素と言えます。適切なデータを取得し、それを適切な状態に準備することによってこそ、アナリティクスの疑問に対して優れた答えを得ることが可能になるのです。質の低いデータや不適切に準備されたデータを使用すると、分析結果が「信頼に足るもの」になる可能性は低下してしまいます。 アナリティクス・ライフサイクルにおけるデータ準備を理解する アナリティクス・ライフサイクルには「ディスカバリー」および「デプロイメント」という2つの主要なフェーズが存在します。「ディスカバリー」プロセスは、イノベーションを生み出すビジネス上の疑問を提起することによって推進されます。したがって最初のステップは、ビジネスにおいて何を知る必要があるかを定義することです。その後、ビジネス上の疑問は「問題を説明する表現」へと変換され、その結果、予測的アナリティクスを用いてその問題を解決することが可能になります。 そして言うまでもなく、予測的アナリティクスを利用するためには、適切に準備された適切なデータが必要不可欠です。Hadoopや高速化・低価格化するコンピューターといったテクノロジーの進歩により、従来では考えられなかったほど大量かつ多様なデータを蓄積し利用することが可能になっています。しかしながら、この動向は、多種多様なフォーマットのソースデータを結合する必要性や、生データを “予測モデルへの入力として利用できる状態” に変換する必要性を増大させたにすぎません。コネクテッド・デバイスが生成する新しいタイプのデータ(例:マシンセンサー・データやオンライン行動のWebログなど)の出現により、「データ準備」段階は以前にも増して難しい課題領域となっています。多くの組織は依然として、「データ準備タスクに過大な時間を費やしており、場合によっては[全作業時間の]最大80%を占めている」と報告しています。 データ準備は継続的なプロセスである データ探索では、対話操作型かつセルフサービス型のビジュアライゼーションツール群を活用します。これらのツールは、統計知識を持たないビジネスユーザーから、アナリティクスに通じたデータサイエンティストまで、幅広いユーザーに対応している必要があります。また、これらのユーザーが関係性/トレンド/パターンを洗い出し、データに関する理解を深めることを可能にしなければなりません。言い換えると、このステップ(=探索)では、プロジェクト初期の「疑問提起」段階で形成された疑問やアプローチを洗練させた上で、そのビジネス課題を解決する方法についてアイディアの開発とテストを行います。ただし、より照準を絞ったモデルを作成するために変数の追加/削除/結合が必要になる可能性もあり、その場合は当然、「データ準備」を再び実行することになります。 「モデル作成」段階では、分析モデルや機械学習モデルを作成するためのアルゴリズムを使用します。その目的は、データ内に潜む関係性を浮き彫りにし、ビジネス上の疑問を解決するための最良のオプションを見つけ出すことです。アナリティクス・ツールは、データとモデリング手法をどのように組み合わせれば望ましい結果を高い信頼性で予測できるかを特定するために役立ちます。常に最高のパフォーマンスを発揮する唯一万能のアルゴリズムは存在しません。そのビジネス課題を解決するための “最良” のアルゴリズムが何であるかは、そのデータによって決まります。最も信頼性の高い解を見つけるためのカギは実験を繰り返すことです。適切なツールでモデル作成を自動化することにより、結果が得られるまでの時間が最小化され、アナリティクス・チームの生産性が向上します。そして、ここでも再び、さらなるデータが追加される可能性があります。 常に最高のパフォーマンスを発揮する唯一万能のアルゴリズムは存在しません。そのビジネス課題を解決するための “最良” のアルゴリズムが何であるかは、そのデータによって決まります。 「実装」段階へ もちろん、モデルの作成が済んだら、それらをデプロイ(=業務システムに組み込んで運用)する必要があります。しかし、その後も「データ準備」の取り組みは停止しません。モデルの良否はそれが利用するデータに左右されるため、モデル(およびデータ)については鮮度を維持し続けなければなりません。データ準備とデータ管理は、極めて継続的なプロセスなのです。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはIvor G. Moanによって執筆されました。元記事はこちらです(英語)。 Webセミナー「Data Preparation in the Analytical Life Cycle」について 我々は最近、「アナリティクス・ライライクルにおけるデータ準備」に関するWebセミナーを録画しました。このセミナーでは、データ準備の定義と、アナリティクス・ライフサイクルの各ステップの概要を押さえた上で、現在の市場状況とデータ準備に関する人々の見方を確認します。その後、議論の対象は、アナリティクス・ライフサイクルを構成する様々な領域と、データ準備が果たす役割へと移ります。そして最後に、データガバナンスの役割を検討します。 この簡潔版のブログ投稿シリーズでは、同Webセミナーから、いくつかの主題を取り上げて論じています。 昨今では、欧州連合(EU)の「一般データ保護規則(General Data Protection Regulation: GDPR)」やその他の規制の結果として、データ管理に関する新たなガバナンス要件が出現しています。これらの要件はデータ準備プロセスに対し、いくつかの興味深い影響を及ぼしています。この投稿はデータ準備に関する投稿シリーズの第3弾であり、この分野に見られる最近の変化と、それらが業務にどのように影響を与えているかに注目します(シリーズ第1弾はこちら、第2弾はこちら)。また今回は、「アナリティクス・ライフサイクルにおけるデータ準備」工程を整備する取り組みに関して、いくつかの重要な教訓を引き出します。 データガバナンスは必須であり、「データ準備」工程もその対象である これは非常に重要なポイントです。データ準備は、多くの企業や組織にとって目新しい領域かもしれません。特に、これを独立した領域として扱うアプローチに関しては、馴染みが薄いでしょう。しかしながら、データ準備のプロセスが組織のデータガバナンス・プロセスおよびルールに準拠しなければならない点が変わるわけではありません。これはデータ統合/データ管理ソリューションにも当てはまります。言い換えると、全てのデータ関連プロセスは、組織の総合的なデータガバナンス・プロセスに適合しなければなりません。 データ準備はなぜ重要なのでしょうか? 第一の理由は、アナリティクスの取り組みの大部分が、アナリティクス・ライフサイクル全体にわたって様々なユーザーグループ(例: IT部門、データサイエンティスト、ビジネスユーザー)の協働作業によって行われるからです。全てのユーザーが同じデータと同じ原則を用いて作業する必要があり、さもないと、分析モデルの作成結果は、最良の場合でも「あいまい」となり、最悪の場合は「全くの的外れ」となりかねません。 ガバナンスは用語集の整備を促進し、透明性の向上を実現することができます。 このコラボレーションは、データガバナンス原則に従わなければならず、また、この原則によって推進されなければなりません。これは言い換えると、データガバナンスは、このプロセス[=アナリティクス・ライフサイクル]の重要な構成要素であり、また、相互協力や協働作業の向上を実現するために活用されるべきである、ということです。データガバナンスは決して、「ありとあらゆる手を尽くして克服または迂回する必要のある障害物」と見なされるべきではありません。 ガバナンスは用語集の整備を促進し、透明性の向上を実現することができます。これは実際問題としては、「毎日データを用いて作業するわけではない非技術系のビジネスユーザーでも、自律的に取り組むことができ、セルフサービス操作でデータ品質を心配することなく必要な情報を取得できるようになる」ということを意味します。また、組織の側では「全てのユーザーが高品質なデータを取得していること」、そして「データが法的または倫理的な要件に則して適切に利用されていること」を確信できるようになります。 データ準備は継続的なプロセスである データ探索では、対話操作型かつセルフサービス型のビジュアライゼーションツール群を活用します。これらのツールは、統計知識を持たないビジネスユーザーから、アナリティクスに通じたデータサイエンティストまで、幅広いユーザーに対応している必要があります。また、これらのユーザーが関係性/トレンド/パターンを洗い出し、データに関する理解を深めることを可能にしなければなりません。言い換えると、このステップ(=探索)では、プロジェクト初期の「疑問提起」段階で形成された疑問やアプローチを洗練させた上で、そのビジネス課題を解決する方法についてアイディアの開発とテストを行います。ただし、より照準を絞ったモデルを作成するために変数の追加/削除/結合が必要になる可能性もあり、その場合は当然、「データ準備」を再び実行することになります。 セルフサービスとデータ準備 したがって、現代のデータ準備ツールは、セルフサービスを加速できるようにデータガバナンス機能と緊密に連携しなければなりません。セルフサービス・アナリティクスが機能するのは、セルフサービス型のデータ準備環境と一緒に運用される場合のみです。残念なことですが、「セルフサービス・アナリティクスへのアクセスを与えられても高品質なデータを利用できない状況に置かれたビジネスユーザーは、利用できるソースが何であれ、そこから単純に品質を検討することなく、自身が必要とするデータを引き出すだけであり、その場合でも結果は良好だろうと思い込んで疑わない」というのは真実です。また、アナリティクス・ライフサイクルが真に機能するのは、あらゆる場所にセルフサービスを整備した場合のみです。 したがって、「アナリティクス・ライフサイクルにおけるデータ準備」については、2つの重要なメッセージがあります。 恐らく最も重要なのは、アナリティクス・ライフサイクルは統合型のプロセスである、と理解することです。このプロセス内で活動するユーザーグループは多岐にわたり、このライフサイクルの様々な段階で運用されるツールも多種多様です。そのため、「調和のとれたコラボレーション」と「各段階間の遷移の容易さ」が極めて重要なのです。 恐らく最も重要なのは、アナリティクス・ライフサイクルは統合型のプロセスである、と理解することです。 私は、アナリティクスとデータ準備 ── ここでの「データ準備」とはデータ品質、データ統合、データガバナンスを確保するプロセスを意味します ── の両方をカバーする統合アナリティクス・プラットフォームこそがアナリティクス・ライフサイクル全体を促進する、と考えます。これは非常に重要なポイントです。アナリティクス・プロセスを加速したいとお考えのお客様の場合は特に、統合プラットフォームが優れた効果を発揮します。 第二の重要ポイントは、データガバナンスが担う中心的役割です。私の経験によると、ガバナンスは、アナリティクス・ライフサイクル内でセルフサービスを実現するために不可欠なサポート機能です。ユーザーが自立して行動し、例えば用語集を利用して、あるいはメタデータ管理機能を通じて、利用したいデータや適切なコンテキストに即したデータについて自身が必要とする知識を入手できる、ということは極めて重要です。したがって、ガバナンスはアナリティクス・ライフサイクルの必要不可欠な構成要素である、と言えるのです。 詳しい情報については、「アナリティクス・ライフサイクルにおけるデータ準備」について論じているWebセミナー(英語)をご覧ください(視聴にはユーザー登録が必要です)。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはIvor G. Moanによって執筆されました。元記事はこちらです(英語)。 Webセミナー「Data Preparation in the Analytical Life Cycle」について このWebセミナーでは「アナリティクス・ライフサイクルにおけるデータ準備」というテーマを取り上げ、データ準備の定義と、このライフサイクルの各ステップについて論じています。最初に現在の市場状況とデータ準備に関する人々の見方を考慮に入れた上で、議論の対象は、アナリティクス・ライフサイクルを構成する様々な領域と、データ準備が果たす役割へと移ります。そして最後に、データ・ガバナンスの役割を検討します。この簡潔版のブログ投稿シリーズでは、同Webセミナーから、いくつかの主題を取り上げて論じています。 この投稿は、アナリティクス・ライフサイクルにおけるデータ準備の役割に関するWebセミナーに基づく投稿シリーズの第2弾です。第1弾では、データ準備がアナリティクス・ライフサイクルの中にどのようにフィットするかを論じました。この投稿では、データ準備に関するいくつかのトレンドと、その結果として進化を遂げた構造やプロセスのいくつかを取り上げて検討します。現在のデータ準備パターンの形成を推進してきた主な課題は2つあります。それは、顧客需要に関する課題とデータ品質に関する課題です。 顧客需要 データ準備に関する現状の大部分は、データ量とデータソース数の増大によって推進されています。ビッグデータの出現は、データ・フォーマットの種類の増加や、ソーシャルメディアやマシンセンサーのような新しいデータソースの出現と相まって、データの保管や利用が難しくなることを意味しました。それと同時に、組織や企業は「意思決定をサポートするためにデータを効果的に活用することが、ますます必要不可欠になっている」ということを認識するようになりました。 ユーザーはより一層多くのデータを必要としています。彼らは手元のデータと外部のデータの両方を分析に含められるようになりたいと考えています。セルフサービスの人気が高まっているのは、柔軟性と自律性が高く、より低コストで、より高速であることに加え、統制も容易だからです。また、他の部門のために行う作業が減少します。 ガードナー社は以前、次のようにコメントしました。「セルフサービス型のデータ準備ソフトウェアの市場は、2019年までに10億ドル(1,100億円、1ドル110円換算)に達し、16.6%の年間成長率を示すと想定されます。潜在的なターゲット・ユーザーにおける現在の導入率は5%であり、これが2020年までには10%以上に成長すると想定されます。ベンダーは自社のビジネス戦略を計画する際に、この市場機会を理解しなければなりません」。しかしながら、セルフサービスのこうした急速な普及は、データサイエンティストにとって頭痛の種を生み出します。セルフサービスは高品質なデータ準備を必要としますが、残念ながら、それには時間がかかり、近道はほとんど存在しません。 データ準備工程からアナリティクス工程へのスムーズな遷移は極めて重要です。その実現には強力なアナリティクス機能とビジュアライゼーション機能が必要となりますが、ユーザーが必要な情報をデータから素早く引き出せるようにするためには強力なデータ管理も必要です。 データ準備工程からアナリティクス工程へのスムーズな遷移は極めて重要です。その実現には強力なアナリティクス機能とビジュアライゼーション機能が必要となりますが、ユーザーが必要な情報をデータから素早く引き出せるようにするためには強力なデータ管理も必要です。動きの速い市場では、俊敏な企業になる必要があります! こうした状況を受け、多くの企業では、データ準備やソフトウェア・エンジニアリングを担当するデータエンジニアという新たな職務役割が台頭しています。データエンジニアの仕事は、分析モデルの作成を行うデータサイエンティストにデータを渡す前に行われます。 データ品質の重要性 この新しい台頭中のデータエンジニアという仕事の役割は、データ品質が不可欠であるという事実の認識が広がっていることの証と言えます。言い換えると、データ管理とは、データの収集や整形を行うことだけでなく、データの品質が適切である状態を確保することでもある、ということです。したがって、データ品質は、データ準備の領域においても必要不可欠なテーマとなりつつあります。 SASは以前から、この領域の先頭を走り続けてきました。我々は相当以前から、「データ準備は単なるデータ読み込みに留まらない工程であり、データ品質の問題も含める必要のある工程である」と認識していました。アナリティクス手法はその入力として、価値の高いデータを必要とします。入力データがクリーンかつ高品質でない場合、出力はそれに応じて劣悪なものとなります。なぜなら、アナリティクス手法には、「ゴミを入れれば、ゴミしか出てこない」という格言がまさに当てはまるからです。 入力データがクリーンかつ高品質でない場合、出力はそれに応じて劣悪なものとなります。なぜなら、アナリティクス手法には、「ゴミを入れれば、ゴミしか出てこない」という格言がまさに当てはまるからです。 データの確認と修正 例えばSAS® Data Preparationでは、ユーザーは、どのようなデータがインポート済みで、どのようなデータが利用できるかを見ることができます。ユーザーはデータのサンプルを見てその感触を得ることができ、初見の段階で全てが一目瞭然です。しかも、ユーザーはデータ・プロファイルを見れば、もう少し詳しい情報を確認することもできます。プロファイルには、データが様々な形態で保管されている(例:正式名称と略語が混在している)という情報が示される可能性があります。こうしたデータ状態は、分析モデルに深刻な問題を引き起こしかねないため、複数の異なるデータソースを統合する前の段階で解決されなければなりません。 したがって基本的には、そのデータには今すぐ修正や標準化が必要です。この目的のために利用できる可能性のある解決手段は、いくつも存在します。例えば時系列分析の場合、我々はデータをフィルタリングし、欠損値を含む全ての項目を除去することができます。あるいは、データの表記法に一貫性がない場合には、異常値や重複を除去するために、そのデータを訂正およびクレンジングする必要があります。こうした操作の全てがデータ準備の重要な構成要素であり、それに関する認識と重要性がともに高まり続けているのです。 将来に向かって進むために これら2つの領域(顧客需要とデータ品質)は、データ準備とデータ管理の領域において、および、そこで利用可能なツールにおいて、近年の発展を非常に強力に推進してきました。セルフサービス型のツールは、ますますユビキタスな存在となっており、データ品質を確保する機能要素との組み合わせによって、あらゆる領域で最良のソリューションを実現しています。 次回の投稿では、データ管理に関する新たな規制やガバナンス要件を取り上げます。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはGerhard Svolbaによって執筆されました。元記事はこちらです(英語)。 データサイエンティストはデータの取り扱いに多くの時間を費やします。データ品質は、ビジネス課題を解決するために機械学習を適用したり、AIモデルをトレーニングしたりする上での必須要件です。しかし、アナリティクスとデータサイエンスは、データ品質に関する要件を引き上げるだけではありません。データ品質の改善に多大な貢献を果たすこともできます。 欠損値の補完と複雑な外れ値の検出は、恐らくデータ品質に関して最もよく知られた2大アナリティクス機能ですが、決してこの2つだけがそうした機能というわけではありません。本稿では、アナリティクスでデータ品質を改善できる7つの方法についてご説明します 1. 外れ値の検出 アナリティクスは、標準偏差や分位数のような統計的指標に基づく外れ値検出において重要な役割を果たします。これにより、各変量ごとの外れ値の検出が可能になります。また、外れ値検出には、クラスター分析や距離尺度の手法を含めることもできます。これらの手法は、多変量の観点からデータ内の外れ値や異常値を特定することを可能にします。 予測モデルや時系列手法を用いた個々の外れ値検出は、許容範囲や最適な修正値を個別に計算することを可能にします。全体平均は、望ましくないバイアスを分析に混入させる恐れがありますが、グループ内平均はそれに代わる優れた選択肢となる可能性があります。 アナリティクスとデータサイエンスは、外れ値や妥当性の無い値の検出や特定を実行するための手法を提供するだけでなく、代わりに使用すべき最も蓋然性の高い値に関する提案も行います。 2. 欠損値の補完 アナリティクスは、横断的データや時系列データの中の欠損値に対する代替値を提供することができます。平均ベースの手法から、個別の補完値を生成する手法まで、様々な補完手法が存在しますが、いずれも決定木や、時系列向けのスプライン補完のようなアナリティクス手法に基づいています。欠損値の補完により、不完全なデータセットでも分析に使用することが可能になります。 3. データの標準化と重複除去 分析するに当たってユニークキーが利用できないデータベースの中で重複を特定および排除するタスクは、レコード間の類似度を記述する統計的手法に基づいて実行することが可能です。これらの手法は、住所、氏名、電話番号、口座番号のような情報に基づき、レコード間の近接度や類似度に関する指標を提供します。 4. 様々に異なるデータ量のハンドリング アナリティクスを活用すると、サンプルサイズの設計と検定力分析が求められる対照実験のための最適なサンプルサイズの設計が容易になります。予測モデル作成時にサンプルが小さい場合や、イベント数が少ない場合のために、アナリティクスは希少イベントをモデル化するための手法を提供します。時系列予測に関しても、アナリティクスでは、いわゆる「間欠需要モデル」を利用できます。このモデルは、不定期かつ低頻度に発生する非ゼロ数量のみを用いて時系列をモデル化します。 5. アナリティクスに基づく入力変数変換 アナリティクス手法は、選択した分析手法に適合するように、分布に対する変数変換を実行できます。対数変換や平方根変換は、例えば、「右に裾を引いているデータ」を正規分布に変換するために使用されます。 多くのカテゴリーを伴う変数に関しては、アナリティクスでは、カテゴリを組み合わせるための複数の手法を利用できます。この場合、複数のカテゴリーに対する組み合わせロジックは、各カテゴリー内のオブザベーション数と、ターゲット変数に対する関係とに左右されます。この手法の例としては、決定木や根拠の重み(WOE)計算があります。 テキストマイニングを利用すると、自由形式のテキストを、アナリティクス手法で処理可能な「構造化された情報」に変換することができます。 6. 予測モデル作成のための変数選択 変数選択のための手法は数多く存在します。これらを利用すると、予測モデルを作成する際に、ターゲット変数と強い関係を持つ変数のサブセットを特定することができます。これらの手法の例としては、R2(=決定係数)のようなシンプルな指標や、LARS、LASSO、ELASTIC NETのような高度な指標があります。 多くのアナリティクス手法は、分析モデル自体の中で変数選択のための様々なオプションが利用可能です。例えば、回帰における変数増加法、変数減少法、ステップワイズ法によるモデル選択などが挙げられます。 7. モデル品質やwhat-if分析の評価 アナリティクス・ツールはしばしば、モデルの作成や検証を支援するように設計されています。予測モデルの作成時には、例えば、利用可能なデータが持つ予測力を初期段階で素早く洞察することが重要となるケースは多々あります(これを「高速予測モデリング」と呼ぶこともあります)。 また、これらのツールは、モデルの品質やwhat-if分析用の特徴量を迅速に評価する手段も提供します。what-if分析は、変数や変数グループの重要度を判断する際に特に役立ちます。what-if分析は、特定の変数群が利用できない場合にモデルの予測力がどのように変化するか推計します。 これらの例の出典は、SAS Pressの書籍『Data Quality for Analytics Using SAS』(SASで実現するアナリティクス向けのデータ品質) です。ガーハード(Gerhard)氏によるコンテンツは、Github、SAS Support Communities、同氏のデータサイエンス関連書籍でも見つかります。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはJames Ochiai-Brownによって執筆されました。元記事はこちらです(英語)。 自己完結型のパッケージ内でソフトウェアを実行するというアイディアは、2013年のDockerの立ち上げと共に広まり始め、今ではアプリケーション開発とDevOpsのコミュニティにおけるホットなトピックとなっています。Red Hat社による最近の調査では、調査対象企業の57%が、いくつかのワークロードにコンテナを利用しており、次の2年間で採用数が2倍近くになると期待している、と回答しています。 SASはこのトレンドを認識しており、現在ではデプロイメント・オプションの一つとしてSAS for Containersを提供しています。これが仮想マシン上でSASを実行する手法の完全なリプレースになるとは思われませんが、そこには顕著なメリットがいくつか存在します。 1. アナリティクスへのセルフサービス型アクセス 組織の中には、「SASを利用したいが、それを手にできない分析担当者」を抱えているところもあります。また、SAS Platformを保有しているものの、そのオンボーディング・プロセスに承認手続きが設けられているビジネス部門も存在します。プラットフォームの運用管理者がファイルシステムやセキュリティモデルに変更を加えなければならない可能性があり、そのプロセスに時間がかかることもあります。 コンテナを利用すると、物事がよりセルフサービス型になります。IT部門はSAS用の標準的なコンテナイメージを準備し、それを社内のユーザー向けに提供します。分析担当者は用途に応じてその中から選択し、自分専用のインスタンスを起動するだけで、数分以内にSASでの作業を開始できます。Domino Data LabとBlueData は、こうした機能を提供するコンテナベースのデータサイエンス・プラットフォームの例です。 2. 様々なソフトウェア・ツールやバージョンに関するニーズへの対応が簡素化 SAS Platformの従来型の実装は、多数のユーザーによって共用されます。ユーザーは設定済みのソフトウェアを使用しなければなりませんが、それが最新バージョンであるとは限りません。コンテナを利用すると、IT部門はデータ分析担当者に対し、SASとオープンソースのソフトウェアを組み合わせた幅広い種類のコンテナイメージを提供することができます。例えば、SAS 9.4、SAS Studio、Jupyter Notebookを組み合わせたコンテナイメージも可能ですし、SAS Studio、Jupyter Notebook、R Studioのいずれからでもアクセスできる形でSAS Viyaの機械学習機能を提供するようなイメージも可能です。IT部門は、試用版ソフトウェアを提供することさえ可能です。開発者は、特定のプロジェクトに必要なソフトウェア・コンポーネントやAPI群を組み合わせて、独自のコンテナイメージを作成することもできるようになります。 3. ソフトウェア・アップデートの容易化 実際には、コンテナ内のSASソフトウェアがアップデートされることはありません。必要なのは、新しいバージョンで別のコンテナイメージを作成し、それを用いて別のコンテナを構築することだけです。つまり、ソフトウェアのアッグレード中にユーザーの作業を邪魔することは一切ありません。週末の作業も不要ですし、アップグレードがうまく進まないときに、どうやってシステムを元に戻せばよいかパニックになることもありません。新しいコンテナをテストし、準備が整った段階でそれをユーザー向けに展開すればよいのです。様々なバージョンのコンテナイメージを保持できるため、ユーザーは時間的な余裕をもって自分のコードを各バージョンでテストしたり、問題がないことを確認した上で新しいバージョンに移行したりできるようになります。 4. スケーラブルかつ柔軟で、隔離された計算処理環境 コンテナ・オーケストレーター(例:Kubernetes)は、多くのコンテナを起動することで、大きなコンピューティング・リソースを割り当てることができます。そのため、オンボードするユーザーが増えても、ジョブがスローダウンすることはありません。リソース消費が特に激しいプロセスを実行する場合でも、それが他のユーザーに影響することはありません。各コンテナは、それぞれのマシンのリソースの範囲内でのみ実行可能です。したがって、より多くのパワーが必要な場合は、コンテナを停止し、より大きなマシン上でそれを起動し直します。作業の完了後にコンテナを終了すると、そのマシンは他のユーザーのために解放されます。 5. アナリティクスをWebアプリに統合することが可能 今や、アナリティクスは分析担当者だけのものでありません。デジタル変革に取り組んでいる組織は、顧客がデジタルチャネルを通じて利用するWebアプリやモバイルアプリの背後にアナリティクスを組み込もうとしています。具体的には、画像処理、レコメンデーション、意思決定支援などを含むAIアプリケーションなどが考えられます。これらのWebアプリは従来の方式で実装されたSAS Platformと組み合わせて機能させることも可能ですが、その一方で、必要なSASソフトウェア、分析モデル、小型の実行エンジンとしてのサポーティング・コードだけで構成した実行エンジンを軽量なコンテナに実装すると複数の利点があります。こうすることで、開発者は、他のユーザーに影響を与えることなく、SASソフトウェアの設定やAPI群を変更する自由を手にします。これは、アプリケーションがPythonまたはJavaで実装される方法に似ています。 6. 自動モデル・チューニング モデルの中には、データが変化するたびに、あるいは新しいフィードバックを受け取るたびに、頻繁に更新する必要があるものもあります。コンテナを利用すると、そうしたモデルを再チューニングし、その結果をコンテナ内にパッケージし、実業務環境にデプロイするまでのプロセスを自動化することができます。 7. DevOpsやCI/CDによるデプロイメントの合理化/効率化 典型的なSASユーザーはDevOpsの世界には馴染みがないかもしれませんが、DevOpsは昨今の主流となりつつあるアプリケーション開発手法です。アナリティクスをWebアプリに統合したい場合、私たちはこのプロセスに沿って進める必要があり、それを最も簡単に行う方法が、コンテナを利用する手法です。SASコードとモデルをコンテナ内にカプセル化すると、アプリ開発者(=Dev)側では、デプロイのために運用チーム(=Ops)側に渡す前に、コンテナに接続しテストを実行できるようになります。「継続的インテグレーション(CI)」と呼ばれる手法では、アプリ(SASのパーツを含むアプリ)の全てのブランチ(分岐)における変更は、それらが一緒に正しく機能する状態を確保するために、定常的にマージされ、自動テストにかけられます。「継続的デリバリー(CD)」と呼ばれる手法は、本番の業務環境へのリリースまでのプロセスを自動化します。これにより、アナリティクス・プリケーションの開発とデプロイを数週間ではなく、数日または数時間で完了することが可能になります。 8. ほぼ全ての場所にデプロイすることが可能 コンテナはポータブル性に優れているため、オンプレミスのデータセンターから、パブリッククラウドや、ドローン/トラック/列車に搭載されたエッジデバイスに至るまで、あらゆる種類の場所でSASの実行エンジンを動かすことが可能です。 コンテナは、イマジネーション豊かなアナリティクス活用を実現可能にする大きなポテンシャルをもたらします。あなたがSAS Viyaのライセンスをお持ちの場合は、SASが運営するDockerイメージ・ライブラリへのアクセス権を有していますから、そこから事前準備済みのコンテナイメージの形でSAS
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはXindian Longによって執筆されました。元記事はこちらです(英語)。 物体検出とは? 物体検出とはコンピューター・ビジョンの一分野であり、画像内に含まれる関心対象の物体を自動的に背景から区別して位置特定する手法です。例えば、図1に示す2つの画像では、いずれも前景に物体があります。左の画像では鳥が、右の画像では犬と人間が前景にあります。 「物体検出問題の解決」とは、「これらの物体をぴったりと囲むバウンディング・ボックスを配置し、それぞれのバウンディング・ボックスに対して正しい物体カテゴリーを関連付けること」を意味します。画像処理の領域における他のタスクと同様、物体検出を実行するときにもディープ・ラーニングは最先端の手法として力を発揮します。 物体検出の仕組み 物体検出に関する重要な問題の1つは、前景にある物体の数が画像によって様々に異なる、ということです。しかし、ここでは物体検出の仕組みを理解するために、まずは1つの画像に1個の物体しか存在しないと仮定し、この制約条件の下で物体検出問題を考えてみましょう。1つの画像に1個の物体しか存在しない場合、バウンディング・ボックスの発見と物体のカテゴリー判断という問題は、単純明快な方法で解決することができます。バウンディング・ボックスは4組の数値で表現されますから、バウンディング・ボックスの位置を学習するタスクは、回帰問題として無理なくモデル化することが可能です。そのタスクが済めば、物体のカテゴリー判断は分類問題として解くことができます。 ここでの「制約条件付きの物体検出」という課題に関する回帰および分類問題に対する解法を提供するのは、図2に示す畳み込みニューラル・ネットワーク(CNN)です。コンピューター・ビジョンの領域における他の従来型タスク(例:画像認識、キーポイント検出、セマンティック・セグメンテーションなど)の場合と同様、ここでの「制約条件付きの物体検出」という課題では、固定数のターゲットを扱います。これらのターゲットの当てはめは、固定数の分類または回帰問題としてターゲットをモデル化することによって実行可能です。 前述のとおり、真の物体検出はN個の物体を処理できなければなりません(Nの値は画像によって異なります)。残念ながら、図2に示したCNNは、このような、より一般的な問題を解決することができません。しかし、多くの矩形ボックスの位置とサイズについて仮説を立てることによってCNNの変種を使用し、CNNを物体の分類にのみ利用する、というやり方は可能かもしれません。私たちはそのような場合の矩形ボックスを、しばしば「ウィンドウ」と呼びます。ウィンドウ仮説を汎用的なものにするためには、画像内で考えられる全ての位置とサイズをカバーしなければなりません。それができれば、それぞれのサイズと位置のウィンドウについて、「その中に物体が存在するかどうか?」と、「存在する場合、物体のカテゴリーは何か?」を判断することが可能になります。 図3は、このアプローチで物体検出を実現する場合に候補となりうるウィンドウをいくつか示しています。画像は有限個のピクセルで構成されていますから、ウィンドウの総数は膨大です。検討すべきウィンドウの数の膨大さを考えると、このアプローチはコンピューティングの観点からは非実用的です。 ウィンドウを用いて物体を探すための効率的な手法 では、「一部のウィンドウだけを調べる」というスマートな方法で物体検出を実行することは可能でしょうか? 答えは「イエス」です。このような「ウィンドウの部分集合」を発見する方法には2つのアプローチがあり、それらは2つの異なる物体検出アルゴリズムへとつながります。 第1のカテゴリーのアルゴリズムは、最初にリージョン・プロポーザル(領域候補の抽出)を実行します。これは具体的には、コンピューター・ビジョンの従来の手法(選択的検索など)を用いて、あるいは、ディープ・ラーニングに基づくリージョン・プロポーザル・ネットワーク(region proposal network: RPN)を用いて、物体を含んでいる可能性の高い領域を選択する、ということです。候補ウィンドウの少数のセットを収集したら、セットの数だけ回帰モデルおよび分類モデルを定式化することによって、物体検出問題を解決することができます。このカテゴリーに属するアルゴリズムとしては、Faster R-CNN[1]、R_FCN[2]、FPN-FRCN[3] などがあります。このカテゴリーのアルゴリズムは、通常、「2段階法」と呼ばれます。これらは一般に、この後に紹介する「1段階法」に比べ、正確性は優れていますが、処理は低速です。 第2のカテゴリーのアルゴリズムは、固定位置にある固定サイズの物体だけを探します。これらの位置とサイズは、ほとんどのシナリオがカバーされるように戦略的に選択されます。通常、これらのアルゴリズムは、元の画像を固定サイズのグリッド(格子)領域に分割した上で、それぞれのグリッド領域に関して、あらかじめ決めておいた所定の形状およびサイズの、固定数の物体を予測することを試みます。このカテゴリーに属するアルゴリズムは「1段階法」と呼ばれます。この手法の例としては、YOLO[4]、SSD[5]、RetinaNet[6]などが挙げられます。このカテゴリーのアルゴリズムは、通常、より高速に実行できますが、正確性は劣ります。このタイプのアルゴリズムは、リアルタイム検出を必要とするアプリケーションで活用されることが多くなっています。 以下では、これらのうち2つの一般的な物体検出手法を取り上げ、もう少し詳しく検討します。 YOLOによる物体検出 YOLO (You Only Look Once) は、1段階の物体検出手法を用いる代表的なアルゴリズムです。このアルゴリズムが物体を検出するためにたどるステップを、図4とその下の箇条書きに示します。 元の画像を等サイズのグリッドに分割します。 それぞれのグリッドに関して、事前に定義した形状の、グリッドの中心を中心位置とするバウンディング・ボックスを、事前に設定した数だけ予測します。それぞれの予測には、クラス確率と物体信頼度(その領域が物体を含んでいるか、あるいは背景のみか)が関連付けられます。 最後に、高い物体信頼度およびクラス確率が関連付けられたバウンディング・ボックスを選択します。最も高いクラス確率を持つ物体クラスが、その物体のカテゴリーとなります。 事前に定義した形状の事前に設定した数のバウンディング・ボックスは「アンカーボックス」と呼ばれ、k平均法アルゴリズムによってデータから取得されます。アンカーボックスは、物体のサイズと形状についてデータセットから予備知識を捕捉します。異なるサイズおよび形状の物体を検出するためには、異なるアンカーが設計されます。例えば図5では、1つの場所に3種類のアンカーが表示されていますが、最終的には赤のアンカーボックスが中央の人物を検出します。言い換えると、アルゴリズムは、物体とこのアンカーボックスの適切なサイズを一緒に検出します。通常、最終的な予測は、アンカーの位置またはサイズ自体とは異なります。なぜなら、画像の特徴量マップから取得される最適化されたオフセット値が、アンカーの位置またはサイズに加算されるからです。 YOLOアルゴリズムのアーキテクチャを図6に示します。検出層は、多数の回帰および分類オプティマイザーを含んでおり、その数はアンカーの数によって決まります。 Faster RCNNによる物体検出 Faster RCNN[1] は、2段階の物体検出アルゴリズムです。図7は、Faster RCNNの2つの段階を示しています。アルゴリズム名に “Faster” と付いていますが、「1段階法よりも高速」という意味ではありません。この名称は歴史的な経緯を反映しており、以前のバージョン(オリジナルのRCNNアルゴリズム[7] やその後継のFast RCNN[8])よりも高速であることを示しています。Faster RCNNにおける高速化は、個々の関心領域(Region of Interest: RoI)に関する特徴抽出計算を共有する手法と、ディープ・ラーニングに基づくリージョン・プロポーザル・ネットワーク(RPN)の導入によって実現されています。 多数のCNN層を用いて特徴量マップを抽出した後、リージョン・プロポーザル・ネットワーク(RPN)が、物体を含んでいる可能性の高い多数のウィンドウを出力します。その後、アルゴリズムは、各ウィンドウ内部の特徴量マップを取得し、それらを固定サイズにリサイズ(またはポール)することで(=RoIプーリング)、物体のクラス確率とより正確なバウンディング・ボックスを予測します。
この記事はSAS Institute Japanが翻訳および編集したもので、もともとはHui Liによって執筆されました。元記事はこちらです(英語)。 この記事では、関心対象の課題に適した機械学習アルゴリズムを特定・適用する方法を知りたいと考えている初級~中級レベルのデータ・サイエンティストや分析担当者を主な対象者としたガイド資料を紹介し、関連の基本知識をまとめます。 幅広い機械学習アルゴリズムに直面した初心者が問いかける典型的な疑問は、「どのアルゴリズムを使えばよいのか?」です。この疑問への答えは、以下を含む数多くの要因に左右されます。 データの規模、品質、性質 利用できる計算時間 タスクの緊急性 データの利用目的(そのデータで何をしたいのか?) 経験豊富なデータ・サイエンティストでも、どのアルゴリズムが最も優れたパフォーマンスを示すかは、複数の異なるアルゴリズムを試してみなければ判断できません。本稿の目的は、特定の状況にのみ有効なアプローチを紹介することではなく、「最初に試すべきアルゴリズム」を何らかの明確な要因にもとづいて判断する方法についてガイダンスを示すことです。 機械学習アルゴリズム選択チートシート この機械学習アルゴリズム選択チートシートは、幅広い機械学習アルゴリズムの中から特定の課題に最適なアルゴリズムを見つけ出すために役立ちます。以下では、このシートの使い方と主要な基礎知識をひと通り説明します。 なお、このチートシートは初心者レベルのデータ・サイエンティストや分析担当者を対象としているため、推奨されるアルゴリズムの妥当性に関する議論は省いてあります。 このシートで推奨されているアルゴリズムは、複数のデータ・サイエンティストと機械学習の専門家・開発者から得られたフィードバックやヒントを取りまとめた結果です。推奨アルゴリズムについて合意に至っていない事項もいくつか残っており、そうした事項については、共通認識に光を当てながら相違点のすり合わせを図っているところです。 利用可能な手法をより包括的に網羅できるように、手元のライブラリが拡充され次第、新たなアルゴリズムを追加していく予定です。 チートシートの使い方 このシートは一般的なフローチャートであり、パス(楕円形)とアルゴリズム(長方形)が配置されています。各パスでYES/NO、または高速性/正確性を選びながら最終的に到達したものが推奨アルゴリズムとなります。いくつか例を挙げましょう。 次元削減を実行したいものの、トピック・モデリングを行う必要がない場合は、主成分分析を使うことになります。 次元削減が不要で、応答があり、数値を予測する場合で、高速性を重視するときには、デシジョン・ツリー(決定木)または線形回帰を使います。 次元削減が不要で、応答がない場合で、階層構造の結果が必要なときには、階層的クラスタリングを使います。 場合によっては、複数の分岐に当てはまることもあれば、どの分岐にも完璧には当てはまらないこともあるでしょう。なお、利用上の重要な注意点として、このシートは、あくまでも基本的な推奨アルゴリズムに到達できることを意図しているため、推奨されたアルゴリズムが必ずしも最適なアルゴリズムでない場合もあります。多くのデータ・サイエンティストが、「最適なアルゴリズムを見つける最も確実な方法は、候補のアルゴリズムを全て試してみることだ」と指摘しています。 機械学習アルゴリズムのタイプ このセクションでは、機械学習の最も一般的なタイプを取り上げ、概要を示します。これらのカテゴリーについて十分な知識があり、具体的なアルゴリズムの話題に進みたい場合は、このセクションを飛ばし、2つ先のセクション「各種アルゴリズムの概要と用途」に進んでいただいてかまいません。 教師あり学習 教師あり学習アルゴリズムは、実例のセット(入力データと出力結果)を基に予測を行います。例えば、過去の販売データを用いて将来の価格を推定することができます。教師あり学習では、ラベル付きのトレーニング用データからなる入力変数と、それに対応する望ましい出力変数があります。アルゴリズムはトレーニング用データを分析し、入力を出力にマッピングする関数を学習します。この関数は、トレーニング用データにおける入力/出力の関係を一般化することによって推定されます。この関数に新しい未知の入力データを与えると、それに対応する出力が算出され、その出力が未知の状況における結果の予測値となります。 分類:データを用いてカテゴリー変数を予測する場合、教師あり学習は「分類」と呼ばれます。これは例えば、画像にラベルや標識(例:犬または猫)を割り当てるようなケースです。ラベルが2つしかない場合は「2値(バイナリ)分類」、3つ以上のラベルがある場合は「マルチクラス分類」と呼ばれます。 回帰:連続値を予測する場合、その教師あり学習は「回帰問題」となります。 予測:過去と現在のデータを基に将来を予測するプロセスであり、最も一般的な用途は傾向分析です。具体例として一般的なのは、当年度および過去数年の販売実績を基に次年度の販売額を推定することです。 半教師あり学習 教師あり学習を行う上での課題は、ラベル付きデータの準備に多大な費用と時間がかかりかねないことです。ラベル付きデータが限られている場合には、ラベルなしの実例データを用いて教師あり学習を強化することができます。これを行う場合は、機械にとって完全な「教師あり」ではなくなるため、「半教師あり」と呼ばれます。半教師あり学習では、ラベルなしの実例データと少量のラベル付きデータを使用することで、学習精度の向上を図ります。 教師なし学習 教師なし学習を実行する場合、機械にはラベルなしのデータのみが与えられます。学習の目的は、クラスタリング構造、低次元の多様体、スパース(疎)ツリーおよびグラフなど、データの基底をなす固有パターンを発見することです。 クラスタリング:あるグループ(=クラスター)内の実例データ群が、その他のグループ内の実例データ群との間と比べ、(所定の基準に関して)高い類似性を示すような形で、実例データセットをグループ化します。この手法は、データセット全体を複数のグループにセグメント化する目的でよく使われます。グラスタリングの実行後に各グループ内で分析を実行すると、固有パターンを容易に発見できることが多々あります。 次元削減:検討の対象とする変数の数を減らします。多くの用途では、生データに極めて多次元の特徴が含まれており、一部の特徴は目的のタスクに対して冗長または無関係です。次元削減は、データに潜む真の関係性を発見するために役立ちます。 強化学習 強化学習は、環境からのフィードバックを基に「エージェント」(課題解決の主体者。例:ゲームのプレイヤー)の行動を分析および最適化します。機械は、取るべきアクションの選択肢を事前に教えられるのではなく、どのようなアクションが最大の報酬(例:ゲームのスコア)を生み出すかを発見するために、さまざまなシナリオを試行します。他の手法には見られない強化学習ならではの特徴は「試行錯誤」と「遅延報酬」です。 アルゴリズム選択時の考慮事項 アルゴリズムを選択する際は、正確性、トレーニング時間、使いやすさという3つの側面を常に考慮する必要があります。多くのユーザーは正確性を第一に考えますが、初心者は自分が最もよく知っているアルゴリズムに意識が向きがちです。 データセットが与えられたとき最初に考える必要があるのは、どのような結果になるにせよ、何らかの結果を得る方法です。初心者は、導入しやすく結果が素早く得られるアルゴリズムを選ぶ傾向がありますが、分析プロセスの最初の段階ではそれで問題ありません。まずは、何らかの結果を得て、データの概要を把握することを優先します。その後、データに対する理解を深め、結果をさらに改善することを目指し、より高度なアルゴリズムを試すことに時間を費やせばよいのです。 ただしこの段階でも、最高の正確性を示した手法が必ずしもその課題に最適なアルゴリズムであるとは限りません。通常、アルゴリズムから本来の最高パフォーマンスを引き出すためには、慎重なチューニングと広範囲のトレーニングが必要になるからです。 各種アルゴリズムの概要と用途 個別のアルゴリズムについて知識を深めることは、得られる結果と使い方を理解するために役立ちます。以下では、チートシートに掲載されている中でも最も基本的なアルゴリズムの詳細と、それらを使用すべき状況に関するヒントをまとめます。 線形回帰とロジスティック回帰 線形回帰は、連続従属変数 (y) と1つ以上の予測変数 (X) との関係をモデリングするためのアプローチです。この場合、(y) と