Comments
Description
Transcript
[ハンズオン] Excelからクラウドのア ナリティクスサービス を操作する
[ハンズオン] Excelからクラウドのア ナリティクスサービス を操作する 1 © 2015 IBM Corporation ハンズオン概要 このハンズオンでは、最初に、dashDB、Cloudantの基本操作を行います 次に、Excel、Rを使用してdashDBのアナリティクス機能を使用してみます dashDB、Cloudantの基本操作 前半の範囲 dashDBでアナリティクス実践 後半の範囲 https://xxxx. …nyctaxi 外部CloudantからReplication (データ投入) DB作成 .js Excelへ抽出・分析 Rを使って分析 Runtimes Sync IBM Bluemix 2 © 2015 IBM Corporation Bluemix へログイン まず初めに、Bluemix にログインします Webブラウザを起動し、Bluemix にアクセスします。下記URLを入力します https://ace.ng.bluemix.net/ 表示された画面右上の「ログイン」 をクリックします IBM ID、パスワードを入力して「サインイン」ボタンをクリックします ログインが成功すると Bluemix の Dashboardが表示されます 3 © 2015 IBM Corporation 作業する地域を確認する Bluemixは、「米国南部」と「英国」の2つの地域で稼動しています 上部メニューの 「地域」 をクリックすることで、稼動する環境を選択することができます 今回は「米国南部」を利用します。地域が「米国南部」になっていることを確認してくだ さい 「英国」になっている場合は、「地域」をクリックして、「米国南部」を選択してください 4 © 2015 IBM Corporation [補足] 「米国南部」選択時のポップアップへの対応方法 米国南部を選択した際に、スペースを作成するように指示するポップアップ・ウィンドウが表 示された場合は、任意の名前(dev など)を入力し、作成をクリックしてください 5 © 2015 IBM Corporation dashDB、Cloudant の基本操作 6 © 2015 IBM Corporation dashDB、Cloudantの基本操作:ハンズオン手順 dashDBの基本操作 • dashDBインスタンスの作成 • dashDB Consoleを利用したデータの投入と操作 • dashDBへの接続情報 • dashDB driver packageの導入 Excelアドインの導入 Cloudantの基本操作 • Cloudantインスタンスの作成 • 認証情報の確認 • データベースの作成や参照 • サンプルデータのCloudantインスタンスへのレプリケーション 7 © 2015 IBM Corporation dashDBの基本操作 : dashDBインスタンスの作成 Bluemix Consoleにログインします 「カタログ」をクリックします 8 © 2015 IBM Corporation dashDBの基本操作 : dashDBインスタンスの作成 カテゴリーの「ビッグデータ」を選択し、「dashDB」のアイコンをクリックします 9 © 2015 IBM Corporation dashDBの基本操作 : dashDBインスタンスの作成 必要事項を記入後、 「作成」をクリックします 今回は関連づけは必要ないので、「 アンバインドのまま」を選択 任意のdashDBサービス名を入力 1分弱程度でdashDBサービスの作成が完了し、「LAUNCH」ボタンが出現するので クリックしてください 10 © 2015 IBM Corporation dashDBの基本操作 : dashDBインスタンスの作成 dashDB用のWeb Consoleが起動しました 11 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 dashDBにデータをLOADする前に、自分のPCにLOAD用のデータのダウンロードと 表の作成を行います LOAD用のデータは以下のサイトからダウンロードしてください dashDBサンプルデータ(サンフランシスコ警察) http://www01.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.d oc/tutorial/analyze-with-excel.html 12 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 次にデータを投入する前に表の事前作成を行います 「Tables」→「Add Table」をクリックします 13 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 「SFPD_INCIDENT表のDDL」をコピーして「Run DDL」をクリックし表を作成します SFPD_INCIDENT表のDDL CREATE TABLE SFPD_INCIDENT ( INCIDNTNUM INTEGER, CATEGORY VARCHAR(256), DESCRIPT VARCHAR(256), DAYOFWEEK CHAR(20), DATE DATE, TIME TIME, PDDISTRICT VARCHAR(256), RESOLUTION VARCHAR(256), LOCATION VARCHAR(256), X DECIMAL(31 , 6), Y DECIMAL(31 , 6) ); 14 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 表作成が成功したことを確認します 作成された表を確認します 「Tables」から、「Schema」と「表名(SFPD_INCIDENT)」を選択します ユーザーの名前のスキーマ名が自動的 に作成されていますのでそれを右のプ ルダウンから選択します (DASHXXXX) 15 作成した表が右のプルダウンから選 択できます。 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 「Load」メニューを使用しデータを投入します • 「Load」→「Load from Desktop」を選択します 16 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 必要事項を記入し、「Load File」をクリックします 先ほどダウンロードしたZIPファイルを解凍し、その中の .csvファイルを指定します。 (今回は「sfpd_incident_2014.csv」を指定しています) ファイルの最初の行が列名なので、「Yes」を選択 カンマ区切りのファイルなので、「comma」を選択 DATE型やTIME型のフォーマットを選択可能ですが、 今回はデフォルトのままの選択とします。 17 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 LOADするデータが確認できます 「Next」をクリックします 18 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 「Load into an existing table」を選択し、「Next」をクリックします 19 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 先ほど作成した「SFPD_INCIDENT」表を選択し、「Finish」をクリックします 20 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 「 sfpd_incident_2014.csv 」の場合、113681件投入できました 21 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 「Run SQL」より、投入されたデータを確認します • SFPD_INCIDENT表の日付ごとの件数をサマリーするSQLをペーストし、「Run」 をクリック SELECT DATE, COUNT(*) as COUNT FROM SFPD_INCIDENT GROUP BY DATE ORDER BY DATE; 22 © 2015 IBM Corporation dashDBの基本操作 : dashDB Consoleを利用したデータの投入と操作 SQLの実行結果がコンソールの下部分に表示される このボタンから結果をPCへ ダウンロードすることが可 能(CSV) 各日付ごとに一定の件数が投入されている 23 © 2015 IBM Corporation dashDBの基本操作 : dashDBへの接続情報 作成したdashDBインスタンスへの接続情報は、「Connect」→ 「Connection Settings」から参照可能です 24 © 2015 IBM Corporation dashDBの基本操作 : dashDB driver packageの導入 ご自身のPCからdashDBに接続する際に必要となる、driver packageの導入方法を記 載します IBM Bluemixにログイン後「Connect」→「Download Tools」よりdriver packageをダウ ンロードできます 25 Wdinwos用のドライバーをクリックします。 「ファイルを保存」をクリックします © 2015 IBM Corporation dashDBの基本操作 : dashDB driver packageの導入 「次へ」をクリックします 26 ・「次へ」をクリックします © 2015 IBM Corporation dashDBの基本操作 : dashDB driver packageの導入 IBM Data Server Driver Packages が存在することを確認し、「次へ」を クリックします 27 ・「次へ」をクリックします ・設定はデフォルトのままでインスト ールしてください © 2015 IBM Corporation dashDBの基本操作 : dashDB driver packageの導入 「インストール」をクリックします 28 ・「完了」をクリックします © 2015 IBM Corporation Excelアドインの導入(分析ツール) ハンズオンの中で基本統計量などを求める為、Excelのアドインの「分析ツール」を 導入します 以下ではMicrosoft Office Excel 2013を例にアドインの導入を行います 左上のエクセルの「ファイル」のメニューから、 「オプション」をクリックします 29 © 2015 IBM Corporation Excelアドインの導入(分析ツール) アドインのタブに進みます 「設定」をクリックします 30 © 2015 IBM Corporation Excelアドインの導入(分析ツール) 「分析ツール」にチェックをつけ「OK」をクリックします 「分析ツール」がアクティブなアプリケーションアドイン に追加されていることを確認します 31 © 2015 IBM Corporation Excelアドインの導入(分析ツール) Excelの「データ」のタブより「データ分析」が追加されていることを確認してください 以上でExcelアドイン導入は終了となります 32 © 2015 IBM Corporation Cloudantの基本操作 : Cloudantインスタンスの作成 Bluemix Consoleにログインし、「カタログ」をクリックします カテゴリーの「データ管理」を選択し、「Cloudant NoSQL DB」をクリックしてくださ い 33 © 2015 IBM Corporation Cloudantの基本操作 : Cloudantインスタンスの作成 「作成」をクリックします 今回は関連づけは必要ないので、「 アンバインドのまま」を選択 任意のCloudantサービス名を入力 1分弱程度でCloudantサービスの作成が完了し、「起動」ボタンが出現するのでク リックしてください 34 © 2015 IBM Corporation Cloudantの基本操作 : Cloudantインスタンスの作成 Cloudant用のWeb Consoleが起動しました 35 © 2015 IBM Corporation Cloudantの基本操作 :認証情報の確認 Cloudantの認証情報を確認するために、アプリケーションとBINDします • まずはアプリケーションを作成します Bluemix Consoleの「ダッシュボード」 から「CFアプリ」を選択 「アプリの作成」を選択します 36 © 2015 IBM Corporation Cloudantの基本操作 :認証情報の確認 「WEB」を選択します 「SDK for Node.js」を選択します 37 © 2015 IBM Corporation Cloudantの基本操作 :認証情報の確認 「続行」を選択します。 「アプリ名」に任意の名前を入力し「完了」をクリックします。 • アプリ名には他のユーザーと重複しない名前にしてください 38 © 2015 IBM Corporation Cloudantの基本操作 :認証情報の確認 数分後に「アプリは稼動しています。」を表示されたら作成は完了です 作成したアプリ名の「概要」を選択し、「サービスまたはAPIのバインド」を選択しま す 39 © 2015 IBM Corporation Cloudantの基本操作 :認証情報の確認 先ほど作成したCloudantインスタンス にチェックをつけ、「追加」を選択します 作成されたサービスから認証情報を 確認できます。これらの情報は今後 データをレプリケーションする際に 必要になってきます 40 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 次に作成したCloudantにデータを投入します 投入するデータは下記のサイトから取得します Cloudantサンプルデータ(NYC Taxi) 下記のURLを次ページの「SOURCE DATABASE」にコピーします https://examples.cloudant.com/nyctaxi 41 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 Cloudantコンソールに戻り、「Replication」メニューからデータを投入します 必要項目を入力して「Replicate」をクリックします 任意の名前を入力します 前ページのURLをコピーします 新規にデータベースを作成します データベース名を入力します。 今回はnytaxiとしています 42 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 パスワードを聞かれるので、ご自身の認証情報からパスワードをコピーして、「 Continue Replication」をクリックします 下記に例としてコピーするパスワードの部分を記載します 認証情報のサンプル { "cloudantNoSQLDB": [ { "name": "Cloudant NoSQL DB-2j", "label": "cloudantNoSQLDB", "plan": "Shared", "credentials": { "username": "32ddc064-f3ff-4102-891e-5a5f17c14223-bluemix", "password": “XXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZ", "host": "32ddc064-f3ff-4102-891e-5a5f17c14223-bluemix.cloudant.com", "port": 443, "url": "https://32ddc064-f3ff-4102-891e-5a5f17c14223bluemix:aa55398cb5f17a981e4e41e008a54d5af3eebc3961c5e1f1e15dc9b5feecc5cc@32ddc064-f3ff-4102891e-5a5f17c14223-bluemix.cloudant.com" } } ] } 43 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 「Active Tasks」の「Replication」からレプリケーション の進捗が確認できます 44 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 レプリケーションが終了すると、「Replication」の「Completed Replication」に記 載されます 45 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 「Databases」から、レプリケーションにより作成したデータベースが確認できます 作成したデータベース(nytaxi)をクリックします 46 © 2015 IBM Corporation Cloudantの基本操作 :データベースの作成や参照 先ほどレプリケーションにより投入したデータを確認することができます 47 © 2015 IBM Corporation dashDBを活用した アナリティクスの実践 48 © 2015 IBM Corporation 実践編:ハンズオン手順 ハンズオン概要:dashDBを活用したアナリティクスの実践 • Cloudantに蓄積された約2.5万件のタクシー利用データをもとに分析してみます ハンズオンステップ • IBM Cloudantからのデータレプリケーション • Excelとの連携:分析#1 基本統計量を求める • Excelとの連携:分析#2 乗車の傾向を可視化する • Rとの連携:分析#1 基本統計量を求める • Rとの連携:分析#2 乗車の傾向を可視化する 事前の準備 前提のハンズオン:前半のハンズオン「dashDB、Cloudantの基本操作」を実施しておきます それにより、このハンズオンの前提である以下が実施されます 分析に利用するPCにdashDB driver packageとExcelプラグインをインストール Cloudantが提供するサンプルのタクシー利用データを自分のCloudant Databaseとしてレプリケーションしておく – 49 https://cloudant.com/blog/introducing-data-warehousing-and-analytics-with-cloudant-and-dashdb © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション Bluemix ConsoleからCloudant Dashboardを起動します • Bluemix Consoleの「ダッシュボード」から左側にある「サービス」をクリックして、右側に現れる Cloudantのサービスをクリックします • 50 画面右上にある「起動」ボタンをクリックしてCloudant Dashboardを起動します © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション Cloudant Dashboardからデータベース:nytaxiに24490件のデータがあるこ とを確認します タクシー乗車の時刻や距離、位 置情報がまとまったJSONデータ “Databases”画面のNameリンクをクリック すると、蓄積されたJSONデータの詳細が 確認できます 51 © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション Bluemix Consoleの「ダッシュボード」に戻り、Cloudantをバインドしたアプリケーションをクリックします 左側の「CFアプリ」をクリックすると右側にアプリケーションが現れます アプリケーションをクリックします Cloudantのサービスの「資格情報の表示」を クリックして資格情報を確認できます この資格情報はdashDBからの データレプリケーションを設定する際に使用します。 notepad等にコピーしておいてください。 52 © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション Cloudant資格情報サンプル { "cloudantNoSQLDB": [ username、password、hostを { この後のステップで使用します "name": "Cloudant NoSQL DB-69", "label": "cloudantNoSQLDB", "plan": "Shared", "credentials": { "username": "93e6d620-a2c2-4ac3-9a24-f51b0bfb5d57-bluemix", "password": “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "host": "93e6d620-a2c2-4ac3-9a24-f51b0bfb5d57-bluemix.cloudant.com", "port": 443, "url": "https://93e6d620-a2c2-4ac3-9a24-f51b0bfb5d57bluemix:403be9768c6b9f4c7a605f79dcd8b8a8031b10a5716cdc5060acaf8b3b2c131e@93e6d620a2c2-4ac3-9a24-f51b0bfb5d57-bluemix.cloudant.com" } } ] } 53 © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション dashDBのコンソールを開きます • Bluemix Consoleの「ダッシュボード」の左側の「サービス」をクリックします • 右側に現れるdashDBのサービスをクリックします • 「LAUNCH」ボタンをクリックしてdashDBのコンソールを開きます 54 © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション dashDB側からデータのレプリケーションを構成します • dashDBのコンソールの「Load」から「Sync from Cloudant」を選択します • • レプリケーションの構成画面が起動されるので、事前に確認しておいた認証情報を入力します 入力後、「Start Sync」ボタンをクリックします URLは、https://<host>/nytaxi/ の形式 <host>はCloudant資格情報の”host” ターゲットの表名(接頭辞)を入力 nytaxiと入力 55 © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション 56 • 正常にレプリケーションが開始されると、コンソールの下部にレプリケーションJOBのエントリー が出現します • • 「Run SQL」から対象表の件数カウントすると、現時点でのレプリカ済みレコード数が得られます 24490件になっていれば全件レプリケーションが完了しています © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション レプリケーションされたデータを確認します • 「Run SQL」から、1000レコードを取得するSQLを実行します SELECT * FROM NYTAXI FETCH FIRST 1000 ROWS ONLY; • データをExcelで閲覧するため、「Run Query in Excel via ODC file」をクリックし、 ODCファイルを取得します • 57 「BLUExcel.odc」という名前のODCファイルがダウンロードされます © 2015 IBM Corporation 実践編:IBM Cloudantからのデータレプリケーション 58 • • ODCファイルをオープンし、セキュリティ警告には「有効にする」を選択します パスワードにはdashDBコンソールの「Connection」 -> 「Connection Settings」で確認したパ スワードを入力します • ExcelからdashDBへ接続し、「Run SQL」から投入したSQLが実行されます © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める Excel側に取得したデータに対して、Excelの機能を利用して基本統計量を求めます • 事前にデータ分析のアドインを有効にしたことで、「データ」タブから「データ分析」が選択できるように なっています。 • 分析ツールを起動して「基本統計量」を選択し、分析対象のデータを指定します 今回は、H列の”TRIP_TIME_IN_SECS”(乗車時間)を分析してみましょう 「入力範囲」に「H2:H1001」を入力し、「統計情報」にチェックを入れてOKボタンを押します 59 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める • Excelに取得された1000レコードのデータに対して基本統計量が算出されました 以下のスクリーンショットのように、新たなシートに基本統計量が算出されました 平均や中央値、最頻値のようなよくつかう統計量の他に、標準偏差や分散、尖度・歪度のようなや や込み入った統計量までが一気に算出できます 60 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める 次はdashDB側で保持している全量データに対して基本統計量を求めます • 前ページではExcel側に取得できているデータだけを対象としていますが、このステップではExcelから SQLを発行することで全量データからの基本統計量を算出します。 • 以下は、Excelで算出した基本統計量の中から、SQLで記述しやすい項目をピックアップしてSQLに まとめたものです。 SELECT AVG(TRIP_TIME_IN_SECS) AS 平均 ,STDDEV(TRIP_TIME_IN_SECS) AS 標準偏差 ,(SELECT TRIP_TIME_IN_SECS FROM (SELECT TRIP_TIME_IN_SECS, COUNT(*) AS COUNT FROM NYTAXI GROUP BY TRIP_TIME_IN_SECS ORDER BY COUNT DESC FETCH FIRST 1 ROWS ONLY)) AS 最頻値 ,MIN(TRIP_TIME_IN_SECS) AS 最小 ,MAX(TRIP_TIME_IN_SECS) AS 最大 ,SUM(TRIP_TIME_IN_SECS) AS 合計 ,COUNT(TRIP_TIME_IN_SECS) AS 標本数 FROM NYTAXI 61 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める 前ステップで取得したODCファイルを開いた状態でExcelのデータタブから「接続」を選択します • 「ブックの接続」で「プロパティ」を選択すると詳細画面が開きます • 「定義」タブを選んで表示される「コマンド文字列」がSQLなので、ここに前ページのSQLをコピー& ペースとします。 「コマンド文字列」を編 集することで任意のSQL が実行できる 62 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める ペーストしたSQLの実行 • SQLを貼り付け、OKボタンを押します • 63 既存のODCファイルが変更される旨のメッセージが出力されるので「はい(Y)」を押して続行してくださ い。 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める 64 • 再度パスワードの入力を求められるので、前回と同じくdashDB Consoleから取得したパスワードを 入力します • 「OK」ボタンを押すとSQLが実行されて、dashDBからのデータを表示するシート(ここでは 「BLUExcel(1)」)が内容が更新されます © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#1 基本統計量を求める dashDB側で算出された基本統計量の参照 • dashDBからの取得データを表示するシートを参照すると、各種の基本統計量が取得されています • サンプリングされたレコードに対してExcel側で計算した統計量と比較して、全量データから算出した 統計量は随所に違いがあることがわかります。 65 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#2 乗車の傾向を可視化する Excelとの連携による分析の2番目として、データの可視化を行います • データの全量をExcelで取り扱うのが難しい場合は、SQLである程度サマリーした上でExcel側に取り 込むのが効果的です • 以下のSQLでは、時間帯による乗車傾向のサマリーを算出できます。 SELECT HOUR(PICKUP_DATETIME)||':00:00' AS 乗車時刻 ,COUNT(*) AS 乗車件数 ,AVG(TRIP_TIME_IN_SECS) AS 平均乗車時間 ,AVG(TRIP_DISTANCE) AS 平均乗車距離 FROM NYTAXI GROUP BY HOUR(PICKUP_DATETIME) ORDER BY HOUR(PICKUP_DATETIME) • 66 乗車時刻はタイムスタンプ 値なので、サマリーのため 分と秒を丸める サマリーした乗車時刻で GRUP BYしているため、 AVG関数に入力して平均を 求める 前回と同じようにデータタブの「接続」からプロパティを開き、「コマンド文字列」に上記のSQLをペース トして実行してください © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#2 乗車の傾向を可視化する SQLを実行すると、0時台から23時台までの24時間分の乗車傾向が得られます • • 得られた乗車情報のサマリーは、Excelの機能を活用して自由に可視化できます まずは、乗車件数を可視化してみましょう。 乗車時刻と乗車件数のセルを選択し、「挿入」⇒「縦棒」⇒「2-D 縦棒」を選択します 乗車時刻と乗車件数を選択して棒グ ラフ化し、時刻ごとの乗車件数推移 を可視化 乗車件数 乗車件数のピークは9時 4000 台と19時台 23:00:00 22:00:00 21:00:00 20:00:00 19:00:00 18:00:00 17:00:00 16:00:00 15:00:00 14:00:00 13:00:00 12:00:00 11:00:00 9:00:00 8:00:00 7:00:00 6:00:00 5:00:00 4:00:00 3:00:00 2:00:00 10:00:00 67 1:00:00 0:00:00 3500 3000 2500 2000 1500 1000 500 0 時間帯ごとの乗車件数が 可視化された © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#2 乗車の傾向を可視化する 「平均乗車距離」との相関を可視化してみましょう • グラフエリアを右クリックし「データの選択」から「追加」を選びます • 系列名としてD1セルを、系列値としてD2からD25セルをセットしてください グラフに平均乗車距離が 取り込まれた 68 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#2 乗車の傾向を可視化する データの傾向を把握しやすいようにExcelグラフの整形を行います 新たに追加された「平均乗車距離」の凡例上で右クリック し、「データ系列の書式設定」を選択します 「系列のオプション」から「使用する 軸」として「第2軸」を選択します 軸の書式設定を変更すると平均乗車距離の目盛りが第 2軸に移動し、時系列の変化がわかるようになりまし た。 しかし、グラフが重なっていてわかりにくいので、改 善するために次のスライドに進みます 69 © 2015 IBM Corporation 実践編:Excelとの連携 - 分析#2 乗車の傾向を可視化する データの傾向を把握しやすいようにExcelグラフの整形を行います(続) 前回と同様に「平均乗車距離」の凡例 上で右クリックして、「系列グラフの 種類の変更」を選択します 乗車距離は5時台がピー クだが、件数が圧倒的に 少ない 乗車件数と乗車距離の時間変化 4000 3500 3000 2500 2000 1500 1000 500 0 6 5 4 3 2 1 0 乗車件数 70 平均乗車距離 ビジネス面からは9時台と19時台 をカバーすべきと読み取れます 「折れ線グラフ」を選択すると、 乗車件数と乗車距離の相関グラ フが完成しました © 2015 IBM Corporation 実践編:Rとの連携 - 分析#1 基本統計量を求める R Studioを起動します • dashDBのコンソールメニューから「Analytics」→「R Scripts」を選びます • 「Rstudio」ボタンを押してR Studioを起動します • 71 ログイン情報を求められるので、dashDBのコンソールから接続を取得して入力します © 2015 IBM Corporation 実践編:Rとの連携 - 分析#1 基本統計量を求める R Studioは以下のような画面になります • 左側の「Console」部分にRのスクリプトを入力していきます 72 © 2015 IBM Corporation 実践編:Rとの連携 - 分析#1 基本統計量を求める RでNYTAXI表のTRIP_TIME_IN_SECS列(乗車時間)に対する基本統計量の算出やヒストグラ ムを表示します • 以下のコマンドをR Studioのコンソールから入力します > > > > > con <- idaConnect("BLUDB") idaInit(con) df <- idaQuery("select * from nytaxi fetch first 1000 rows only") ttis <- df$TRIP_TIME_IN_SECS Min. 最小値, 1st Qu. 第1四分位, Median 中央値, Mean 平均値, 3rd Qu. 第3四分位, Max. 最大値. summary(ttis) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0 360.0 540.0 689.9 900.0 3600.0 > sd(ttis) 標準偏差 [1] 501.7375 分散 > var(ttis) [1] 251740.5 > hist(ttis,breaks=100) > 73 © 2015 IBM Corporation 実践編:Rとの連携 - 分析#1 基本統計量を求める dashDB上の全量データに対して基本統計量を求めます • R Studioから以下のコマンドを実行します idaQueryから基本統計量を算出するSQLを実行しています > idaQuery( "SELECT AVG(TRIP_TIME_IN_SECS) AS 平均 ,STDDEV(TRIP_TIME_IN_SECS) AS 標準偏差 ,(SELECT TRIP_TIME_IN_SECS FROM (SELECT TRIP_TIME_IN_SECS, COUNT(*) AS COUNT FROM NYTAXI GROUP BY TRIP_TIME_IN_SECS ORDER BY COUNT DESC FETCH FIRST 1 ROWS ONLY)) AS 最頻値 ,MIN(TRIP_TIME_IN_SECS) AS 最小 ,MAX(TRIP_TIME_IN_SECS) AS 最大 ,SUM(TRIP_TIME_IN_SECS) AS 合計 ,COUNT(TRIP_TIME_IN_SECS) AS 標本数 FROM NYTAXI ") 平均 標準偏差 最頻値 最小 最大 合計 標本数 1 741 556.3165 300 0 9060 18152940 24490 74 dashDBに対して照会が実行され、 主要な基本統計量を全件データに 対して求めた結果が得られます © 2015 IBM Corporation 実践編:Rとの連携 - 分析#2 乗車の傾向を可視化する 最初に可視化するためのライブラリ(ggplot2、gridExtra)のインストールおよびライブラリの読み 込みを行います idaQueryで時間ごとの乗車件数、乗車時間、乗車距離をサマリーするSQLを実行します • 以下のコマンドをR Studioから実行します > > > > > > 75 install.packages("gridExtra") library(gridExtra) library(ggplot2) con <- idaConnect("BLUDB") idaInit(con) df <- idaQuery( "SELECT HOUR(PICKUP_DATETIME) AS 乗車時刻 ,COUNT(*) AS 乗車件数 ,AVG(TRIP_TIME_IN_SECS) AS 平均乗車時間 ,AVG(TRIP_DISTANCE) AS 平均乗車距離 FROM NYTAXI GROUP BY HOUR(PICKUP_DATETIME) ORDER BY HOUR(PICKUP_DATETIME)" ,as.is=F) © 2015 IBM Corporation 実践編:Rとの連携 - 分析#2 乗車の傾向を可視化する ggplotでグラフを表示させます • 以下のコマンドをR Studioから実行します > > > > > g1 <- ggplot() + geom_bar(data=df,aes(x=乗車時刻,y=乗車件数), stat="identity", fill="blue") g2 <- ggplot() + geom_line(data=df,aes(x=乗車時刻,y=平均乗車距離),colour="red") g1 <- g1 + scale_x_continuous(labels=function(x){return (sprintf("%d:00:00",x))}) g2 <- g2 + scale_x_continuous(labels=function(x){return (sprintf("%d:00:00",x))}) grid.arrange(g1,g2) 時刻ごとの乗車件数推移 を可視化 さらに乗車距離との相関 をチェック 76 © 2015 IBM Corporation あとしまつ – dashDBインスタンスの削除 利用し終わったdashDBのインスタンスをBluemix Consoleから削除します ダッシュボードの「サービス」から削除したいインスタンスを削除します 77 © 2015 IBM Corporation あとしまつ – Cloudantインスタンスの削除 利用し終わったCloudantのインスタンスをBluemix Consoleから削除します 先にアプリケーションを削除することにより、Cloudantのインスタンスも一緒に削除 可能です。「CFアプリ」→「アプリの削除」より削除します Cloudantインスタンスも同時に削除 可能 78 © 2015 IBM Corporation