16
びっぐでぇた解析環境あ~る Revolution R Enterprise のご紹介~ 2012/12/04 Japan.R #03 Matsui Hiroki (@Hiro_macchan) 2012/12/1 Japan.R#3 1

Japan r.3

Embed Size (px)

Citation preview

Page 1: Japan r.3

びっぐでぇた解析環境あ~る~Revolution R Enterprise のご紹介~

2012/12/04Japan.R #03

Matsui Hiroki(@Hiro_macchan)

2012/12/1 Japan.R#3 1

Page 2: Japan r.3

はじめに

このプレゼンテーションは個人の見解で有り、いかなる所属組織の公式見解ではありません。

また、このプレゼンテーションにおいて、営利企業の製品に関する言及がありますが、購入を推奨、もしくは非推奨するものではないことをご留意下さい。

2012/12/1 Japan.R#3 2

Page 3: Japan r.3

自己紹介• Matsui Hiroki (RPT,MPH)

• 出身:琵琶湖 住まい:荒川 職場:都内赤門

• 職業:医療政策に関する研究をしています。

• Twitter: Hiro_macchan

未熟者ですので間違い等は指摘して下さい。

(できれば、お手柔らかに。。)2012/12/1 Japan.R#3 3

Page 4: Japan r.3

背景

• R はオンメモリで処理をするから、大きなデータを扱うのは結構苦手。

• 偉大な諸先輩方の貴重な資料

2012/12/1 Japan.R#3 4

@wdkz さん(2012/09/08)

@sfchaos さん(2011/04/10)

Page 5: Japan r.3

背景

• 2012/08/04開催のTokyo.Rにおいて

• Rをベースとした商用ソフトウェアRevolution R Enterprise内のプログラムであるRevosclae Rについてご紹介

• 一部紹介しきれず、土下座orz

2012/12/1 Japan.R#3 5

Page 6: Japan r.3

このLT でお話したいこと

• Rをベースとした商業ソフトRevolution R内のプログラムであるRevosclaeRについてご紹介

2012/12/1 Japan.R#3 6

Page 7: Japan r.3

RevoScaleRについて

• Revolution Analytics @カルフォルニア製

• Revolution R Enterprize に同梱されたパッケージみたいな扱い。

• HDD上にXDF形式のデータの本体を置くことで大規模データを取り扱えるようになる。

• 最近Revolution R Enterprize 6.1が出た。

• $1,000@1USER

• アカデミアにいる人はフリーで利用できる。→人柱にならなくても試せる!!

2012/12/1 Japan.R#3 7

Page 8: Japan r.3

実際の画面

2012/12/1 Japan.R#3 8

Page 9: Japan r.3

実際の画面

コマンドエディタ

コマンドライン

プロジェクトの管理

オブジェクトの管理

コマンドエディタはRstudio の方が何か好き。。

2012/12/1 Japan.R#3 9

Page 10: Japan r.3

今回使用するデータセットについて

• Data Expo 2009

– アメリカの航空旅客機の飛行データ

– 1987年~2008年

– http://stat-computing.org/dataexpo/2009/the-data.html

– フライトの日時や予定離着陸時間、目的地などの情報を29カラムで表している。

– 今回は、時間の都合上2008年のデータを使用

– 実は、普通にメモリに乗っかる。。。

2012/12/1 Japan.R#3 10

Page 11: Japan r.3

実際に使ってみる。colClasses <- c(Year=“factor”, …. , DepTime="character", …. , ActualElapsedTime="numeric",…..)

dat.2008.rx <- rxTextToXdf(inFile=file.pass,outFile="air2008.xdf",overwrite=TRUE, colClasses = colClasses )

注意:データを保存する先を指定しないとメモリに乗っかって

くる。

Named vector で大体のデータ型指定が可能

データを分割してHDDに吐いてる。

2012/12/1 Japan.R#3 11

Page 12: Japan r.3

実際に使ってみるrxCrossTabs(~ DayofMonth, data = "air2008.xdf")

dat.2008.cube <-rxCube(~F(AirTime):Month, data = "air2008.xdf")rxLinePlot(Counts~AirTime|Month, data=rxResultsDF(dat.2008.cube))

