Analytics

Find out how analytics, from data mining to cognitive computing, is changing the way we do business

Analytics
SAS Japan 0
カオス状況下での予測/フォーキャスティング: IBFバーチャル・タウンホールからのメモ

この記事は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)を検討するべき。

Analytics | Learn SAS | Students & Educators
0
Stay Home and Learn SAS:おうち時間にSASを学習しよう

新型コロナウイルスの感染拡大により私たちの日常生活は大きく変化しており、自宅で過ごす時間も増えています。この機に「新しく統計学やプログラミングを勉強し始めたい!」、「SASの認定資格を取りたい」と考えている方も少なくはないのでしょうか。コロナウイルスの影響により在宅を余儀なくされた皆さんに、SASはさまざまなオンライン・コースを含むSAS®トレーニング・リソースを30日間無料で提供しています。(プレスリリース) 本記事では、提供されているオプションの中からSAS Learning Subscriptionの紹介をします。これはVirtual Learning Environment のなかで提供されているSASのe-learningが集まったポータルです。   1.SAS Learning Subscriptionに登録しましょう 最初にSAS Learning Subscriptionの登録手順です。こちらのページにアクセスして、以下の手順で登録してください。 SAS Learning Subscription 登録手順 from SAS Institute Japan 2.Learning Pathを選択しましょう SAS Learning Subscriptionにはオンラインで受講可能なLearning Pathが複数あり、またテーマごとにショートビデオや学習コースが設置されています。本コースの言語は英語で、コース内動画は英語字幕に対応しています。今回は、Learning Pathの中からSAS Programingを実際に学びながらSAS Learning Subscriptionの紹介をしていきます。 先ほどのSAS Learning Subscriptionへの登録を行うと、Virtual Learning Environmentへ移動します。画面左上をクリックして展開し、SAS Learning Subscriptionを選択してください。 ページ中央に上図のようなLearning Pathの一覧が載っています。ここで、自分の興味にあうLearning Pathを選択してください。学習コースにはそれぞれショートムービーやcourse notes、リンクなどが掲載されています。基礎からその利用まで順を追って説明がされるため、プログラミングなどに自信がない方でも取り組みやすい点が特徴です。   3.コースを受講して学習を進めましょう それではSAS Learning Subscriptionの学習コースの中からSAS Programing1: Essentialsを実際に進めてみましょう。以下のスライドで、最初のLessonであるCourse

Analytics | Data Visualization
SAS Japan 0
指数関数的成長の倍加時間を推計する

この記事は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

Analytics
0
SAS Visual Forecastingで、セグメンテーション予測を実践し、複雑な需要傾向を持つ時系列予測を簡潔に実現

