SlideShare a Scribd company logo
1 of 94
Download to read offline
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
第2回 R言語で始めよう、データサイエンス!
(ハンズオン勉強会)
~相関分析による需要予測編~
2014年4月期 AITCオープンラボ
2014/04/28
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
•菅井 康之
•  https://www.facebook.com/yasuyuki.sugai
株式会社イーグル所属
•AITC 運営委員※
•AITCクラウド・テクノロジー活用部会
•サブリーダー
※先端IT活用推進コンソーシアム(AITC)は
XMLコンソーシアムの後継団体です
2
自己紹介
よろしくおねがいしまーす
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Java
コンソーシアム
XML部会
2000/07 設立宣言   2001/06~2010/03実活動  2010/03~2010/09  2010/09/08設立
先端IT活用推進コンソーシアム
Advanced IT Consortium
  to Evaluate, Apply and Drive
・
企
業
の
枠
を
超
え
た
活
動
 
 
 
 
 
 
 
 
 
     
 
 
・
一
社
で
は
で
き
な
い
活
動
(
実
証
実
験
等
)
 
 
 
 
・
利
活
用
推
進
の
た
め
の
提
案
・
提
言
 
 
 
 
 
 
・
情
報
と
知
見
の
提
供
 
 
 
 
 
 
 
・
成
果
物
の
公
開
Windows
コンソーシアム
日本経営協会
XMLフェスタ
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
企業における先端ITの活用および
  先端ITエキスパート技術者の育成を目的とし、
     もって、社会に貢献することを目指す非営利団体
設  立 : 2010年9月8日(会期: ∼2016年8月31日)
会 長 : 鶴保 征城 (IPA顧問、HAL校長)   
会 員 : 法人会員&個人事業主、個人会員、学術会員
      特別会員 (産業技術総合研究所、気象庁、
消防研究センター、防災科学技術研究所)
顧 問 : 稲見 昌彦 (慶応義塾大学大学院 教授)
      和泉 憲明 (産業技術総合研究所 上級主任研究員)
   萩野 達也 (慶応義塾大学 教授)
  橋田 浩一 (東京大学大学院 情報理工学系研究科 教授)
丸山 不二夫(早稲田大学大学院 客員教授)
    山本 修一郎(名古屋大学大学院 教授)
BizAR顧問: 三淵 啓自 (デジタルハリウッド大学大学院 教授)
       川田 十夢  (AR三兄弟 長男)
先端IT活用推進コンソーシアム
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
第4期活動対象分野
realvirtual
コンテキスト
人
メタ データ
モノ コト
コンテキスト
コンピューティング
クラウド
コンピューティング
AR
ユーザーエクスペリエンス
ソーシャル
ナチュラルユーザー
インタフェース
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
AITCオープンラボ<今まで開催したAITCオープンラボ>
■2013年11月■
R言語で始めよう、データサイエンス!(ハンズオン勉強会)
∼ R言語の基礎から機械学習・ビジュアライゼーション事始め ∼ 
■2013年12月■
セマンティックWeb技術に触れてみよう!RDF/SPARQLハンズオン勉強会
∼ オープンデータからLinkedDataまでを総ざらい ∼
■2014年01月■
簡単に仮想環境を構築したい人のためのVagrant&Chef勉強会
■2014年02月■
デジタルガジェット祭り
■2014年03月■
【再演】R言語で始めよう、データサイエンス!(ハンズオン勉強会)
∼ R言語の基礎から機械学習・ビジュアライゼーション事始め ∼ 
■2014年04月■ ← NEW!!
第2回 R言語で始めよう、データサイエンス!(ハンズオン勉強会)
∼ 相関分析による需要予測編 ∼ 
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
本日のハンズオン内容について
 3月20日に開催した気象庁XML利活用
セミナーでお話させて頂いた、「気象庁
XMLを利用した需要予測の可能性」の
内容をハンズオン形式で演習します。
 ↓基ネタのスライドはこちらで公開↓
  http://xml.kishou.go.jp/seminar.html
  →09_気象データを利用した需要予測[pdf形式:3,347KB]
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
本日のテーマ
• 企業で蓄積されるデータは日々増加し、何
らか利活用出来ないか模索する機会が増
えているかと思います
• 一方では、オープンデータが推進されて利用
可能なデータの種類も豊富になってきました
• データ利活用の一つのアプローチとして、保
持するデータと他のデータとの間に、相関が
あるか分析し、予測などの様々なケース
に適用することが考えられます
というわけで、相関分析を
実際に行ってみましょー
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
相関とは・・・
• 2つの変数間に規則的に変化していく性
質を持つデータ
• 例えば、ある一方の値が大きくなるほどもう
一方の値も大きくなる(正の相関)、または
ある一方の値が大きくなるほどもう一方の
値は小さくなる(負の相関)などの関係があ
る状態
• ある一方の変数の値が特定出来ると、
もう一方の値を推測出来るという性質
を持つ そんな感じのことを実際に
体感して行きたいと思います
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
本日扱うデータ
• Web上に公開されていて、常に利用できる
データとして、以下の二つのデータを利用し
ます
• 東京電力の電力使用量
http://www.tepco.co.jp/forecast/html/
download-j.html
• 気象庁の統計情報の気温実績値
http://www.data.jma.go.jp/gmd/risk/obsdl/
index.php
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 電力の一日の使用量は、気温と関連があ
るという仮説を検証する
• データを可視化しながら、アドホックに分析
を行い、電力使用量と気温の相関を求め、
予測モデルを検討する
本日扱うデータ
では、実際にやってみましょ
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
•RとR Studioをインストールして頂け
てますか??
•Rはこちらから
•http://www.r-project.org/
•R Studioはこちらから
•http://www.rstudio.com/ide/download/desktop
8
環境の確認
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
•コマンド全部打つのは大変、コピペ
したいという方はこちらに一時的に
PDFで置いておきました
•https://dl.dropboxusercontent.com/u/
8148946/AITC/20140428_R_HandsOn.pdf
•コピペは一行ずつでお願いします。
•たぶんハンズオン終わったら見えなくなります。
9
環境の確認
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
R Studioの見方(おさらい)
• R の IDE環境
コマンドの実行履歴
アクティブなデータ
セット
グラフのプロット
パッケージ管理
コマンドライン
コード・アシスト付き
データView
ソースEdit
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Rの基礎(おさらい)
• 変数は自由に宣言可能
• 代入は<-で行う
• データの基本はベクトル。データフレームが扱
えるようになると色々出来る
• 関数は必要になった時に調べる
> var <- 12 + 22
> var <- c(1, 2, 3, 4, 5, 6)
> var <- c(1:6)
> var <- data.frame("aa" = c(1,2))
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
可視化
• 今回行う可視化は、2通りの手法で行いま
す
–Rで良く利用するggplot2を利用した可視
化
–Web上でインタラクティブに操作出来る
rChartsを利用した可視化
※rChartsについては、下記スライドを参照く
ださい
http://www.slideshare.net/yasuyukisugai/r-
charts
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3
•気温と電力使用量の
•相関分析編
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
 まずは電力使用量と気温に相関がある
かを確認して行きます。
 データをRに取り込んでデータを可視化し
