全般

全般

Analytics
小林 泉 0
すべてのSASユーザーのためのSAS® Studio

SAS Studioとは SAS Studioは、SASをWebブラウザから(HTML5)利用できるアプリケーションです。従来のようにクライアントPC上にSASをインストールする必要もなくなり、Webブラウザさえあれば、どこからでもSASエンジンを利用することが可能です。そのためもちろん、クラウド環境での利用にも適しています。統計やSASの学習目的であれば無償で利用可能なSAS University Edition / SAS OnDemand for Academicsのインターフェースに採用されているのでそれをご利用の方はすでに慣れ親しんでいらっしゃると思いますが、実はそれに限らず、ほぼ全てのSASユーザーの方がご自身のSAS環境で利用可能な次世代のインターフェースです。 SAS Studioを使用して、データ、SASライブラリ、SASプログラムを利用することができ、新規にプログラミングすることも可能です。 最新バージョンでは、多くのSAS Enterprise Guideユーザーに支持されている、マウスによるポイント&クリックでクエリを作成できる「クエリビルダ」も追加されました。 それだけはありません。SAS Enterprise Guideと同様、ポイント&クリック操作だけで背後でSASコードを自動生成させる様々な処理が用意されている「タスク」も用意されています。また、既存のタスクをベースに、あるいはテンプレートをベースに新規にユーザー定義タスクを作成できるようになっており、XMLを編集するだけで簡単に作成できます。 さらには、SAS Enterprise Guideのように、そのタスクとコードを組み合わせて、処理フローを作成するビジュアル・プログラミング機能も提供されています。   使い方 まずは、どのような操作感なのかを以下の動画でご確認ください!(日本語字幕付きなので音声出さなくても内容理解できます)   SAS Studioの日本語の利用ガイドもありますので、是非ご活用ください。下記日本語ドキュメントは最新リリース3.4の一つ前のバージョンのものになります。最新バージョンであるSAS Studio 3.4用の日本語ドキュメントも間もなく公開できる予定で、こちらのSAS Studioのドキュメントページにアップされる予定です。 プログラミング入門ガイド SAS® Studio 3.3 SAS Studioを使用してSASプログラミングを行うための基本的な使い方を紹介しています。 SAS® Studio 3.3 ユーザーガイド SAS Studioの全ての機能の操作方法を日本語で説明しています。 動作アーキテクチャ タスクやプログラムコードを実行すると、SAS StudioはSASサーバーに接続しSASコードを実行します。SASサーバーは、クラウド環境上に配置することも可能ですし(SAS OnDemand for Academicsや、SAS University

Analytics
小林 泉 0
SAS® Enterprise Guide 使い方Tips&新機能-SAS Global Forum 発表より

今年もユーザー総会が8/6・8/7で行われました。会場にて、あるユーザーの方に「SAS Enterprise Guideのよりよい使い方などに関する情報があればもっと教えてほしい」と相談を受けましたので、今回はそれを取り上げたいと思います。 SAS Enterprise Guideとは、SAS Business Intelligenceの主要アプリケーションのひとつです。定型レポートの作成や定型レポートで発見した課題をより深く掘り下げて詳細な課題箇所を特定するアドホックレポーティングに使用する、グラフィカルユーザーインターフェースを備えたツールです。SAS Global Forumではそのようなツールの使い方Tips等実際のユーザーの方々の便利な利用方法が紹介されたりしています。今回は、SAS Global Forum 2015および2014から、SAS Enterprise Guideの使い方に関わるものをピックアップしてみました。 最新バージョンで追加された新機能については、こちらの What's New in SAS(R) 9.4 にまとまっており、最新バージョンの7.1および7.11においても継続的に機能が追加されていますので、是非ご参照ください。 二つほど最近追加された機能をご紹介します。 Enterprise Guideには昨今約90に上るタスク機能が搭載されています。初心者の方であれば自分の使いたいタスクを見つけるのが大変なので検索機能が欲しいでしょうし、使い慣れた方であれば、マウス操作とはいえ、使いたいタスクまでマウスを移動させる時間も惜しいでしょう。さらには、いつも使うタスクは決まっている人は、「最近使ったタスク」が欲しいことと思います。最近これらの悩みを解決する「タスクブラウザ」という機能が新たに追加されました。 さらに、私の身近にもEnterprise Guideをマウスで目にもとまらぬスピードで操っている人がいます。そのような人が長年待ち望んでいた機能も実現しています。プロセスフローダイアグラム上で結合したい複数のデータを選択し、クエリビルダを選択することで、複数の入力テーブルを一度の操作で設定することが可能となりました。 是非ご活用ください。 このようなことが、下記に紹介するドキュメントには掲載されています。   2015 Creating Keyboard Macros in SAS® Enterprise Guide® キーボードマクロを作成する方法が紹介されています Easing into Analytics Using SAS® Enterprise Guide® 6.1 基本的な使用方法が紹介されています Joining Tables Using SAS® Enterprise

Analytics
小林 泉 0
グラフ理論入門:ソーシャル・ネットワークの分析例

SASではグラフ理論(グラフ分析と言ったりもします)や、そのビジュアライゼーションを容易に実践することができます。本ブログでは、何回かにわたりこのトピックを扱っていきたいと思います。グラフ(ネットワーク)は世の中のあらゆるところに存在します。リレーショナルデータベースのER図として抽象化されている世界(企業の業務など)とは異なり、現実の世界では全てのモノが相互に関連しています。昨今注目されているIoTにおいても単に生成されるデータを個別に分析するだけでなく、それによってつくられたネットワークそのものを分析対象にすることで新たな洞察が生まれる期待も大きいと考えられます。今回はまずソーシャルネットワークを例にその様子を紹介していきます。 はじめに IoTに代表される昨今のように全てが相互に接続された世界では、ある一つのモノそのものを詳細に分析するだけでなく、異なるモノとモノ同士がお互いにどのように関連しているかも理解することの重要性が増しています。ソーシャルネットワークは、モノやサービスについて消費者がどのように考えているか、あるコミュニティが自社に関係のある別のコミュニティとどのようにリンクしているのか、インフルエンサー(情報発信力あるいは影響力をもつ人々)はどこにいるのかなどについて驚くべき事実を提供してくれることが多いのです。このようなネットワークについて理解することで、自社のビジネスにとって役立つ洞察を与えてくれたり、次のマーケティングキャンペーンにおいて誰をターゲットとすべきかについての意思決定に役立つでしょう。 ネットワーク(グラフ) ネットワークとはモノ(ノード)と、それらモノとモノとを接続するリンクの集合によって構成されます。リンクによって様々な関係性を表現できます。この定義は非常に一般的ですが、我々はありとあらゆるところで、このネットワークを見出すことができます。 数学的には、ネットワークはグラフと呼ばれています(データビジュアライゼーションで使われるグラフとは異なる意味なので注意してください)。相互に接続されたモノは数学的には頂点といい、頂点と頂点を結ぶリンクは、エッジ(辺)といいます。グラフの性質は数学、工学さらには社会科学といった領域でグラフ理論という研究対象となっています。 一方で、ネットワーク・ビジュアライゼーションはこのグラフをビジュアルに表示するためのものです。もっとも一般的な形は、リンクノードダイアグラムで、頂点を表す点または円があり、それらが辺を表す直線や曲線でつながっているものです。頂点の属性は、大きさや色、形にマップされ、辺の属性はリンクの幅や色にマップすることができます。 辺の属性として重要なのが「方向」です。ほとんどの関係性(リンク)は方向性がない、対称なものです。例えば、Facebookにおける友人などがそれにあたります。しかし「方向」があり非対称なネットワークもあります。Twitterにおける"フォロー"がそうです。このような場合には、ビジュアライゼーションは矢印などのような線で関係性の方向を表現することができます。 ソーシャルネットワーク 複雑系の一つの特徴的な側面であり、またそれが全体を予測することを困難にしている理由の一つでもあるものに、それを構成する構造と各構成要素の振る舞いとの間の相互作用があげられます。 その相互作用は、ソーシャルネットワークにおいて特に顕著にみられます。あなたを知っている人があなたの行動に影響を与えたり、またその逆であったりするでしょう。この後紹介するように、ネットワークは「アクター」(人間のことが多いですが、時には自動化されたコンピュータ・エージェントであったり、組織であったりします)によって構成され、それぞれの間の関係性や行動(フォロー、いいね!やリツイート)によって関連付けられます。「アクター」の行動による影響は、関連付けられている別のアクターに対して広範囲に作用します。つまり、全体の中で重要な位置にいるアクターは、グループ全体に対して大きな影響を与えることができるのです。 では、我々はどのようにソーシャルネットワークを理解すればよいのでしょうか?基本的な問いから始めてみます。 ネットワークの基本的な構造はどうなっているか?ひとつの団結したグループなのか?それとも緩くつながった強固なコミュニティなのか? インフルエンサー(影響力のある人)は誰なのか? これらの問いを総合するとネットワークの影響がお互いにどのように作用しているのかをマクロな視点とミクロな視点で明らかにすることができます。 データ準備 今回は、ソーシャルネットワークの分析を紹介するためにツイッターデータを使用します。SAS Visual Analyticsでは、ツイッターデータを取り込むことが可能ですが、非常に大きなデータをインポートするとデータが非常に膨大になります。そのような場合にネットワークをよりよく理解するために、ネットワーク分析のためのツールであるSASのOPTGRAPHプロシジャを使用します。将来のバージョンでは同様のことをSAS Visual Analytics上だけでテキスト解析やフォーキャスティングと共に利用できることになる予定です。 この例では、#SASUSERS, #SASSGF14といったハッシュタグで抽出したツイッターデータを使用します。このデータは以下のような構造をしています。   前述したように、このネットワークは、これらのツイートをしているユーザーたちと(テキストそのものは今回は関係ありません)、それぞれのユーザー間の関係性(AがBをフォロー)によって表現されます。その情報に基づいて、二つの列、FROM_IDとTO_ID(このIDはツイッターのユーザーIDです)を使用したデータ構造を作成します。RELATIONSHIP列は、このリンクの意味を表現しています。 このテーブルをSAS Visual Analyticsにロードしてみるだけでも、以下のような興味深いネットワーク構造を見ることができます。 フォローワーの数などを人の属性に設定することにより、このネットワークに含まれている人あるいは組織についての最初の洞察を得ることができます。 もちろん、このように考える方もいるでしょう。フォローワーの数が多いからといっても必ずしもその人物がネットワーク上の重要な人物とは限らないだろう、と。では、より深く理解するためにコミュニティとキーとなるアクターを特定する方法を見てみましょう。 コミュニティの検出 コミュニティの検出、あるいはクラスタリングとは、つながりの強いノード同士をグループ化してネットワークをいくつかのサブ・ネットワークに分解していくプロセスです。 SASではこのようなグラフ分析のためのツールOPTGRAPHプロシジャを提供します。OPTGRAPHが提供する様々な機能はまたの機会にご紹介します。今回は、このコミュニティ検出に使用したいと思います。以下の例では、指定した分解解像度に基づいて、一度に二種類のコミュニティグループの計算をしています。解像度を大きくするとより多くのコミュニティを生成することができます。 proc optgraph loglevel = moderate data_links = data.tweet_edges out_nodes = work.tweet_groups graph_internal_format = thin; data_links_var from =

Back to Top