商品やサービスを販売している企業においては、過剰在庫を防止したり、欠品による機会損失を防止し、収益を最大化するために需要予測が行われています。しかし、実際のビジネスの現場では、需要や売れ行きの傾向が異なる品目が混在するようなケースでは、その予測に多くの手間と時間がかかってしまうなどのいくつかの課題があります。 例えば、通年売れる品目や動きが遅い品目、新規品目、季節に影響を受ける品目などがあり、これらは同じ時系列モデルで処理できるわけではありません。このような課題に対する一つの解決策としては、パターンの近い商品をサブセグメントに小分けし、そのセグメントに応じて予測戦略を適用しわけることで、精度を向上します。つまり、時系列データの特徴を自動に分析して需要のパターンごとにデータを分類し、需要パターンごとに予測作業をすることです。この需要パターンの自動分類と予測については、すでにブログでご紹介しているので、こちら「SAS Viya: ビジュアルパイプラインで需要分類&予測」を参照してください。 一方で、単に時系列データとしての特徴だけではなく、品目の種類や販売地域など、業務的な観点での品目属性によって予測を管理したり、または、属性情報を加えて特徴エンジニアリングし、その特徴量と属性を加味することで精度向上を期待することもあります。そうすると、さらに自由に複雑な属性を持つ大量な時系列データを小分けして精度の高い予測結果が期待できます。つまり、ビジネス的な品目属性に基づいてデータを分割し、業務システムから属性ごとの品目データを抽出、加工処理し、それぞれ別々にモデリングを行うケースです。予測結果の全体像を把握するためには、個別に予測を実施した後、それらの結果を収集し、統合する必要もあります。 しかし、このような、データの分割や再集約には多くの手間がかかりますし、データを管理するための命名ルールなども慎重に行う必要があります。こうした課題を解決し、需要傾向の異なる商品が混在する大量のデータに対して、一つのモデリングプロジェクで最適な需要予測を一括で行うことができたら、便利だと思いませんか? 今回は、このような実際の背景にもとづき、こうした複雑な分析処理を一元的に、手軽に実現できるSAS Visual Forecastingのセグメンテーション予測機能を紹介させていただきます。 SAS Visual Forecastingの機能を活用することで、時系列データを、データの性質(動きが遅い品目、新規品目、季節品目など)に基づき、複数の類似する時系列セグメントに分割することができます。その上で、予測プロジェクト内で各セグメントを個別にモデル化できます。これにより、ユーザーは各セグメントにおける時系列のパターン/特性をより的確にモデル化するためのモデリング戦略の調整を行えるようになりますし、予測結果を全体的に把握することも可能になります。 それでは、一つの具体例を見ながら、Visual Forecastingのセグメンテーションの有用性を実感していきましょう。 今回は、米国でスキンケア商品の販売を手掛ける企業における、需要予測の課題を解決することを想定しています。この企業は、スキンケア商品の時系列売上データに基づき商品セグメントごとに二週間先の売上高を予め把握(予測)しておきたいと考えていました。 まずはスキンケア商品の時系列データを見てみましょう: 上図のように、毎日各倉庫から在庫の各商品を発送して売上高を計上、また店から各商品に行われたプロモーションやキャンペーンなどの情報を収集し、商品時系列データにまとめます。今回は、各倉庫の管理している商品売上高に基づき予測を行います。 上記の情報を表にすると下記の時系列データになります。 商品は「ProductKey」、販売倉庫は「DistributionCenter」、販売時間の時系列データは「DATE」、販売に影響する変数として割引率の「Discount」。最後に、予測目標の売上高は「Revenue」になります。 この販売トランザクション情報に、商品マスターの属性情報を加味します。 商品マスターの属性情報というのは、上図のような販売チャンネルや商品カテゴリーなどの商品が販売プロセスにおける各種補足情報のことです。例えば、販売量の高い商品はどの販売チャンネルから売れたか、どの商品カテゴリーのものか、これらの情報は商品の販売曲線の可視化にも使えるし、精確な予測にも不可欠であり、将来の販売推進方針にも繋げます。 一つの具体属性データサンプルを見ます。 商品のカテゴリーが「ProductCategory」、商品名は「ProductName」、商品の販売チャンネルが「ProductType」です。そして、商品セグメントが「_seg_」になります。セグメントという項目を少し紹介します。例えば、小売業界にとって通年売れる商品や季節限定の商品などが必ず存在すると思います。しかし、小売業者にとって、具体的に自社商品の中でどのようなものが通年売れる商品なのか、どのようなものが特別な時間にしか売れないのか、その商品を担当する担当者しか把握きません。長年にわたり、商品ごとに「通年売れる商品」や「夏限定商品」、「クリスマス商品」、「新規開発の商品」などの特徴を明白なビジネスノウハウにし、需要予測にも使いたいと考えています。このような情報を商品セグメントと称し、セグメントごと明らかに時系列特徴もはっきり分かれています。 最後に、下図のように、時系列データと属性データを結合させ、予測モデルに利用するマスターデータの準備が完成です。 今回はSAS Visual Forecastingを活用することで、時系列データを、データのセグメント属性(通年販売品目、新規品目、季節品目など)に基づき、複数の類似する時系列セグメントに分割し、精確な予測を実現することを目的としています。それを実現するため、本来であれば、各商品セグメントのマスターデータをそれぞれ抽出してモデル開発と予測を実施する必要があります。例えば、通年売れる商品に関しては従来通りにARIMAモデルで予測し、一方で、新たに開発し、販売後間もない新規開発の商品に関してはニューラルネットワークでのモデリングを適用したい場合があります。しかし、現在商品セグメントが多数もあり、データの前準備にも手間がかかります。 SAS Visual Forecastingのセグメンテーション予測機能を利用すれば、データの分割をせずすべての商品カテゴリーのデータを含むマスターデータで簡潔かつ精確にモデリングを行えます。     ここまでは今回のセグメンテーション予測イメージの説明になります。これからは実際にSAS Visual Forecastingで操作する様子を体験していきます。 まずは、Visual Forecastingのプロジェクトを一つ立ち上げます。プロジェクト名をセグメンテーション予測にして、テンプレートに外部セグメンテーションを選びます。データは先ほど説明したスキンケア商品の時系列データ「SKINPRODUCT」を選択します。 次はプロジェクトデータ設定画面で、予測用の時系列データの各列に役割を指定します。 例えば、以下のように役割を割り当てます 「時間」:「DATE」列(日付) 「独立変数」:「Discount」(値引額) 「従属変数」(ターゲット変数):「Revenue」(売上高) By変数というのは、時系列データをグループにまとめる単位を指しています。 そしてデータソースとして時系列データの属性情報を持っているマスター表「SKINPRODUCT_ATT_SEG」も追加します。この表を追加したことによって、さらに細かいグループベースで予測することができます。 この表には予めセグメンテーシ予測用に作成しておいた「_seg_」列が含まれます。中身は商品セグメント名で、計7セグメントが入っています。例えば、「Long term - All year goods」(通年販売商品)、「Long