3 2332594 2286495 2281566 2281177 233797....2 2308651 229292

月初から月末までのフライト件数Factor のlevelの順番がなんか変?

AirTime

Co

un

ts

0

1000

2000

3000

4000

5000

6000

0 200 600 1000 1400

1 2

0 200 600 1000 1400

3 4

5 6 7

0

1000

2000

3000

4000

5000

6000

8

0

1000

2000

3000

4000

5000

6000

9

0 200 600 1000 1400

10 11

0 200 600 1000 1400

12

2012/12/1 Japan.R#3 12

Page 13: Japan r.3

実際に使ってみる。myGlmLogit <- rxGlm(Cancelled ~ Month + DayOfWeek, data = "air2008.xdf",

family = binomial(link="logit"))summary(memoryGlmLogit)

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -3.402642 0.010038 -338.965 2.22e-16 ***Month=1 -0.132518 0.010854 -12.209 2.22e-16 ***Month=2 0.104402 0.010430 10.010 2.22e-16 ***Month=3 -0.211816 0.011038 -19.190 2.22e-16 ***・・・・Month=9 -0.592640 0.012688 -46.709 2.22e-16 ***Month=10 -1.746840 0.019185 -91.052 2.22e-16 ***Month=11 -1.356062 0.016872 -80.373 2.22e-16 ***Month=12 Dropped Dropped Dropped DroppedDayOfWeek=4 -0.103478 0.010387 -9.962 2.22e-16 ***DayOfWeek=5 0.184902 0.009690 19.082 2.22e-16 ***・・・・・DayOfWeek=2 0.132802 0.009751 13.619 2.22e-16 ***DayOfWeek=3 Dropped Dropped Dropped Dropped

glm→rxGlm に。

2012/12/1 Japan.R#3 13

Page 14: Japan r.3

サンプリングした結果と比べてみる。

Coefficients:Estimate Std. Error z value Pr(>|z|)

(Intercept) -3.47509 0.03828 -90.777 < 2e-16 ***Month1 -0.11197 0.04097 -2.733 0.006278 ** Month2 0.15486 0.03923 3.948 7.88e-05 ***Month3 -0.20073 0.04185 -4.796 1.61e-06 ***Month4 -0.63044 0.04727 -13.336 < 2e-16 ***Month5 -1.13177 0.05566 -20.333 < 2e-16 ***Month6 -0.54642 0.04599 -11.881 < 2e-16 ***Month7 -0.63464 0.04658 -13.624 < 2e-16 ***Month8 -0.69782 0.04812 -14.503 < 2e-16 ***Month9 -0.56999 0.04798 -11.880 < 2e-16 ***Month10 -1.77033 0.07354 -24.071 < 2e-16 ***Month11 -1.35792 0.06415 -21.169 < 2e-16 ***DayOfWeek4 -0.04787 0.03920 -1.221 0.222011 DayOfWeek5 0.21635 0.03685 5.871 4.34e-09 ***DayOfWeek6 -0.14814 0.04241 -3.493 0.000477 ***DayOfWeek7 0.02619 0.03898 0.672 0.501654 DayOfWeek1 0.05793 0.03796 1.526 0.127006 DayOfWeek2 0.16706 0.03708 4.505 6.62e-06 ***

sample.no <- sample(1:nrow(dat.2008.rx.2), 500000)sub.data.3 <- dat.2008.rx.2[sample.no, ]

Referenceのレベルを何にするかがrxGlmとglmで違う?

傾向は同じっぽいんで宜しいのでは?

2012/12/1 Japan.R#3 14

Page 15: Japan r.3

感想

• 6.1から決定木をサポートしたみたい。• Windwos HPC Serverを使った並列分散処理をサポートし

ているみたい。そういえば、AWS でWin Svr 2012が使える。。

この辺のレポートはR advent Calendar 2012(http://atnd.org/events/31973)にて記載予定です。僕が元気であれば。。。

• 回帰分析したいだけなら、サンプリングの方がお手軽だし早いんではという疑問は、現実場面で独自解決して下さい。他ソフトとの連携大切。

2012/12/1 Japan.R#3 15

Page 16: Japan r.3

Thank you!!

2012/12/1 Japan.R#3 16