ていきます。
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
東京電力の電力使用量
• 東京電力の2013年の電力使用量は以下のURLか
らダウンロード可能
• http://www.tepco.co.jp/forecast/html/images/
juyo-2013.csv
• Rにデータを展開
– URL指定で直接読み込む(文字列として読みこむだけ)
– DataFrameに展開(ヘッダを除くデータ部のみ)
– 列名を付与
> tmp<-readLines("http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv")
> View(tmp)
> electric<-read.csv(textConnection(tmp), header=F, skip=3)
> names(electric) <- c("date", "time", "value")
> View(electric)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
東京電力の電力使用量
• こんな感じのデータが出来上がりました
- date: 対象の日付
- time: 1時間辺りのデータの対象時間
- value: 1時間辺りの電力使用量
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報の最高気温、最低気温
• 気象庁の統計情報は手動でダウンロードする必要
あり。以下のURLから、2013年の東京都の最高気
温、最低気温をダウンロードする
• http://www.data.jma.go.jp/gmd/risk/obsdl/index.php
• R上にデータを展開
– ダウンロードしたファイルを以下の関数の実行結果の場所に配
置する(Rが動作する作業ディレクトリ)
– DataFrameとしてRに読み込む(ヘッダを除くデータ部のみ)
– 必要な列のみ抽出
– 列名を付与
> getwd()
> tmp<-read.csv("data.csv", header=F, skip=5)
> temp<-tmp[c(1,2,5)]
> names(temp) <- c("date", "max", "min")
> View(temp)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報のダウンロード詳細
• 「地点を選ぶ」で東京を選択①
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報のダウンロード詳細
• 「地点を選ぶ」で東京を選択②
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報のダウンロード詳細
• 「項目を選ぶ」で日別値、日最高気温、日最低気
温を選択
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報のダウンロード詳細
• 「期間を選ぶ」で連続した期間で表示する、2013年1
月1日から2013年12月31日までの日別値を表示を
選択
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報のダウンロード詳細
• CSVファイルをダウンロードボタンを押下する
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気象統計情報の最高気温、最低気温
• こんな感じのデータが出来上がりました
- date: 対象の日付
- max: 最高気温
- min: 最低気温
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量の一日毎のピーク値算出
• 日付文字列を日付型に変換
– 電力使用量
• 電力使用量を時間別->日別に集約
– 日別にピーク値(MAX)を算出(SQLのグループ関数的な)
– 列名を付与
> electric<-transform(electric, date=as.Date(date))
> electric2<-aggregate(electric$value, list(electric$date), max)
> names(electric2)<-c("date", "value")
> View(electric2)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温を日別に結合
• 日付文字列を日付型に変換
– 最高気温、最低気温
• 電力使用量と気温を結合
– 日付("date"列)の一致するデータを結合する
> temp<-transform(temp, date=as.Date(date))
> data<-merge(temp, electric2, by="date")
> View(data)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• こんな感じのデータが出来上がりました
- date: 対象の日付
- max: 最高気温
- min: 最低気温
- value: 1日の電力使用量ピーク値
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
可視化ライブラリ
• 今回の可視化はggplot2を主に使用していきます
– ライブラリのインストール
– ライブラリのロード
• また参考としてrChartsでの可視化も行っていき
ます
– ライブラリのインストール
– ライブラリのロード
> install.packages("ggplot2")
> library(ggplot2)
> install.packages("devtools")
> library(devtools)
> install_github("rCharts", "ramnathv")
> library(rCharts)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量を可視化
• 電力使用量をプロット
– 散布図
– 折れ線グラフ
– 期間を絞り込んで折れ線グラフ
(6月1日から6月10日)
> qplot(data=data, x=date, y=value)
> qplot(data=data, x=date, y=value, geom = "line")
> data2<-data[as.Date("2013/06/01")<=data$date &
data$date<=as.Date("2013/06/10") , ]
> qplot(data=data2, x=date, y=value, geom = "line")
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• 散布図では、夏場と冬場に電力使用量が高い傾
向にあることが分かる
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• 折れ線グラフでは、同じ季節でも日によって多くのば
らつきがあることが分かる
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• 日付を絞り込むことで、ばらつきは土日と平日の違
いということが分かる
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量を可視化
• 電力使用量をインタラクティブに可視化
– 折れ線グラフ
> p <- nPlot(value ~ date, data = electric2, type = 'lineWithFocusChart')
> p$xAxis( tickFormat="#!function(d) { return d3.time.format('%m/%d')(new Date( d *
86400000 )); }!#" )
> p$x2Axis( tickFormat="#!function(d) { return d3.time.format('%b')(new Date( d *
86400000 )); }!#" )
> p$chart(tooltipContent = "#! function(key, x, y, e, graph){ return 'date: ' +
d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 )); } !#")
> p$set(width=1000, height=500)
> p
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• 見た目はggplot2と同様だけど・・・
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量と気温
• 任意の期間に容易に絞り込むことが可能
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気温を可視化①
• 最高気温をプロット
– 散布図
– 折れ線グラフ
• 最低気温をプロット
– 散布図
– 折れ線グラフ
> qplot(data=data, x=date, y=max)
> qplot(data=data, x=date, y=max, geom="line")
> qplot(data=data, x=date, y=min)
> qplot(data=data, x=date, y=min, geom="line")
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気温を可視化②
• 最高気温と最低気温を纏めてプロット
– reshape2に含まれているmelt関数によってデータを変
形(reshape2自体はggplot2と一緒にインストールさ
れる)
– 折れ線グラフでプロット
・ ggplot2の結果を画像保存したい場合は・・・
– ggsaveを使用してpng形式で保存(拡張子で自動判別)
※作業ディレクトリ(getwd())に出力される
> library(reshape2)
> tmp<-melt(data=data, id.vars=c("date"), measure.vars=c("max", "min"))
> View(tmp)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> p<-qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> ggsave("test.png", p)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 電力使用量と最高気温をプロット
– 電力使用量と最高気温をx, y軸で二次元上に
> qplot(data=data, x=max, y=value)
• 平日と土日とで使用量に
ばらつきがあったため、
分けて考える必要がある
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 平日と土日の分離
– 日付から曜日を判定
– 曜日から平日or土日を判定
– 平日、土日を区別してプロット
> data<-transform(data, day_of_the_weekday=weekdays(date))
> View(data)
# ※Windowsだと文字化けするかも?その場合はViewを使わないで data とだけ
実行
> data<-transform(data, week_class=ifelse(day_of_the_weekday%in
%c( "土曜日","日曜日"),"weekend","weekday"))
> View(data)
> qplot(data=data, x=max, y=value, colour=week_class)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 平日(weekday)のなかでも、まだばらつきがある
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 前スライドで左下に丸をつけた範囲のデータを絞り込む
– 最高気温20度未満、電力使用量3200未満のデータ
> data[data$max<20 & data$value<3200,]
• 年末年始と、2013年のカレンダーから
GW期間ということが判明
平日ではなく、祝祭日に分類出来る
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 祝祭日の判定追加
祝祭日はcsvファイルを別途用意したので、それを使用
(https://dl.dropboxusercontent.com/u/8148946/AITC/
holiday.csv)
– 平日、土日、祝祭日をそれぞれ判定
– 平日、土日、祝祭日+αを区別してプロット
> holiday<-read.csv("holiday.csv")
> holiday<-transform(holiday, date=as.Date(date))
> data<-transform(data, week_class=ifelse(day_of_the_weekday%in
%c( "土曜日","日曜日"),"weekend",ifelse(date%in%holiday
$date,"holiday","weekday")))
> View(data)
> qplot(data=data, x=max, y=value, colour=week_class)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 平日、週末、祝祭日とで分類することができた
• 祝祭日で一日だけ電力消費量が平日を上回ってい
るが、これは成人の日に記録的な大雪が降った日
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 平日データのみ絞り込み
– それぞれデータの分布が異なるため、区別して分析す
る必要がある
– 今回は平日データの分析を実施するため、平日のみ
抽出する
– 平日だけでプロット
> weekday_data=data[data$week_class=="weekday", ]
> View(weekday_data)
> qplot(data=weekday_data, x=max, y=value)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 最高気温と電力使用量の関係では、25度を上回る
と使用量が増加し、また20度を下回っても使用量が
増加している(20度から25度が最適な温度?)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 相関をインタラクティブに可視化
– ここまで行ってきた最高気温と使用量の関係をイン
タラクティブに可視化する
> p<-nPlot(value ~ max, data = data, group = "week_class", type = "scatterChart")
> p$chart(showDistX = TRUE, showDistY = TRUE)
> p$chart(tooltipContent = "#! function(key, x, y, e, graph){
return 'date: ' + d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 ));
} !#")
> p$set(width=1000, height=500)
> p
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• やはり見た目はggplot2と同じように見えるけど・・・
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• データのフィルタリングやツールチップによる付加情報
の表示が行える
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 平日25度を上回るデータのみ絞り込み
– 平日の25度を上回るデータの抽出
– 平日の25度を上回るデータだけでプロット
> weekday_data2=weekday_data[weekday_data$max>25,]
> View(weekday_data2)
> qplot(data=weekday_data2, x=max, y=value)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 右上がりに直線上にデータが分布している
最高気温が大きくなるほど、使用量が増加する正の
相関にあるといえそう
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 実際にどれくらい相関関係にあるのか?
– 相関の強さを調べる指標として、相関係数が存在す
る
– ±1 に近ければ近いほど、相関が強く、0に近いほど相
関は弱い
– ±1 = 一直線にデータが存在
相関係数 相関の強さ
-0.2∼0 or 0∼0.2 相関無し
-0.4∼0.2 or 0.2∼0.4 弱い相関
-0.7∼0.4 or 0.4∼0.7 中間の相関
-1∼0.7 or 0.7∼1 強い相関
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 相関係数の算出
– 25度を上回るデータに対して、電力使用量、最高気温、最低気
温の相関係数を求める
– 電力使用量と最高気温の間では、相関係数が0.94と強い相関
があることがわかる
– 最低気温とも相関がある
– ちなみに、2変数で求める場合
> cor(weekday_data2[c("value", "max", "min")])
> cor(x=weekday_data2$value, y=weekday_data2$max)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 回帰分析
– 最高気温と電力使用量との間に強い相関がある事がわ
かった
– 最高気温が分かれば、電力使用量もある程度予測出
来そう
– 回帰分析によって、最高気温から電力使用量を求める
直線(数式)を導きだすことが出来る
– 求める値を目的変数(この場合、電力使用量)、求める
際に使用する値を説明変数(この場合、最高気温)と
呼ぶ
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 回帰直線を求める
– 最高気温から電力使用量を予測する回帰直線を求め
る
– 求めた値の参照
– result.lmは実績値を基にした予測モデルとして利用する
> result.lm<-lm(formula = value ~ max, data = weekday_data2)
> summary(result.lm)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 求めた値から、回帰直線の切片と傾きを得る
• 次の結果から、電力使用量は以下の数式で求めら
れることが分かる
電力使用量 = -463.545 + 最高気温 x 152.937
• t値なども参照可能
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• ggplot2でも回帰直線を求めることが可能
> qplot(data=weekday_data2, x=max, y=value)+stat_smooth(method="lm")
切片
傾き
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 予測モデルから値を割り出す
– 予測モデルから信頼区間を割り出す
– 予測モデルから予測区間を割り出す
– fit: 推測値、 lwr: 区間の下端、upr: 区間の上端
– 信頼区間: 推定平均の95%推定区間
– 予測区間: 推定データの95%推定区間
• 新たに発生するデータに対する推測を行う場合は、予測区間
を利用することでデータのばらつきを考慮して予測を行う
> result.con<-predict(result.lm, weekday_data2, interval="confidence")
> result.con
> result.pre<-predict(result.lm, weekday_data2, interval="prediction")
> result.pre
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 信頼区間、予測区間を描画する①
– サンプルデータとして、25度から40度まで0.1度区切りの
最高気温データを作成
– 予測区間を算出し、サンプルデータに結合(横に追加)
– 信頼区間を算出し、サンプルデータにさらに結合
– 列名を付与
> sample<-data.frame("max"=c(250:400)/10)
> sample.pre<-predict(result.lm, sample, interval="prediction")
> tmp<-cbind(sample,sample.pre)
> sample.con<-predict(result.lm, sample, interval="confidence")
> tmp<-cbind(tmp,sample.con)
> names(tmp)<-c("max", "pre_fit", "pre_lwr", "pre_upr", "con_fit", "con_lwr",
"con_upr")
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 信頼区間、予測区間を描画する②
– データ形式の変換
– 基データも変換、サンプルデータに結合(下に追加)
– 散布図として描画する
> tmp<-melt(data=tmp, id.vars=c("max"), measure.vars=c("pre_fit", "pre_lwr",
"pre_upr", "con_fit", "con_lwr", "con_upr"), na.rm=TRUE)
> tmp2<-melt(data=weekday_data2, id.vars=c("max"),
measure.vars=c("value"), na.rm=TRUE)
> tmp<-rbind(tmp, tmp2)
> qplot(data=tmp, x=max, y=value, colour=variable)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 予測区間の方が、信頼区間よりも大きな幅であるこ
とが分かる(用途も異なる)
•一つのデータに纏めてると、他の作図ライブラリでも容易
に描画が可能
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 信頼区間、予測区間を描画する③
– rChartsで可視化
> p<-nPlot(value ~ max, data = tmp, type = "scatterChart", group="variable")
> p$set(width=1000, height=500)
> p
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 予測値と実績値を比較
– 最高気温から電力使用量の予測値を求める
– 求めた予測値を比較出来るよう基データに結合(横に
追加)
– プロットする変数を変形(日毎に表示する)
– プロット
> result.pre<-predict(result.lm, weekday_data2, interval="prediction")
> tmp<-cbind(weekday_data2, result.pre)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"),
na.rm=TRUE)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 日別の推移
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 重回帰分析
– 関連する説明変数を増やすことで、より精度向上を目
指す(※今回は偏相関の話は割愛・・・)
– 重回帰=説明変数が複数、単回帰=説明変数が一つ
– 今回は最高気温だけでなく、最低気温も利用して電力
の使用量を予測する
– 求めた値の参照
> result.lm<-lm(formula = value ~ max + min, data = weekday_data2)
> summary(result.lm)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 求めた値から、回帰直線の切片と傾きを得る
• 次の結果から、電力使用量は以下の数式で求めら
れることが分かる
電力使用量 = -341.562 + 最高気温 x 102.260
+ 最低気温 x 61.284
• t値なども参照可能
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 予測値と実績値を比較(重回帰編)
– 最高気温から電力使用量の予測値を求める(予測区
間)
– 求めた予測値を比較出来るよう基データに結合(横に
追加)
– プロットする変数を変形(日毎に表示する)
– プロット
> result.pre<-predict(result.lm, weekday_data2, interval="prediction")
> tmp<-cbind(weekday_data2, result.pre)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"),
na.rm=TRUE)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 単回帰よりも重回帰の方が精度が良さそう
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• 予測値と実績値を比較(重回帰編)
– 電力使用量のピーク値であるため、どの程度までいくこと
が予測出来るか、予測区間を使用して見てる
– 求めた予測値を比較出来るよう基データに結合(横に
追加)
– プロットする変数を変形(日毎に表示する)
– プロット
> result.pre<-predict(result.lm, weekday_data2, interval="prediction")
> tmp<-cbind(weekday_data2, result.pre)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "upr", "lwr"),
na.rm=TRUE)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• データの分布から電力使用量の上限値、下限値を
推測
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
• rChartsで可視化
> p <- nPlot(value ~ date, data = tmp, group = "variable", type =
'lineWithFocusChart')
> p$xAxis( tickFormat="#!function(d) { return d3.time.format('%m/%d')(new
Date( d * 86400000 )); }!#" )
> p$x2Axis( tickFormat="#!function(d) { return d3.time.format('%b')(new Date( d *
86400000 )); }!#" )
> p$chart(tooltipContent = "#! function(key, x, y, e, graph){ return 'date: ' +
d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 )); } !#")
> p$set(width=1000, height=500)
> p
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
電力使用量、最高気温の相関を可視化
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3
•気温の実績値と予報値
•突き合わせ編
こっちはメインじゃないので
軽く流す程度に
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
気温の予測(予報)値
• 気温の実績値だけでもある程度の予測を
行えることが分かった
• 気温の予報値がどれだけ使えそうか?何日
後位から予測値として利用可能となるか
• 気象庁が公開している週間天気予報の
データを用いて検証する
• 週間天気予報のデータ概要と解説はこち
らを参照(本家)
http://www.jma.go.jp/jp/week/319.html
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
1週間の天気予報値
• AITCのクラウド部会では、気象庁が配信している気
象庁XMLの蓄積を行っている
– http://api.aitc.jp/
• このデータを利用して、東京都の1年間分の週間天
気予報を抽出したファイルを別途用意したので、それ
を使用(https://dl.dropboxusercontent.com/u/8148946/
AITC/kishou_xml.csv)
• R上にデータを展開
> kishou_xml<-read.csv("kishou_xml.csv")
> kishou_xml<-transform(kishou_xml, date=as.Date(date))
> View(kishou_xml)
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値と実測値を可視化
• 予報日の2日後と実測値を結合する
• 2日後の予報値と実測値をプロット
• 2日後の予測範囲と実測値をプロット
> tmp<-melt(data=data_2, id.vars=c("date"), measure.vars=c("max",
"after_2_max"))
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> kishou_xml_2<-transform(kishou_xml, date=date+2)
> data_2<-merge(data, kishou_xml_2, by="date")
> View(data_2)
> tmp<-melt(data=data_2, id.vars=c("date"), measure.vars=c("max",
"after_2_max_high", "after_2_max_low"))
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値と実測値を可視化
• 2日後の予報値と実測値
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値と実測値を可視化
• 2日後の予報範囲と実測値
予測気温には予測範囲があり、
「実況の気温がこの範囲に入る確立はおよそ80%である」とのこと
また降水の有無については信頼度という指標もある←今回は考慮しない
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
7日後の予報値と実測値を可視化
• 予報日の7日後と実測値を結合する
• 7日後の予報値と実測値をプロット
• 7日後の予測範囲と実測値をプロット
> tmp<-melt(data=data_7, id.vars=c("date"), measure.vars=c("max",
"after_7_max"))
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
> kishou_xml_7<-transform(kishou_xml, date=date+7)
> data_7<-merge(data, kishou_xml_7, by="date")
> View(data_7)
> tmp<-melt(data=data_7, id.vars=c("date"), measure.vars=c("max",
"after_7_max_high", "after_7_max_low"))
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
7日後の予報値と実測値を可視化
• 7日後の予報値と実測値
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
7日後の予報値と実測値を可視化
• 7日後の予報範囲と実測値
2日後に比べて、予測範囲の幅が大きく
また誤差も大きい
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
【参考】6日後の予測最高気温(上端)と実測値
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
【参考】5日後の予測最高気温(上端)と実測値
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
【参考】4日後の予測最高気温(上端)と実測値
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
【参考】3日後の予測最高気温(上端)と実測値
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
【参考】予報値と実績値の比較
• 上限を超えた日数のうち、多くが1℃未満の超
過であった
–上限は1℃程度のマージンを見た方が良い
• 6日後、7日後の予測データはやや精度が落ちる
• 4日後~2日後は安定して高い精度であった
上限超過日数 上限超過日数(1℃以上) 最大超過(℃)
2日後 52日 17日 3℃
3日後 49日 18日 3℃
4日後 57日 22日 3℃
5日後 60日 25日 2.8℃
6日後 67日 31日 4℃
7日後 62日 30日 4.9℃
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値から電力使用量算出
• 2日後の予報値から最高気温25度超え、かつ平日
のデータを抽出
• 予測モデルと同じ列名を付与する
• 予測モデルを適用する
• 基データに予測値を結合し、プロット用に変形
• プロットする
> names(target)<-c("date", "value", "max", "min")
> View(target)
> target<-data_2[25 < data_2$after_2_max & data_2$week_class ==
"weekday", c("date", "value", "after_2_max", "after_2_min")]
> result.pre<-predict(result.lm, target, interval="prediction")
> tmp<-cbind(target, result.pre)
> tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"),
na.rm=TRUE)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値から電力使用量算出
• 2日後の電力使用量の予測値
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値から電力使用量算出
• 同じデータを利用し、予測範囲をプロットする
> result.pre<-predict(result.lm, target, interval="prediction")
> tmp<-cbind(target, result.pre)
> tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "upr", "lwr"),
na.rm=TRUE)
> qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
2日後の予報値から電力使用量算出
• 2日後の電力使用量の予測区間
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
まとめ
• 多くのデータを用いることで、より精度の高
い相関分析が行える
• 今後、公開されるデータが増えていくことか
らデータ分析の需要は多くなる
• データを読み解き、活用していきましょう
• 疑似相関には気をつけて・・・
Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 97
•本日はお集まり頂き、ありがと
うございました。
•アンケートにもご協力ください。
AITC非公式キャラクター
ハルミン
お疲れさまでした!!
この後は是非懇親会へ!!

