SAS Japan

活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て
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

Artificial Intelligence | Data for Good
SAS Japan 0
森林破壊とAIの出会い ―休校中のこどもたちでもできること―

この記事は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万㎢を超える熱帯雨林を短期間で調査し、衛星画像が更新されるたびに調査を繰り返すことが出来ます。

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

1 2 3 4 35