第2回 r言語で始めよう、データサイエンス(ハンズオン勉強会)...

94
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

Upload: yasuyuki-sugai

Post on 30-Jun-2015

3.188 views

Category:

Technology


0 download

DESCRIPTION

2014年4月期 AITCオープンラボ

TRANSCRIPT

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

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

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

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

自己紹介

よろしくおねがいしまーす

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

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フェスタ

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

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活用推進コンソーシアム

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

第4期活動対象分野

realvirtual

コンテキスト

メタ データ

モノ コト

コンテキストコンピューティング

クラウドコンピューティング

AR

ユーザーエクスペリエンス

ソーシャル

ナチュラルユーザーインタフェース

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

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言語で始めよう、データサイエンス!(ハンズオン勉強会)~ 相関分析による需要予測編 ~ 

Page 7: 第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]

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

本日のテーマ

• 企業で蓄積されるデータは日々増加し、何らか利活用出来ないか模索する機会が増えているかと思います

• 一方では、オープンデータが推進されて利用可能なデータの種類も豊富になってきました

• データ利活用の一つのアプローチとして、保持するデータと他のデータとの間に、相関があるか分析し、予測などの様々なケースに適用することが考えられます

というわけで、相関分析を実際に行ってみましょー

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

相関とは・・・

• 2つの変数間に規則的に変化していく性質を持つデータ

• 例えば、ある一方の値が大きくなるほどもう一方の値も大きくなる(正の相関)、またはある一方の値が大きくなるほどもう一方の値は小さくなる(負の相関)などの関係がある状態

• ある一方の変数の値が特定出来ると、もう一方の値を推測出来るという性質を持つ そんな感じのことを実際に

体感して行きたいと思います

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

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

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

• 電力の一日の使用量は、気温と関連があるという仮説を検証する

• データを可視化しながら、アドホックに分析を行い、電力使用量と気温の相関を求め、予測モデルを検討する

本日扱うデータ

では、実際にやってみましょ

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

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

環境の確認

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

•コマンド全部打つのは大変、コピペしたいという方はこちらに一時的にPDFで置いておきました•https://dl.dropboxusercontent.com/u/8148946/AITC/20140428_R%E8%A8%80%E8%AA%9E%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3%E5%8B%89%E5%BC%B7%E4%BC%9A.pdf

•コピペは一行ずつでお願いします。•たぶんハンズオン終わったら見えなくなります。

9

環境の確認

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

R Studioの見方(おさらい)

• R の IDE環境コマンドの実行履歴アクティブなデータセット

グラフのプロットパッケージ管理

コマンドラインコード・アシスト付き

データViewソースEdit

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

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))

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

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

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3

•気温と電力使用量の•相関分析編

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

 まずは電力使用量と気温に相関があるかを確認して行きます。

 データをRに取り込んでデータを可視化していきます。

Page 19: 第2回 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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

東京電力の電力使用量

• こんな感じのデータが出来上がりました- date: 対象の日付

- time: 1時間辺りのデータの対象時間

- value: 1時間辺りの電力使用量

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報のダウンロード詳細

• 「地点を選ぶ」で東京を選択①

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報のダウンロード詳細

• 「地点を選ぶ」で東京を選択②

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報のダウンロード詳細

• 「項目を選ぶ」で日別値、日最高気温、日最低気温を選択

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報のダウンロード詳細

• 「期間を選ぶ」で連続した期間で表示する、2013年1月1日から2013年12月31日までの日別値を表示を選択

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報のダウンロード詳細

• CSVファイルをダウンロードボタンを押下する

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気象統計情報の最高気温、最低気温

• こんな感じのデータが出来上がりました- date: 対象の日付

- max: 最高気温

- min: 最低気温

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

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)

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• こんな感じのデータが出来上がりました- date: 対象の日付

- max: 最高気温

- min: 最低気温- value: 1日の電力使用量ピーク値

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

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)

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

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")

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• 散布図では、夏場と冬場に電力使用量が高い傾向にあることが分かる

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• 折れ線グラフでは、同じ季節でも日によって多くのばらつきがあることが分かる

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• 日付を絞り込むことで、ばらつきは土日と平日の違いということが分かる

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

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

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• 見た目はggplot2と同様だけど・・・

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量と気温

• 任意の期間に容易に絞り込むことが可能

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

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")

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 電力使用量と最高気温をプロット– 電力使用量と最高気温をx, y軸で二次元上に> qplot(data=data, x=max, y=value)