More Related Content

What's hot

データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Hiroko Onari
 
PCIでプレプリでレジレポの件について
PCIでプレプリでレジレポの件についてPCIでプレプリでレジレポの件について
PCIでプレプリでレジレポの件についてYuki Yamada
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」Ken'ichi Matsui
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Takashi J OZAKI
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRDaisuke Yoneoka
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤Kenshin Yamada
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Shintaro Fukushima
 
データ解析技術入門(R編)
データ解析技術入門(R編)データ解析技術入門(R編)
データ解析技術入門(R編)Takumi Asai
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編Koichi Hamada
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Hiroshi Shimizu
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析Mitsunori Sato
 
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptxチームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptxRakuten Commerce Tech (Rakuten Group, Inc.)
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)Takashi J OZAKI
 
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーDiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーTakashi Yamane
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010Nobuaki Oshiro
 

What's hot (20)

データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
 
PCIでプレプリでレジレポの件について
PCIでプレプリでレジレポの件についてPCIでプレプリでレジレポの件について
PCIでプレプリでレジレポの件について
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とRブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
 
DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤DeNAの分析を支える分析基盤
DeNAの分析を支える分析基盤
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
データ解析技術入門(R編)
データ解析技術入門(R編)データ解析技術入門(R編)
データ解析技術入門(R編)
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
 
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptxチームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
チームトポロジーから学び、 データプラットフォーム組織を考え直した話.pptx
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
 
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ーDiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
DiagrammeRと仲良くなった話ーグラフィカルモデルのためのDiagrammeR速習ー
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
 