Analytics | Data for Good | Data Visualization
SAS Japan 0
新型コロナウイルスの感染拡大を追跡するためにデータ・ビジュアライゼーション(視覚化)を利用する

この記事は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)。

Analytics
SAS Enterprise GuideのカスタムタスクでPythonコード実行

SAS Enterprise Guide(EG)で簡単にPythonなどオープンソース・コードを実行できる方法を紹介します。 1.オープンソースコード実行用タスク(OST)の概要 2.事前設定 3.EGでの使用方法 4.AMOでの使用方法   1.オープンソースコード実行用タスク(OST)の概要 SAS Enterprise Guide(EG)は直感的なユーザインタフェース上で、マウスの簡単操作で、透過的にデータにアクセスし、様々な分析用タスクを活用し、データの準備から加工・変換、集計・分析、レポート作成に至る一連の作業をグラフィカルなフロー図として描き、実行することができるツールです。 一方、多くの組織ではPython, Rなど様々なオープンソースのスキルを持つデータサイエンティストが混在することが多く、こうしたオープンソース(OS)とのコラボレーションも必要になってきています。従来、EGとPythonなどOSと連携する際には、データでのやりとりが必要でした。例えば、EGで作成したデータをエクスポートし、OSユーザに渡して処理してもらうか、その逆か、になります。 都度このようにデータをやりとりするには手間と時間がかかりますし、データやPythonコードなどの管理も課題となります。こうした課題を解決する手段の一つとして、カスタムタスクを活用することができます。 カスタムタスク:EGには、数多くのタスク(データ準備用タスク、分析用タスク、など)が実装されています。このタスクは顧客ニーズに応じてカスタムで作成し、活用することができるようになっています。SASのサポートサイトからカスタムタスクを作成するためのテンプレートをダウンロードし、使用することができるようになっています。カスタムタスクの作成方法の詳細に関しては、次回のブログでご紹介します。 オープンソースコード実行用タスク(OST):OSTはOpenSourceTaskの略で、EGカスタムタスクのテンプレートに基づいて開発されています。OSTを使用することで、EG上で簡単にPythonコードを実行することができ、GUIベースの簡単マウス操作でPythonコードを再利用し、EG上で、標準実装のタスクとOSTを活用し、連携してアナリティクス作業を完結することができます。これによって、様々異なる分析スキル(GUIユーザー、SAS言語ユーザー、OS言語ユーザー)を連携し、有効活用することが可能となります。また、この分析処理は自動化することも可能です。  次にPythonコード実行用のOSTの使用方法を紹介します。EGのバージョンは8.2を使用したものです。   2.事前設定 ・Python環境の確認 まずSAS9サーバ側にPython環境がインストールされていることを確認してください。Pythonの環境がない場合は、PythonまたAnacondaなどPythonのruntimeをインストールする必要があります。 ・SAS9サーバーの設定 SAS9のSMC(SAS Management Console)を起動し、以下の画面を開きます。 「Environment Management」>「Server Manager」> 「SASApp」>「SASApp Logical Workspace Server」>「SASApp - Workspace」を右クリックし、「Properties」をクリックし 以下の設定でXCMDの実行を許可します。 「Options」タブ >「Advanced Options」>「Launch Properties」で「Allow XCMD」をチェックし、「OK」をクリックします。 設定を有効するにはシステムのObject Spawnerのサービスを再起動する必要があります。 ・OSTパッケージの取り込み OSTパッケージをダウンロードし、展開したCustomフォルダをEG(またAMO)のインストール先(以下画面ショットのロケーション)にコピーします。そのほか、臨時ファイル保存と作業用フォルダC:/Customを作成し、準備作業が完了です。 これで、OSTが使用できる状態になります。   3.EG上の使用方法 まず EGを起動し、処理対象データを選択します。今回はSASHELPライブラリ内にある「CLASS」を選びます。データを選択した状態で、タスクリストのSAS

Analytics
小林 泉 0
2020 ビジネスにおけるAI/アナリティクストレンド

