...

[ハンズオン] Excelからクラウドのア ナリティクスサービス を操作する

by user

on
Category: Documents
27

views

Report

Comments

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
Fly UP