Similar to 第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜

気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-Yasuyuki Sugai
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]Hideo Takagi
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめOhyama Masanori
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一Insight Technology, Inc.
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...Insight Technology, Inc.
 
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008Toru Kimura
 
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介Satoshi Kitajima
 
NoOpsへ舵を切れ
NoOpsへ舵を切れNoOpsへ舵を切れ
NoOpsへ舵を切れHiromasa Oka
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet ServicesNaoto Gohko
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeHideo Takagi
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Tetsuya Odashima
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)NTT DATA Technology & Innovation
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとはTrainocate Japan, Ltd.
 
Autonomous選手権システムエグゼ社発表資料
Autonomous選手権システムエグゼ社発表資料Autonomous選手権システムエグゼ社発表資料
Autonomous選手権システムエグゼ社発表資料Mai Nagahisa
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 

Similar to 第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜 (20)

気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
気象庁XMLのSPARQL APIを利用してデータを俯瞰しよう -SPARQLとRによる可視化-
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう  by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
 
[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008[Aws]database migration seminar_20191008
[Aws]database migration seminar_20191008
 
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
 
NoOpsへ舵を切れ
NoOpsへ舵を切れNoOpsへ舵を切れ
NoOpsへ舵を切れ
 
2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services2015 0228 OpenStack swift; GMO Internet Services
2015 0228 OpenStack swift; GMO Internet Services
 
Azure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data LakeAzure Antenna はじめての Azure Data Lake
Azure Antenna はじめての Azure Data Lake
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
 
Autonomous選手権システムエグゼ社発表資料
Autonomous選手権システムエグゼ社発表資料Autonomous選手権システムエグゼ社発表資料
Autonomous選手権システムエグゼ社発表資料
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 

More from Yasuyuki Sugai

業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -Yasuyuki Sugai
 
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -Yasuyuki Sugai
 
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Yasuyuki Sugai
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-Yasuyuki Sugai
 
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」Yasuyuki Sugai
 
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」Yasuyuki Sugai
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Yasuyuki Sugai
 
IoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるIoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるYasuyuki Sugai
 
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」Yasuyuki Sugai
 
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」Yasuyuki Sugai
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」Yasuyuki Sugai
 
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」Yasuyuki Sugai
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからYasuyuki Sugai
 
Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Yasuyuki Sugai
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現Yasuyuki Sugai
 
Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yasuyuki Sugai
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Yasuyuki Sugai
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようYasuyuki Sugai
 

More from Yasuyuki Sugai (18)

業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -業務システムで使える可視化テクニック - Apache HTTP編 -
業務システムで使える可視化テクニック - Apache HTTP編 -
 
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
 
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
Caffeの特徴と最近の動向 -CNN、そしてRNNへ-
 
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
第3回機械学習勉強会「色々なNNフレームワークを動かしてみよう」-Keras編-
 
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」第三回デジタルガジェット祭り! LT「ペットとセンサー編」
第三回デジタルガジェット祭り! LT「ペットとセンサー編」
 
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
AITCオープンラボ IoTx総まとめ「IoTxロボット・AI開発をはじめよう!」
 
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
Deep Learningハンズオン勉強会「Caffeで画像分類を試してみようの会」
 
IoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみるIoTとDeep Learningで自宅警備員を育ててみる
IoTとDeep Learningで自宅警備員を育ててみる
 
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
IoTハンズオン勉強会 「センサーデータをクラウドに蓄積してみよう」
 
IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」IoT勉強会「IoTデバイス Intel Edison編」
IoT勉強会「IoTデバイス Intel Edison編」
 
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
IoT勉強会「littleBitsとIFTTTで超お手軽IoTクッキング」
 
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
 
AITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれからAITCクラウド部会 2014年度 これまでの振り返りとこれから
AITCクラウド部会 2014年度 これまでの振り返りとこれから
 
Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会Hack For Japan 気象データ勉強会
Hack For Japan 気象データ勉強会
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
 
Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2Yahoo Open Hack Day Japan 2
Yahoo Open Hack Day Japan 2
 
Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編Vagrant勉強会 チュートリアル編
Vagrant勉強会 チュートリアル編
 
RとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しようRとJavaScript Visualizationを俯瞰しよう
RとJavaScript Visualizationを俯瞰しよう
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜

  • 1. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 第2回 R言語で始めよう、データサイエンス! (ハンズオン勉強会) ~相関分析による需要予測編~ 2014年4月期 AITCオープンラボ 2014/04/28
  • 2. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. •菅井 康之 •  https://www.facebook.com/yasuyuki.sugai 株式会社イーグル所属 •AITC 運営委員※ •AITCクラウド・テクノロジー活用部会 •サブリーダー ※先端IT活用推進コンソーシアム(AITC)は XMLコンソーシアムの後継団体です 2 自己紹介 よろしくおねがいしまーす
  • 3. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Java コンソーシアム XML部会 2000/07 設立宣言   2001/06~2010/03実活動  2010/03~2010/09  2010/09/08設立 先端IT活用推進コンソーシアム Advanced IT Consortium   to Evaluate, Apply and Drive ・ 企 業 の 枠 を 超 え た 活 動                             ・ 一 社 で は で き な い 活 動 ( 実 証 実 験 等 )         ・ 利 活 用 推 進 の た め の 提 案 ・ 提 言             ・ 情 報 と 知 見 の 提 供               ・ 成 果 物 の 公 開 Windows コンソーシアム 日本経営協会 XMLフェスタ
  • 4. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 企業における先端ITの活用および   先端ITエキスパート技術者の育成を目的とし、      もって、社会に貢献することを目指す非営利団体 設  立 : 2010年9月8日(会期: ∼2016年8月31日) 会 長 : 鶴保 征城 (IPA顧問、HAL校長)    会 員 : 法人会員&個人事業主、個人会員、学術会員       特別会員 (産業技術総合研究所、気象庁、 消防研究センター、防災科学技術研究所) 顧 問 : 稲見 昌彦 (慶応義塾大学大学院 教授)       和泉 憲明 (産業技術総合研究所 上級主任研究員)    萩野 達也 (慶応義塾大学 教授)   橋田 浩一 (東京大学大学院 情報理工学系研究科 教授) 丸山 不二夫(早稲田大学大学院 客員教授)     山本 修一郎(名古屋大学大学院 教授) BizAR顧問: 三淵 啓自 (デジタルハリウッド大学大学院 教授)        川田 十夢  (AR三兄弟 長男) 先端IT活用推進コンソーシアム
  • 5. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 第4期活動対象分野 realvirtual コンテキスト 人 メタ データ モノ コト コンテキスト コンピューティング クラウド コンピューティング AR ユーザーエクスペリエンス ソーシャル ナチュラルユーザー インタフェース
  • 6. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. AITCオープンラボ<今まで開催したAITCオープンラボ> ■2013年11月■ R言語で始めよう、データサイエンス!(ハンズオン勉強会) ∼ R言語の基礎から機械学習・ビジュアライゼーション事始め ∼  ■2013年12月■ セマンティックWeb技術に触れてみよう!RDF/SPARQLハンズオン勉強会 ∼ オープンデータからLinkedDataまでを総ざらい ∼ ■2014年01月■ 簡単に仮想環境を構築したい人のためのVagrant&Chef勉強会 ■2014年02月■ デジタルガジェット祭り ■2014年03月■ 【再演】R言語で始めよう、データサイエンス!(ハンズオン勉強会) ∼ R言語の基礎から機械学習・ビジュアライゼーション事始め ∼  ■2014年04月■ ← NEW!! 第2回 R言語で始めよう、データサイエンス!(ハンズオン勉強会) ∼ 相関分析による需要予測編 ∼ 
  • 7. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 本日のハンズオン内容について  3月20日に開催した気象庁XML利活用 セミナーでお話させて頂いた、「気象庁 XMLを利用した需要予測の可能性」の 内容をハンズオン形式で演習します。  ↓基ネタのスライドはこちらで公開↓   http://xml.kishou.go.jp/seminar.html   →09_気象データを利用した需要予測[pdf形式:3,347KB]
  • 8. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 本日のテーマ • 企業で蓄積されるデータは日々増加し、何 らか利活用出来ないか模索する機会が増 えているかと思います • 一方では、オープンデータが推進されて利用 可能なデータの種類も豊富になってきました • データ利活用の一つのアプローチとして、保 持するデータと他のデータとの間に、相関が あるか分析し、予測などの様々なケース に適用することが考えられます というわけで、相関分析を 実際に行ってみましょー
  • 9. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 相関とは・・・ • 2つの変数間に規則的に変化していく性 質を持つデータ • 例えば、ある一方の値が大きくなるほどもう 一方の値も大きくなる(正の相関)、または ある一方の値が大きくなるほどもう一方の 値は小さくなる(負の相関)などの関係があ る状態 • ある一方の変数の値が特定出来ると、 もう一方の値を推測出来るという性質 を持つ そんな感じのことを実際に 体感して行きたいと思います
  • 10. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 本日扱うデータ • Web上に公開されていて、常に利用できる データとして、以下の二つのデータを利用し ます • 東京電力の電力使用量 http://www.tepco.co.jp/forecast/html/ download-j.html • 気象庁の統計情報の気温実績値 http://www.data.jma.go.jp/gmd/risk/obsdl/ index.php
  • 11. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 電力の一日の使用量は、気温と関連があ るという仮説を検証する • データを可視化しながら、アドホックに分析 を行い、電力使用量と気温の相関を求め、 予測モデルを検討する 本日扱うデータ では、実際にやってみましょ
  • 12. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. •RとR Studioをインストールして頂け てますか?? •Rはこちらから •http://www.r-project.org/ •R Studioはこちらから •http://www.rstudio.com/ide/download/desktop 8 環境の確認
  • 13. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. •コマンド全部打つのは大変、コピペ したいという方はこちらに一時的に PDFで置いておきました •https://dl.dropboxusercontent.com/u/ 8148946/AITC/20140428_R_HandsOn.pdf •コピペは一行ずつでお願いします。 •たぶんハンズオン終わったら見えなくなります。 9 環境の確認
  • 14. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. R Studioの見方(おさらい) • R の IDE環境 コマンドの実行履歴 アクティブなデータ セット グラフのプロット パッケージ管理 コマンドライン コード・アシスト付き データView ソースEdit
  • 15. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Rの基礎(おさらい) • 変数は自由に宣言可能 • 代入は<-で行う • データの基本はベクトル。データフレームが扱 えるようになると色々出来る • 関数は必要になった時に調べる > var <- 12 + 22 > var <- c(1, 2, 3, 4, 5, 6) > var <- c(1:6) > var <- data.frame("aa" = c(1,2))
  • 16. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 可視化 • 今回行う可視化は、2通りの手法で行いま す –Rで良く利用するggplot2を利用した可視 化 –Web上でインタラクティブに操作出来る rChartsを利用した可視化 ※rChartsについては、下記スライドを参照く ださい http://www.slideshare.net/yasuyukisugai/r- charts
  • 17. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3 •気温と電力使用量の •相関分析編
  • 18. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.  まずは電力使用量と気温に相関がある かを確認して行きます。  データをRに取り込んでデータを可視化し ていきます。
  • 19. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 東京電力の電力使用量 • 東京電力の2013年の電力使用量は以下のURLか らダウンロード可能 • http://www.tepco.co.jp/forecast/html/images/ juyo-2013.csv • Rにデータを展開 – URL指定で直接読み込む(文字列として読みこむだけ) – DataFrameに展開(ヘッダを除くデータ部のみ) – 列名を付与 > tmp<-readLines("http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv") > View(tmp) > electric<-read.csv(textConnection(tmp), header=F, skip=3) > names(electric) <- c("date", "time", "value") > View(electric)
  • 20. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 東京電力の電力使用量 • こんな感じのデータが出来上がりました - date: 対象の日付 - time: 1時間辺りのデータの対象時間 - value: 1時間辺りの電力使用量
  • 21. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報の最高気温、最低気温 • 気象庁の統計情報は手動でダウンロードする必要 あり。以下のURLから、2013年の東京都の最高気 温、最低気温をダウンロードする • http://www.data.jma.go.jp/gmd/risk/obsdl/index.php • R上にデータを展開 – ダウンロードしたファイルを以下の関数の実行結果の場所に配 置する(Rが動作する作業ディレクトリ) – DataFrameとしてRに読み込む(ヘッダを除くデータ部のみ) – 必要な列のみ抽出 – 列名を付与 > getwd() > tmp<-read.csv("data.csv", header=F, skip=5) > temp<-tmp[c(1,2,5)] > names(temp) <- c("date", "max", "min") > View(temp)
  • 22. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報のダウンロード詳細 • 「地点を選ぶ」で東京を選択①
  • 23. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報のダウンロード詳細 • 「地点を選ぶ」で東京を選択②
  • 24. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報のダウンロード詳細 • 「項目を選ぶ」で日別値、日最高気温、日最低気 温を選択
  • 25. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報のダウンロード詳細 • 「期間を選ぶ」で連続した期間で表示する、2013年1 月1日から2013年12月31日までの日別値を表示を 選択
  • 26. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報のダウンロード詳細 • CSVファイルをダウンロードボタンを押下する
  • 27. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気象統計情報の最高気温、最低気温 • こんな感じのデータが出来上がりました - date: 対象の日付 - max: 最高気温 - min: 最低気温
  • 28. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量の一日毎のピーク値算出 • 日付文字列を日付型に変換 – 電力使用量 • 電力使用量を時間別->日別に集約 – 日別にピーク値(MAX)を算出(SQLのグループ関数的な) – 列名を付与 > electric<-transform(electric, date=as.Date(date)) > electric2<-aggregate(electric$value, list(electric$date), max) > names(electric2)<-c("date", "value") > View(electric2)
  • 29. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温を日別に結合 • 日付文字列を日付型に変換 – 最高気温、最低気温 • 電力使用量と気温を結合 – 日付("date"列)の一致するデータを結合する > temp<-transform(temp, date=as.Date(date)) > data<-merge(temp, electric2, by="date") > View(data)
  • 30. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • こんな感じのデータが出来上がりました - date: 対象の日付 - max: 最高気温 - min: 最低気温 - value: 1日の電力使用量ピーク値
  • 31. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 可視化ライブラリ • 今回の可視化はggplot2を主に使用していきます – ライブラリのインストール – ライブラリのロード • また参考としてrChartsでの可視化も行っていき ます – ライブラリのインストール – ライブラリのロード > install.packages("ggplot2") > library(ggplot2) > install.packages("devtools") > library(devtools) > install_github("rCharts", "ramnathv") > library(rCharts)
  • 32. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量を可視化 • 電力使用量をプロット – 散布図 – 折れ線グラフ – 期間を絞り込んで折れ線グラフ (6月1日から6月10日) > qplot(data=data, x=date, y=value) > qplot(data=data, x=date, y=value, geom = "line") > data2<-data[as.Date("2013/06/01")<=data$date & data$date<=as.Date("2013/06/10") , ] > qplot(data=data2, x=date, y=value, geom = "line")
  • 33. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • 散布図では、夏場と冬場に電力使用量が高い傾 向にあることが分かる
  • 34. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • 折れ線グラフでは、同じ季節でも日によって多くのば らつきがあることが分かる
  • 35. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • 日付を絞り込むことで、ばらつきは土日と平日の違 いということが分かる
  • 36. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量を可視化 • 電力使用量をインタラクティブに可視化 – 折れ線グラフ > p <- nPlot(value ~ date, data = electric2, type = 'lineWithFocusChart') > p$xAxis( tickFormat="#!function(d) { return d3.time.format('%m/%d')(new Date( d * 86400000 )); }!#" ) > p$x2Axis( tickFormat="#!function(d) { return d3.time.format('%b')(new Date( d * 86400000 )); }!#" ) > p$chart(tooltipContent = "#! function(key, x, y, e, graph){ return 'date: ' + d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 )); } !#") > p$set(width=1000, height=500) > p
  • 37. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • 見た目はggplot2と同様だけど・・・
  • 38. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量と気温 • 任意の期間に容易に絞り込むことが可能
  • 39. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気温を可視化① • 最高気温をプロット – 散布図 – 折れ線グラフ • 最低気温をプロット – 散布図 – 折れ線グラフ > qplot(data=data, x=date, y=max) > qplot(data=data, x=date, y=max, geom="line") > qplot(data=data, x=date, y=min) > qplot(data=data, x=date, y=min, geom="line")
  • 40. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気温を可視化② • 最高気温と最低気温を纏めてプロット – reshape2に含まれているmelt関数によってデータを変 形(reshape2自体はggplot2と一緒にインストールさ れる) – 折れ線グラフでプロット ・ ggplot2の結果を画像保存したい場合は・・・ – ggsaveを使用してpng形式で保存(拡張子で自動判別) ※作業ディレクトリ(getwd())に出力される > library(reshape2) > tmp<-melt(data=data, id.vars=c("date"), measure.vars=c("max", "min")) > View(tmp) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > p<-qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > ggsave("test.png", p)
  • 41. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 電力使用量と最高気温をプロット – 電力使用量と最高気温をx, y軸で二次元上に > qplot(data=data, x=max, y=value) • 平日と土日とで使用量に ばらつきがあったため、 分けて考える必要がある
  • 42. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 平日と土日の分離 – 日付から曜日を判定 – 曜日から平日or土日を判定 – 平日、土日を区別してプロット > data<-transform(data, day_of_the_weekday=weekdays(date)) > View(data) # ※Windowsだと文字化けするかも?その場合はViewを使わないで data とだけ 実行 > data<-transform(data, week_class=ifelse(day_of_the_weekday%in %c( "土曜日","日曜日"),"weekend","weekday")) > View(data) > qplot(data=data, x=max, y=value, colour=week_class)
  • 43. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 平日(weekday)のなかでも、まだばらつきがある
  • 44. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 前スライドで左下に丸をつけた範囲のデータを絞り込む – 最高気温20度未満、電力使用量3200未満のデータ > data[data$max<20 & data$value<3200,] • 年末年始と、2013年のカレンダーから GW期間ということが判明 平日ではなく、祝祭日に分類出来る
  • 45. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 祝祭日の判定追加 祝祭日はcsvファイルを別途用意したので、それを使用 (https://dl.dropboxusercontent.com/u/8148946/AITC/ holiday.csv) – 平日、土日、祝祭日をそれぞれ判定 – 平日、土日、祝祭日+αを区別してプロット > holiday<-read.csv("holiday.csv") > holiday<-transform(holiday, date=as.Date(date)) > data<-transform(data, week_class=ifelse(day_of_the_weekday%in %c( "土曜日","日曜日"),"weekend",ifelse(date%in%holiday $date,"holiday","weekday"))) > View(data) > qplot(data=data, x=max, y=value, colour=week_class)
  • 46. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 平日、週末、祝祭日とで分類することができた • 祝祭日で一日だけ電力消費量が平日を上回ってい るが、これは成人の日に記録的な大雪が降った日
  • 47. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 平日データのみ絞り込み – それぞれデータの分布が異なるため、区別して分析す る必要がある – 今回は平日データの分析を実施するため、平日のみ 抽出する – 平日だけでプロット > weekday_data=data[data$week_class=="weekday", ] > View(weekday_data) > qplot(data=weekday_data, x=max, y=value)
  • 48. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 最高気温と電力使用量の関係では、25度を上回る と使用量が増加し、また20度を下回っても使用量が 増加している(20度から25度が最適な温度?)
  • 49. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 相関をインタラクティブに可視化 – ここまで行ってきた最高気温と使用量の関係をイン タラクティブに可視化する > p<-nPlot(value ~ max, data = data, group = "week_class", type = "scatterChart") > p$chart(showDistX = TRUE, showDistY = TRUE) > p$chart(tooltipContent = "#! function(key, x, y, e, graph){ return 'date: ' + d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 )); } !#") > p$set(width=1000, height=500) > p
  • 50. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • やはり見た目はggplot2と同じように見えるけど・・・
  • 51. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • データのフィルタリングやツールチップによる付加情報 の表示が行える
  • 52. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 平日25度を上回るデータのみ絞り込み – 平日の25度を上回るデータの抽出 – 平日の25度を上回るデータだけでプロット > weekday_data2=weekday_data[weekday_data$max>25,] > View(weekday_data2) > qplot(data=weekday_data2, x=max, y=value)
  • 53. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 右上がりに直線上にデータが分布している 最高気温が大きくなるほど、使用量が増加する正の 相関にあるといえそう
  • 54. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 実際にどれくらい相関関係にあるのか? – 相関の強さを調べる指標として、相関係数が存在す る – ±1 に近ければ近いほど、相関が強く、0に近いほど相 関は弱い – ±1 = 一直線にデータが存在 相関係数 相関の強さ -0.2∼0 or 0∼0.2 相関無し -0.4∼0.2 or 0.2∼0.4 弱い相関 -0.7∼0.4 or 0.4∼0.7 中間の相関 -1∼0.7 or 0.7∼1 強い相関
  • 55. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 相関係数の算出 – 25度を上回るデータに対して、電力使用量、最高気温、最低気 温の相関係数を求める – 電力使用量と最高気温の間では、相関係数が0.94と強い相関 があることがわかる – 最低気温とも相関がある – ちなみに、2変数で求める場合 > cor(weekday_data2[c("value", "max", "min")]) > cor(x=weekday_data2$value, y=weekday_data2$max)
  • 56. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 回帰分析 – 最高気温と電力使用量との間に強い相関がある事がわ かった – 最高気温が分かれば、電力使用量もある程度予測出 来そう – 回帰分析によって、最高気温から電力使用量を求める 直線(数式)を導きだすことが出来る – 求める値を目的変数(この場合、電力使用量)、求める 際に使用する値を説明変数(この場合、最高気温)と 呼ぶ
  • 57. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 回帰直線を求める – 最高気温から電力使用量を予測する回帰直線を求め る – 求めた値の参照 – result.lmは実績値を基にした予測モデルとして利用する > result.lm<-lm(formula = value ~ max, data = weekday_data2) > summary(result.lm)
  • 58. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 求めた値から、回帰直線の切片と傾きを得る • 次の結果から、電力使用量は以下の数式で求めら れることが分かる 電力使用量 = -463.545 + 最高気温 x 152.937 • t値なども参照可能
  • 59. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • ggplot2でも回帰直線を求めることが可能 > qplot(data=weekday_data2, x=max, y=value)+stat_smooth(method="lm") 切片 傾き
  • 60. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 予測モデルから値を割り出す – 予測モデルから信頼区間を割り出す – 予測モデルから予測区間を割り出す – fit: 推測値、 lwr: 区間の下端、upr: 区間の上端 – 信頼区間: 推定平均の95%推定区間 – 予測区間: 推定データの95%推定区間 • 新たに発生するデータに対する推測を行う場合は、予測区間 を利用することでデータのばらつきを考慮して予測を行う > result.con<-predict(result.lm, weekday_data2, interval="confidence") > result.con > result.pre<-predict(result.lm, weekday_data2, interval="prediction") > result.pre
  • 61. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 信頼区間、予測区間を描画する① – サンプルデータとして、25度から40度まで0.1度区切りの 最高気温データを作成 – 予測区間を算出し、サンプルデータに結合(横に追加) – 信頼区間を算出し、サンプルデータにさらに結合 – 列名を付与 > sample<-data.frame("max"=c(250:400)/10) > sample.pre<-predict(result.lm, sample, interval="prediction") > tmp<-cbind(sample,sample.pre) > sample.con<-predict(result.lm, sample, interval="confidence") > tmp<-cbind(tmp,sample.con) > names(tmp)<-c("max", "pre_fit", "pre_lwr", "pre_upr", "con_fit", "con_lwr", "con_upr")
  • 62. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 信頼区間、予測区間を描画する② – データ形式の変換 – 基データも変換、サンプルデータに結合(下に追加) – 散布図として描画する > tmp<-melt(data=tmp, id.vars=c("max"), measure.vars=c("pre_fit", "pre_lwr", "pre_upr", "con_fit", "con_lwr", "con_upr"), na.rm=TRUE) > tmp2<-melt(data=weekday_data2, id.vars=c("max"), measure.vars=c("value"), na.rm=TRUE) > tmp<-rbind(tmp, tmp2) > qplot(data=tmp, x=max, y=value, colour=variable)
  • 63. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 予測区間の方が、信頼区間よりも大きな幅であるこ とが分かる(用途も異なる) •一つのデータに纏めてると、他の作図ライブラリでも容易 に描画が可能
  • 64. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 信頼区間、予測区間を描画する③ – rChartsで可視化 > p<-nPlot(value ~ max, data = tmp, type = "scatterChart", group="variable") > p$set(width=1000, height=500) > p
  • 65. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 予測値と実績値を比較 – 最高気温から電力使用量の予測値を求める – 求めた予測値を比較出来るよう基データに結合(横に 追加) – プロットする変数を変形(日毎に表示する) – プロット > result.pre<-predict(result.lm, weekday_data2, interval="prediction") > tmp<-cbind(weekday_data2, result.pre) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"), na.rm=TRUE)
  • 66. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 日別の推移
  • 67. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 重回帰分析 – 関連する説明変数を増やすことで、より精度向上を目 指す(※今回は偏相関の話は割愛・・・) – 重回帰=説明変数が複数、単回帰=説明変数が一つ – 今回は最高気温だけでなく、最低気温も利用して電力 の使用量を予測する – 求めた値の参照 > result.lm<-lm(formula = value ~ max + min, data = weekday_data2) > summary(result.lm)
  • 68. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 求めた値から、回帰直線の切片と傾きを得る • 次の結果から、電力使用量は以下の数式で求めら れることが分かる 電力使用量 = -341.562 + 最高気温 x 102.260 + 最低気温 x 61.284 • t値なども参照可能
  • 69. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 予測値と実績値を比較(重回帰編) – 最高気温から電力使用量の予測値を求める(予測区 間) – 求めた予測値を比較出来るよう基データに結合(横に 追加) – プロットする変数を変形(日毎に表示する) – プロット > result.pre<-predict(result.lm, weekday_data2, interval="prediction") > tmp<-cbind(weekday_data2, result.pre) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"), na.rm=TRUE)
  • 70. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 単回帰よりも重回帰の方が精度が良さそう
  • 71. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • 予測値と実績値を比較(重回帰編) – 電力使用量のピーク値であるため、どの程度までいくこと が予測出来るか、予測区間を使用して見てる – 求めた予測値を比較出来るよう基データに結合(横に 追加) – プロットする変数を変形(日毎に表示する) – プロット > result.pre<-predict(result.lm, weekday_data2, interval="prediction") > tmp<-cbind(weekday_data2, result.pre) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "upr", "lwr"), na.rm=TRUE)
  • 72. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • データの分布から電力使用量の上限値、下限値を 推測
  • 73. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化 • rChartsで可視化 > p <- nPlot(value ~ date, data = tmp, group = "variable", type = 'lineWithFocusChart') > p$xAxis( tickFormat="#!function(d) { return d3.time.format('%m/%d')(new Date( d * 86400000 )); }!#" ) > p$x2Axis( tickFormat="#!function(d) { return d3.time.format('%b')(new Date( d * 86400000 )); }!#" ) > p$chart(tooltipContent = "#! function(key, x, y, e, graph){ return 'date: ' + d3.time.format('%Y/%m/%d')(new Date( e.point.date * 86400000 )); } !#") > p$set(width=1000, height=500) > p
  • 74. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 電力使用量、最高気温の相関を可視化
  • 75. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3 •気温の実績値と予報値 •突き合わせ編 こっちはメインじゃないので 軽く流す程度に
  • 76. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 気温の予測(予報)値 • 気温の実績値だけでもある程度の予測を 行えることが分かった • 気温の予報値がどれだけ使えそうか?何日 後位から予測値として利用可能となるか • 気象庁が公開している週間天気予報の データを用いて検証する • 週間天気予報のデータ概要と解説はこち らを参照(本家) http://www.jma.go.jp/jp/week/319.html
  • 77. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 1週間の天気予報値 • AITCのクラウド部会では、気象庁が配信している気 象庁XMLの蓄積を行っている – http://api.aitc.jp/ • このデータを利用して、東京都の1年間分の週間天 気予報を抽出したファイルを別途用意したので、それ を使用(https://dl.dropboxusercontent.com/u/8148946/ AITC/kishou_xml.csv) • R上にデータを展開 > kishou_xml<-read.csv("kishou_xml.csv") > kishou_xml<-transform(kishou_xml, date=as.Date(date)) > View(kishou_xml)
  • 78. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値と実測値を可視化 • 予報日の2日後と実測値を結合する • 2日後の予報値と実測値をプロット • 2日後の予測範囲と実測値をプロット > tmp<-melt(data=data_2, id.vars=c("date"), measure.vars=c("max", "after_2_max")) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > kishou_xml_2<-transform(kishou_xml, date=date+2) > data_2<-merge(data, kishou_xml_2, by="date") > View(data_2) > tmp<-melt(data=data_2, id.vars=c("date"), measure.vars=c("max", "after_2_max_high", "after_2_max_low")) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
  • 79. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値と実測値を可視化 • 2日後の予報値と実測値
  • 80. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値と実測値を可視化 • 2日後の予報範囲と実測値 予測気温には予測範囲があり、 「実況の気温がこの範囲に入る確立はおよそ80%である」とのこと また降水の有無については信頼度という指標もある←今回は考慮しない
  • 81. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 7日後の予報値と実測値を可視化 • 予報日の7日後と実測値を結合する • 7日後の予報値と実測値をプロット • 7日後の予測範囲と実測値をプロット > tmp<-melt(data=data_7, id.vars=c("date"), measure.vars=c("max", "after_7_max")) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line") > kishou_xml_7<-transform(kishou_xml, date=date+7) > data_7<-merge(data, kishou_xml_7, by="date") > View(data_7) > tmp<-melt(data=data_7, id.vars=c("date"), measure.vars=c("max", "after_7_max_high", "after_7_max_low")) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
  • 82. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 7日後の予報値と実測値を可視化 • 7日後の予報値と実測値
  • 83. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 7日後の予報値と実測値を可視化 • 7日後の予報範囲と実測値 2日後に比べて、予測範囲の幅が大きく また誤差も大きい
  • 84. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 【参考】6日後の予測最高気温(上端)と実測値
  • 85. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 【参考】5日後の予測最高気温(上端)と実測値
  • 86. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 【参考】4日後の予測最高気温(上端)と実測値
  • 87. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 【参考】3日後の予測最高気温(上端)と実測値
  • 88. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 【参考】予報値と実績値の比較 • 上限を超えた日数のうち、多くが1℃未満の超 過であった –上限は1℃程度のマージンを見た方が良い • 6日後、7日後の予測データはやや精度が落ちる • 4日後~2日後は安定して高い精度であった 上限超過日数 上限超過日数(1℃以上) 最大超過(℃) 2日後 52日 17日 3℃ 3日後 49日 18日 3℃ 4日後 57日 22日 3℃ 5日後 60日 25日 2.8℃ 6日後 67日 31日 4℃ 7日後 62日 30日 4.9℃
  • 89. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値から電力使用量算出 • 2日後の予報値から最高気温25度超え、かつ平日 のデータを抽出 • 予測モデルと同じ列名を付与する • 予測モデルを適用する • 基データに予測値を結合し、プロット用に変形 • プロットする > names(target)<-c("date", "value", "max", "min") > View(target) > target<-data_2[25 < data_2$after_2_max & data_2$week_class == "weekday", c("date", "value", "after_2_max", "after_2_min")] > result.pre<-predict(result.lm, target, interval="prediction") > tmp<-cbind(target, result.pre) > tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "fit"), na.rm=TRUE) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
  • 90. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値から電力使用量算出 • 2日後の電力使用量の予測値
  • 91. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値から電力使用量算出 • 同じデータを利用し、予測範囲をプロットする > result.pre<-predict(result.lm, target, interval="prediction") > tmp<-cbind(target, result.pre) > tmp<-melt(data=tmp, id.vars=c("date"), measure.vars=c("value", "upr", "lwr"), na.rm=TRUE) > qplot(data=tmp, x=date, y=value, colour=variable, geom="line")
  • 92. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 2日後の予報値から電力使用量算出 • 2日後の電力使用量の予測区間
  • 93. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. まとめ • 多くのデータを用いることで、より精度の高 い相関分析が行える • 今後、公開されるデータが増えていくことか らデータ分析の需要は多くなる • データを読み解き、活用していきましょう • 疑似相関には気をつけて・・・
  • 94. Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 97 •本日はお集まり頂き、ありがと うございました。 •アンケートにもご協力ください。 AITC非公式キャラクター ハルミン お疲れさまでした!! この後は是非懇親会へ!!