アナリティクス・プラットフォームは、OSSとの機能的な連携にとどまらず、OSS利用環境そのものの価値を高めるプラットフォームへと進化 昨今、40年以上にわたりSASが提供続けてきたこのAI/アナリティクスが、時代背景とテクノロジーの進化によって、特定のAI/アナリティクス先進企業だけの道具から、ほとんどすべての企業にとって活用可能な-多くの場合競争に勝つためには活用しなければならない-道具になってきました。 従来より、SASはオペレーティング・システム、データソースや、システム・アーキテクチャなど特定のS/Wやテクノロジーに依存せず、どのような企業のIT環境にたいしても柔軟に適用可能なアーキテクチャでしたが、世の中のテクノロジーの変化に合わせ、その柔軟性をより高めるために、SAS Viyaを提供することになりました。 そして、SASはSAS Viyaのオープンなアーキテクチャにより、OSSで構成されたアナリティクス環境、OSSを利用するアナリティクス組織に、全く新しい俊敏性と信頼性の両方を兼ね備えたアナリティクス基盤を提供し、より多くの試行錯誤とリアルなビジネス価値の創出を可能とする環境を提供しています。 現在必要なのは、俊敏性と信頼性の両立 多くの企業が従来にも増してグローバルの競争にさらされています。不正・セキュリティ対策においてはより巧妙なスピードの速い攻撃に対応する必要があり、金融リスク業務はさらなる規制対応と同時によりプロアクティブな利益創出への転換をはじめており、顧客の購買行動はより多様化・リアルタイムな顧客経験が重要となり、モノのサービス化に代表されるようなビジネス・モデルの変革への急速な移行が求められ、製造品質はより速く、より品質の高いプロセスへの変革が要求されています。また、特に日本においては労働人口の不足により、たとえば製造プロセスやサプライチェーンの高度なレベルでの標準化と自動化、その他のビジネスプロセスにおいても様々なレベルでの意思決定を高精度に自動化する必要に迫られています。さらに、より付加価値の高いサービス提供のためのビジネス・モデル創出など、あらゆる場面でAI/アナリティクスの活用による、イノベーションが求められています。 変化の早い時代に必要な俊敏性 このような時代においてアナリティクス活用に求められる一つの側面は「俊敏性」です。本当に役に立つ洞察を得るためには、無数の試行錯誤・実験を繰り返す必要があります。アナリティクスにおいては、利用データの試行錯誤、利用アルゴリズムの試行錯誤、仮説検証の繰り返し、そのような試行錯誤・実験-それは場合によってはPOCと呼ばれることもありますが-によって結果的に得られた有用な洞察がイノベーションとなります。したがって、この試行錯誤・実験をより手軽に、迅速に行う手段が有用であり、それはソフトウェアの入手のしやすさや、最新の論文から技術的な手法に関する世の中の知の活用のしやすさなどの特徴のある、OSSの活用の一つの有用な活用形態となっています。 ここで一つ注意しなければならないのは、OSSの利用や関連論文の利用によって得られるものはビジネス上の洞察ではなく、あくまで手段としての技術テクニックの知識であるということです。ディープラーニングのようにあ「非構造化データを構造化する技術」であったり、「非常にスパースなデータからよりより推定を行うための技術」であったり。アナリティクスを活用してビジネス上の成果を得るためには、あくまで、そのような手段とは別に、まず初めにビジネス上の問題定義-デザインといってもいいでしょう-が重要です。これは従来からの世界では既知の視点です。これを忘れると、いわゆるPOC疲れなど、手段が目的化したプロジェクトに貴重なリソースを費やす結果となっていることは、ここ数年、市場でよく見られた光景です。 また、ビジネス上の洞察は常に「問い」に基づくものでありますが、ビジネスの営みの結果である「データ」に潜む「傾向」、すなわち「データに潜む洞察」、を瞬時に導き出す技術も出てきています。昨今「拡張アナリティクス」(AI Augmented Analytics)と呼ばれているものです。AIブームの中、AIを使いこなすこと-すなわちディープラーニングを使いこなすことであったり、予測モデルをいかに簡単に開発するか-そのものが目的化してきました。そのブームが落ち着きを見せ始め、ツールの中にAI技術が組み込まれ、ビジネスユーザーには本来不要であった「自動的に簡単にモデルを開発する」という仕事から、「自動的に洞察を得る」という本来すべきことに注力できるようになってきています。 洞察の獲得と得られた洞察をビジネスに適用するための信頼性 試行錯誤や実験において洞察を得るためには、闇雲に作業を繰り返すのではなく、過去の試行結果に基づいた試行錯誤を繰り返すというプロセスが必要となります。過去の実験はどのようなデータを利用したのか、そのデータはどのような文脈で取得されたのか、それをどのように加工・分析したのかというプロセスと、最終的な結果、このような情報を統制・管理したもとでの試行錯誤でなければ、試行錯誤の積み重ねによる洞察は得られません。つまり、昨今例えば、デジタルトランスフォーメーションのための専任部門によって無数に繰り返されるPOCについても、ガバナンスが必要となるということです。このように適切に統制されたPOC活動は仮にそのPOCからその時、有用な洞察が得られなかったとしても、貴重な資産として次のPOCに生かされるのです。 さらに、試行錯誤やデータの探索によって得られた得られた洞察を実際のビジネス上の価値-それは収益の向上、コストの削減、リスクの管理に大別されます-に変えるには、業務そのものの意思決定プロセス・アクションに落とし組むことが必要です。AI/アナリティクスをビジネス・プロセスとして運用するということは、アナリティクス・モデルによって意思決定を自動化することに他なりません。 また、企業・組織がビジネス・プロセスとしてそのような意思決定を回すためには、アナリティクス・モデルによる結果すなわち、ビジネス上のアクションの結果をモニターし評価する必要があり、市場の動向変化によるモデルの陳腐化に対応するためにモデルのパフォーマンスを管理をする必要があり、現在システムに組み込まれているモデル-これをチャンピオンモデルと言います-はなにかを管理する必要があり、さらには、望まない結果が生じた場合に-あるいはその逆の場合にも-結果に対する説明責任を果たすために、そのモデルの成り立ち-使用したデータ、データ加工のプロセス、モデリングのプロセスなど-を管理する必要があります。 俊敏性と信頼性を両立するSAS Viyaのガバナンス機能とは SAS Viyaでは使用するプログラミング言語を問わず以下のガバナンス機能を提供します。これにより、統制のとれたコード・アグノスティックなアナリティクス環境を実現します。 完全にオープンなI/Fによる民主化されたツールにより、どのようなスキルの方でも利用可能 SAS Viyaでは完全なコード・アグノスティック(データサイエンティストは自身が好きなプログラミング言語を利用可能)な世界を実現しており、データ加工、統計解析、機械学習、ディープラーニングなど各種のアナリティクス処理だけでなく、ユーザー管理、セキュリティ管理、システム管理、データ管理からモデル管理まで、全ての機能をOSSプログラミング言語であるPython, R, REST APIから利用可能です。 また、従来からあるSAS9においても、ほとんどのSASプロシジャをpythonから利用可能になっています。 もちろん、コーディングスキルを持たないビジネス・ユーザーはデータの準備、探索、モデリングまでシームレスに連携したグラフィカル・インターフェースによって市民データサイエンティストとしてアナリティクス・プロジェクトに貢献することが可能です。 OSSかどうかにかかわらず、データに基づいた洞察を価値に変えるためにのビジネス上でのオペレーショナライズを支援 AI/アナリティクスから実際のビジネス価値を創出するためには、問い(問題設定)、データの準備、データの探索、モデリング、意思決定プロセスの構築、業務オペレーションへの組み込み、意思決定(アクション)の結果のモニタリグ(レビュー)という一連のアナリティクス・ライフサイクルを、様々な組織の役割が強調して実現する必要があります。業務オペレーションへの組み込みには大きく分けて二つの形態があります。 バッチスケジューリングによるスコアリング処理 アプリケーションから呼び出されるリアルタイム・スコアリング処理 スコアリング処理 ここでいうスコアリングとは、昨今のAI・機械学習ブームの中、その研究領域で使用されている「推論」と同じものです。ビジネスの世界では、二十数年前からこの「スコアリング」という呼び方で実施されていました。顧客の購買確率や解約確率のスコアを出す、信用リスクのためのスコアを算出、などというようにです。 1.バッチスケジューリングによるスコアリング処理 スコアリングの仕組みにおいては、ほとんどのケースでシステムの安定性の観点も鑑み、こちらの方式が採用されます。後述のリアルタイム・スコアリングのケースにおいても、あらかじめスコアリングした結果を検索するだけで済むトランザクション処理がほとんどなためです。全顧客あるいは全セグメントに対してあらかじめスコアを算出したものを、業務システムに連携します。 このケースにおいてはのチャレンジは、開発したモデルをもとにプロダクション・レベルのバッチ処理を開発・テスト・スケジュール化・運用することです(デプロイメント・プロセスと呼びましょう)。モデルの入力データを作成する処理を作る必要があるからです。チャレンジのポイントは、そのデプロイメント・プロセスをユーザーサイドが行うのか、IT部門サイドが行うのか、はたまた、どのようにシームレスに強調するのかです。これは、モデルを組み込む業務プロセス、たとえば商品の数、サービスの数が多いケースにおいてすでに課題となっています。 約二十年前のデプロイメント・プロセスについての余談ですが、ある通信会社において顧客ごとの解約予兆スコアを算出していました。プロジェクトメンバーの一人であったお客様のIT部門の担当の方は、このスコアをもとに接客すべきと、すぐに、そのスコアテーブルのデータを販売店に持参し参考にしてもらうことで、大きな効果を生み出していました。今の時代とは、使用するデータと技術が異なるだけで、ビジネスプロセスにデプロイするという意味は全く何も変わってないことがお分かりいただけると思います。 2.アプリケーションから呼び出されるリアルタイム・スコアリング処理 リアルタイム・スコアリングにはさらに2種類の技術的視点があります。オンライン・トランザクション処理のタイプと、ストリーミング処理のタイプです。これら二つは日本語で言うと同じように「リアルタイム処理」と表現されることが多いですが、技術的な実現イメージはことなります。前者は、リクエスト/レスポンス型であり、その多くはフロントエンドのアプリケーションから、例えば顧客情報などの必要データがスコアリング・エンジンに渡され(リクエスト)、与信結果のスコアを返す(レスポンス)といういわゆるトランザクション処理になります。昨今のREST APIインターフェースなどはこの目的のものです。一方で後者は、データが絶え間なく流れてくるセンサーデータを処理するような場合で、ストリーミング型と言われます。この時のデータのことをイベントと言ったりもします。データ(イベント)がやってきた際に処理が実行されます。多くは、IoTという言葉が登場するシーンで求められる処理方式です。 どちらのタイプにせよ、このリアルタイム・スコアリングを組み込むシステムにモデルを組み込むときには、アプリケーションの開発プロセスを意識する必要があります。なぜなら、アプリケーション・ロジックの変更を伴なうモデル変更も多々あるからです。たとえば、与信システムにおいて新たな説明変数の入力を必要とするモデルの変更は、フロントアプリケーションのUIの変更を伴います。昨今、アプリケーションの開発・テスト・運用プロセス(DevOps)と、モデルの開発・テスト・運用プロセス(ModelOps)の融合が求められているのは、このためです。 2020のAI/アナリティクス・トレンド AIブームも少し落ち着きを取り戻し、モデルの開発という本来手段であることそのものが目的化してしまっている状況から、開発したモデルをビジネスプロセスにデプロイするという本来目指すべきことの重要性が、このAI市場にも浸透しつつあるようです。筆者は、様々なお客様のご支援を通して、またメディアの方々、リサーチファームの方々との情報交換を通して、2020年、以下の3つが引き続きトレンドとなるのではないかと考えています。 アナリティクスの民主化 AI技術のコモディティ化(隠ぺい化)し、「拡張アナリティクス」として進化 OSSプログラミングからGUIユーザーまでが共存可能なオープンなアナリティクスプラットフォーム 人材の活用と技術伝承のための「共有とコラボレーション」