• 平日と土日とで使用量にばらつきがあったため、分けて考える必要がある

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 平日(weekday)のなかでも、まだばらつきがある

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 前スライドで左下に丸をつけた範囲のデータを絞り込む– 最高気温20度未満、電力使用量3200未満のデータ

> data[data$max<20 & data$value<3200,]

• 年末年始と、2013年のカレンダーからGW期間ということが判明平日ではなく、祝祭日に分類出来る

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 平日、週末、祝祭日とで分類することができた• 祝祭日で一日だけ電力消費量が平日を上回ってい

るが、これは成人の日に記録的な大雪が降った日

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 最高気温と電力使用量の関係では、25度を上回ると使用量が増加し、また20度を下回っても使用量が増加している(20度から25度が最適な温度?)

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

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

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• やはり見た目はggplot2と同じように見えるけど・・・

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• データのフィルタリングやツールチップによる付加情報の表示が行える

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 右上がりに直線上にデータが分布している最高気温が大きくなるほど、使用量が増加する正の相関にあるといえそう

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

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 強い相関

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 回帰分析– 最高気温と電力使用量との間に強い相関がある事がわ

かった– 最高気温が分かれば、電力使用量もある程度予測出

来そう– 回帰分析によって、最高気温から電力使用量を求める

直線(数式)を導きだすことが出来る

– 求める値を目的変数(この場合、電力使用量)、求める際に使用する値を説明変数(この場合、最高気温)と呼ぶ

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 求めた値から、回帰直線の切片と傾きを得る• 次の結果から、電力使用量は以下の数式で求めら

れることが分かる

電力使用量 = -463.545 + 最高気温 x 152.937

• t値なども参照可能

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

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")

切片

傾き

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

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

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

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")

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 予測区間の方が、信頼区間よりも大きな幅であることが分かる(用途も異なる)•一つのデータに纏めてると、他の作図ライブラリでも容易に描画が可能

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

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

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 日別の推移

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 求めた値から、回帰直線の切片と傾きを得る• 次の結果から、電力使用量は以下の数式で求めら

れることが分かる

電力使用量 = -341.562 + 最高気温 x 102.260

+ 最低気温 x 61.284

• t値なども参照可能

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• 単回帰よりも重回帰の方が精度が良さそう

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

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)

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

• データの分布から電力使用量の上限値、下限値を推測

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

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

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

電力使用量、最高気温の相関を可視化

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 3

•気温の実績値と予報値•突き合わせ編

こっちはメインじゃないので軽く流す程度に

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

気温の予測(予報)値

• 気温の実績値だけでもある程度の予測を行えることが分かった

• 気温の予報値がどれだけ使えそうか?何日後位から予測値として利用可能となるか

• 気象庁が公開している週間天気予報のデータを用いて検証する

• 週間天気予報のデータ概要と解説はこちらを参照(本家)http://www.jma.go.jp/jp/week/319.html

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

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)

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

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")

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2日後の予報値と実測値を可視化

• 2日後の予報値と実測値

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2日後の予報値と実測値を可視化

• 2日後の予報範囲と実測値

予測気温には予測範囲があり、「実況の気温がこの範囲に入る確立はおよそ80%である」とのことまた降水の有無については信頼度という指標もある←今回は考慮しない

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

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")

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

7日後の予報値と実測値を可視化

• 7日後の予報値と実測値

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

7日後の予報値と実測値を可視化

• 7日後の予報範囲と実測値

2日後に比べて、予測範囲の幅が大きくまた誤差も大きい

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

【参考】6日後の予測最高気温(上端)と実測値

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

【参考】5日後の予測最高気温(上端)と実測値

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

【参考】4日後の予測最高気温(上端)と実測値

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

【参考】3日後の予測最高気温(上端)と実測値

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

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℃

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

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")

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2日後の予報値から電力使用量算出

• 2日後の電力使用量の予測値

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

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")

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

Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

2日後の予報値から電力使用量算出

• 2日後の電力使用量の予測区間

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.

まとめ

• 多くのデータを用いることで、より精度の高い相関分析が行える

• 今後、公開されるデータが増えていくことからデータ分析の需要は多くなる

• データを読み解き、活用していきましょう

• 疑似相関には気をつけて・・・

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

Copyright © 2013 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 97

•本日はお集まり頂き、ありがとうございました。•アンケートにもご協力ください。

AITC非公式キャラクターハルミン

お疲れさまでした!!この後は是非懇親会へ!!