Analytics
R言語でSAS ViyaのAI機能活用 第二回「アクションセットと最初のデータ読み込み」

概要 第一回の「CASサーバーとSWATパッケージ」に続き、第二回としてCASのアクションセットの活用やCASサーバーへのデータ読み込みなどの基本操作の方法について紹介します。 アクションセットについて CASサーバー上での分析作業を開始する前に、“アクションセット”という重要な概念に関して紹介します。 アクションセットは、関連する機能を実行するアクションの論理的なグループです。 SAS Viyaでは、関数のことを「アクション」、関連する関数のグループを「アクションセット」と呼んでいます。アクションでは、サーバーのセットアップに関する情報を返したり、データをロードしたり、高度な分析を実行するなど、さまざまな処理を実行できます。 アクションセットを使ってみましょう それでは、サンプルコードを使いながら、SAS Viyaのアクションセットでデータの読み込みからプロットまでの一連の操作を説明します。 ・データの読み込み CASサーバーにデータを読み込むには二つの方法があります。一つはread.csv()でcsvファイルをRデータフレームの形で読み込んだ上で、as.casTable()を使用する方法です。この関数はデータをRのデータフレームからCASテーブルにアップロードすることができます。今回の例では金融関連のサンプルデータhmeqを使って紹介します。 library("swat") conn <- CAS(server, port, username, password, protocol = "http")   hmeq_data <- read.csv(“hmeq.csv”) hmeq_cas <- as.casTable(conn, hmeq) もう一つはcas.read.csv()を使って、ローカルからファイルを読み込んで、そのままCASサーバーにアップロードする方法です。仕組みとしては、一つ目の方法と大きくは変わりません。 hmeq_cas <- cas.read.csv(conn, hmeq) as.casTable()或いはcas.read.csv()からの出力はCASTableオブジェクトです。その中に、接続情報、作成されたテーブルの名前、テーブルが作成されたcaslib(CASライブラリ)、およびその他の情報が含まれます。 Rのattributes()関数を使えば中身を確認できます。 attributes(hmeq_cas) $conn CAS(hostname=server, port=8777, username=user, session=ca2ed63c-0945-204b-b4f3-8f6e82b133c0, protocol=http) $tname [1] "IRIS" $caslib [1] "CASUSER(user)"

Analytics
R言語でSAS ViyaのAI機能活用 第一回「CASサーバーとSWATパッケージ」

本シリーズの記事について オープンソースとの統合性はSAS Viyaの一つの重要な製品理念です。SAS言語やGUIだけではなく、R言語やPythonなどのオープンソース言語でも、SAS ViyaのAI&アナリティクス機能を活用することが可能になっています。このシリーズの記事は、R言語からSAS Viyaの機能を活用して、データ準備からモデルの実装までの一連のアナリティクス・ライフサイクル開発をサンプルコードの形で紹介していきます。 CASサーバーとSWATパッケージとは コードの内容を紹介する前に、まずCASサーバーとSWATパッケージに関して、簡単に紹介します。CASはSAS Cloud Analytic Serviceの略称です。SAS Viyaプラットフォームの分析エンジンで、様々な種類のデータソースからデータを読み込み、メモリーにロードし、マルチスレッドかつ分散並列でハイパフォーマンスな分析処理を実行します。現在のCASサーバーは3.4.0以降のバージョンのPythonと3.1.0以降のバージョンのRをサポートしています。 オープンソース言語のクライアントからCASサーバーのインタフェースを使用するために、SASからSWAT(SAS Scripting Wrapper for Analytics Transfer)というパッケージをGithubに公開し、提供しています。RとPythonにそれぞれ対応しているバージョンはありますが、本記事のサンプルコードではR用の SWATをメインで使用します。SWATパッケージを通してCASサーバーと通信し、インタフェースを直接利用することができます。データサイエンティストはSWATパッケージを使用し、RやPythonからSAS Viyaの豊富なAI&アナリティクス機能を活用し、様々なデータ分析処理を行ったり、機械学習や深層学習のモデルを作成したりすることができます。 環境の準備 R言語用SWATパッケージを利用するために必要なRの環境情報は以下の通りです。 ・64-bit版のLinux或いは64-bit版のWindows ・バージョン3.1.0以降の64-bit版のR ・Rパッケージ「dplyr」、「httr」と「jsonlite」がインストールされていること 筆者が使用している環境は64-bit版のWindows 10と64-bit版のR 3.5.3となり、IDEはRstudioです。 パッケージのインストール SWATをインストールするために、標準的なRインストール用関数install.package()を使用します。SWATはGithub上のリリースリストからダウンロードできます。 ダウンロードした後、下記のようなコマンドでSWATをインストールします。 R CMD INSTALL R-swat-X.X.X-platform.tar.gz X.X.Xはバージョン番号であり、platformは使用するプラットフォームと指しています。 或いはRの中から下記のコマンドのようにURLで直接インストールするのもできます。 install.packages('https://github.com/sassoftware/R-swat/releases/download/vX.X.X/R-swat-X.X.X-platform.tar.gz', repos=NULL, type='file') この部分の詳細はR-swatのGitHubのリンクを参考にしてください。 SAS Viyaと一回目の通信をやってみよう 全ての準備作業が完了したら、問題がないことを確認するために、Rから下記のコードを実行してみます。 library("swat") conn <- CAS(server, port, username, password,

Advanced Analytics | Analytics | Data Visualization
セルフサービスBIの進化系、拡張アナリティクスの決定版SAS Visual Analytics 8.4 on SAS Viya拡張ポイント

SAS Visual Analytics on SAS Viya(以降VA)の最新版8.4に搭載されている新機能の中から、以下5つの機能に関してダイジェストでご紹介します。 1.AIストーリーテラー機能 2.レポート編集&表示切替の利便性向上 3.閲覧時レポートカスタマイズ&制御 4.分析用ビジュアル候補提示 5.カスタムグループ作成の容易化 6.Visual Analytics SDK 1.AIストーリーテラー(自動分析&解説)機能 VA8.3から搭載されていた機能やUIが拡張されています。 AIストーリーテラー(自動分析&解説)機能では、分析対象の変数(ターゲット)を指定するだけで、その変数に影響を与えているその他の変数の特定や、変数ごとにどのような条件の組み合わせがターゲット変数に依存しているのかを「文章(条件文)」で表現して教えてくれます。 この例で使用するデータ「HMEQJ」は、ローンの審査を題材にしたもので、顧客ごとに1行の横持ちのデータです。このデータ内にある「延滞フラグ」が予測対象の項目(ターゲット変数)で、0(延滞なし)、1(延滞あり)の値が含まれています。 データリスト内の「延滞フラグ」を右クリックし、「説明」>「現在のページで説明」を選ぶだけで、「延滞フラグ」をターゲット変数に、その他の変数の組み合わせを説明変数とした複数の決定木(ディシジョンツリー)が実行され、 以下のような結果が表示され、見つけ出された有用な洞察を説明してくれます。 分析結果画面内説明: ① 予測対象値(0:延滞なし、1:延滞あり)の切り替えが可能です。この例では、「1:延滞あり」を選択し、「延滞する」顧客に関して分析しています。 ② 全体サマリーとして、すべての顧客の内、延滞実績のある顧客は19.95%(5,960件中の1,189件)であることが示されています。 ③ 「延滞する」ことに関して影響を与えている変数の重要度を視覚的に確認することができます。最も影響度の高い変数(今回は「資産に対する負債の割合」)の重要度を1として、1を基準値にした相対重要度が算出され、横棒グラフで表示されます。従来版に比べて、変数ごとの影響度合いの違いを明確に捉えることができます。 ④ 「高」タブには、「延滞する」可能性が高いトップ3のグループ(条件の組み合わせ)が文章で示され、「低」タブには、「延滞する」可能性が低いトップ3のグループ(条件の組み合わせ)が文章で示されます。この例では、③で「資産価値」が選択され、「資産価値」に基づき、延滞する可能性の高い/低いグループのトップ3が表示され、「資産価値」に関する条件部分がハイライトしています。 ⑤ この例では、③で「資産価値」が選択され、これに応じて「0:延滞なし、1:延滞あり」別の顧客の分布状況がヒストグラムで表示されています。選択された変数が数値属性の場合は、ヒストグラムで、カテゴリ属性の場合は積み上げ棒グラフで表示されます。チャートの下端では、チャートから読み取れる内容を文章で解説しています。 以下は、カテゴリ属性の変数を選択した場合の表示例です。 以上のように、分析スキルレベルの高くないビジネスユーザーでも、簡単かつ容易に、そして分かり易くデータから有効な知見を得ることができます。 ※AIストーリーテラー機能に関しては、SAS Viya特設サイトのビジュアライゼーションセクションで動画でもご覧いただけます。 2.レポート編集&表示切替の利便性向上 従来のVAでは、編集モードで作成したレポートを表示モードで確認する際には、メニューから「レポートを開く」を選択し、レポートが表示されるのを少し待つ必要がありました。また、レポート表示モードから編集モードに戻るにもメニューから「編集」を選択する必要がありました。 VA8.4では、編集モードと表示モード切替の利便性が改善され、画面左上のペンシルアイコンをクリックするだけで、編集画面<->表示画面間を瞬時に切り替えられるので作業効率が向上します。 また、ご覧の通り、編集画面と表示画面のレイアウトも統一されています。 3.閲覧時レポートカスタマイズ&制御 一般的にBIツールでは、対象ユーザーを3つの層(管理者、レポート作成者(デザイナ)、レポート閲覧者(コンシューマ))に分類し、それぞれに最適なインターフェースを提供しています。しかし、レポート閲覧者の中には、「基本的には誰かが作成したレポートを見るだけでいいんだけど、自分好みに変更できたらもっといいのにな…」という声も多くあります。このレポートカスタマイズ者層に答えられないために、彼らは、レポートを開き、そのデータをダウンロードし、Excelに取り込んで好みのレポートを作成しようとするのです。 VA8.4では、レポートカスタマイズ者層向けに、作成済みレポートを開いて閲覧中に、簡単操作で好みに合うようにレポートをカスタマイズすることができるようになりました。 以下は、レポート閲覧中に「円グラフ」を他のチャートタイプに変更するメニューが表示されている例です。 また、レポート作成者は、レポートカスタマイズ者向けに、カスタマイズ可能な機能範囲を3段階で制御することが可能です。 これで、レポート作成者の負担も軽減され、レポート閲覧者の痒いところに手が届きそうですね。 4.分析用ビジュアル候補提示 レポート作成の元となるデータソースを選択すると、そのデータソース内の項目に基づき、「こんな分析が有効じゃないの…」と、分析画面の候補を自動的に提示してくれる機能です。 画面左端から電球マークの「候補」アイコンをクリックすると、分析候補がいくつか表示され、提示された分析画面をドラッグ操作でレポートに挿入することができます。 より素早く、効果的な情報を含むレポートを作成することができそうですね。これも一つの自動分析機能です。 5.カスタムグループ作成の容易化 従来版のVAでは、カスタムグループを作成する際には、カスタムグループ作成専用の画面内で、グループに含める要素の選択と、グループ名称を設定し、OKをクリックしてチャートに反映させる必要がありましたが、VA8.4では、チャート上でグループ化対象の要素を選択し、そのグループに名称を設定して、素早くカスタムグループを作成することができるようになりました。 6. Visual Analytics SDK

1 8 9 10 11 12 15