<- + 革命 2014 年 6 月 株式会社 KSK アナリティクス
オープンソース & フリーソフト 1993 年二人の大学教授 Robert Gentleman と Ross Ihaka が開発開始 2000 年 Version 1.0 がリリース 現在 (2014 年 6 月 ) Version 3.1がリリースパッケージ数も多く Rで出来ない分析は無い 世界中のR 利用者は250 万人以上 と言われるほどに成長 2
扱いやすい関数型プログラミング言語 統計データの分析用の言語 豊富な分析アルゴリズムと洗練された可視化と分析 = 言語 + 分析 UNIX 哲学 一つのプログラムには一つのことをうまくやらせる (Write programs that do one thing and do it well. Write programs to work together) 3
増え続ける R パッケージ 利用可能なパッケージ数は 5,651 (2014 年 6 月現在 ) http://r4stats.com/articles/popularity/ 4
バラエティー豊かな R パッケージ http://www.maths.lancs.ac.uk/~rowlings/r/taskviews/ 5
R は Hadoop 上でも動きます https://github.com/revolutionanalytics 6
商用ソフトにも負けない可視化機能 http://www.r-bloggers.com/where-world-cup-players-actually-come-from/ 7
書籍も豊富 R 統計 848 件 8
書籍も豊富 R プログラミング 557 件 9
R ユーザーは世界中に 10
R のコミュニティー ( 勉強会 ) も盛況 11
オープンソース R の特徴 オープンソース & フリーソフトウェア 扱いやすい関数型プログラミング言語 パッケージ数も増加傾向 バラエティー豊かなパッケージ R は Hadoop 上でも動きます 商用ソフトにも負けない可視化機能 R の書籍も豊富 R ユーザーは世界中に R のコミュニティー ( 勉強会 ) も盛況 12
データ量は指数関数的に増加 近年はデータ量の増加とともに R での分析が困難になってきた プログラムを実行するのに プログラムの書き方やパッケージを利用した方法など 同じ結果を生むものでも様々な方法が試行錯誤されている みんな困っている 我が国の情報通信市場の実態と情報流通量の計量に関する調査研究結果 ( 平成 21 年度 ) 情報流通インデックスの計量 http://www.soumu.go.jp/main_content/000124276.pdf 13
Revolution Analytics Power Power 大規模データを高速に分析 Productivity 分析アプリケーションをより簡単に開発 & 構築 Enterprise Readiness Productivity Enterprise Readiness 商用版の安定利用 ビジネスサポート 14
オープンソース R と Revolution R Enterprise(RRE) ビッグデータ ( データ量 ) 取り扱えるデータ量はメモリに依存 メモリと HDD 容量のハイブリッド 分析速度 シングルスレッド ( 遅い ) マルチスレッド ( 早い ) ビジネス活用 コミュニティサポート 商用サポート 分析機能 5000+ のパッケージ 5000+ のパッケージビッグデータのパッケージ 商用利用 オープンソース利用 ( リスクが大きい ) 商用ライセンス 15
1. オープンソース R の実行環境を高速なプラットフォームに改善 2. 大規模データを R で高速に分析できる実行環境を整備 Hadoop 環境での実行 数値演算ライブラリーによる高速化 マルチスレッドの実行 最適なメモリ管理 マルチコアでの実行 並列アルゴリズム インデータベースでの実行 Parallelized User Code 16
RRE(Revolution R Enterprise) は複数のコンポーネントから構成されています DevelopR DeployR ConnectR ScaleR DistributedR 17
R+CRAN オープンソースの R (version 3.0.2) 関数 CRAN パッケージを RevoR から自由に呼び出すことできます これまで開発していた R スクリプト 関数 パッケージはそのままご利用頂けます DevelopR DeployR ConnectR ScaleR DistributedR RevoR 数値演算ライブラリーにより オープンソース R よりも 3 倍 50 倍程高速に実行できます RevoR はオープンソースで提供されています 動作環境 : Platform TM LSF TM Linux Microsoft HPC Clusters Microsoft Azure Burst Windows & Linux Servers Windows & Linux Workstations Teradata Database IBM Netezza IBM BigInsights TM Cloudera Hadoop Hortonworks Hadoop Intel Hadoop 18
R vs RevoR のパフォーマンス比較 オープンソース R Revolution R Enterprise(RRE) Computation (4-core laptop) Open Source R Revolution R Speedup Linear Algebra 1 Matrix Multiply 176 sec 9.3 sec 18x Cholesky Factorization 25.5 sec 1.3 sec 19x Linear Discriminant Analysis 189 sec 74 sec 3x General R Benchmarks 2 R Benchmarks (Matrix Functions) 22 sec 3.5 sec 5x R Benchmarks (Program Control) 5.6 sec 5.4 sec Not appreciable 1. http://www.revolutionanalytics.com/why-revolution-r/benchmarks.php 2. http://r.research.att.com/benchmarks/ オープンソース R のスクリプトを変更せず RevoR で実行 3 倍 50 倍など高いパフォーマンス向上が報告されています ( 倍率はデータ数やアルゴリズムにより変化 ) 19
ScaleR 並列分散処理 データベース内実行 Hadoop 環境などの実行で より高速なビッグデータ分析を実現できます ScaleR は XDF という高圧縮された独自のデータフォーマットを用い rx で始まるファンクションで分析できます 予測モデル 線形回帰, ロジスティック回帰, 一般化線形モデルなど 機械学習 モンテカルロシミュレーションなど DevelopR DeployR ConnectR ScaleR DistributedR 20
ScaleR の対応している機能 データ前処理 基本的な統計 R のデータ加工 統計情報 検定 データの読み込み (SAS, SPSS, OBDC 接続など ) 変数作成 変換 変数保存 説明変数 欠損値処理 ソート ( 並び替え ) マージ ( データ統合 ) 分割 ( スプリット ) カテゴリー毎の演算 ( 平均や合計など ) 最小 / 最大 平均 中央値 四分位 標準偏差 分散 相関係数 共分散 平方和 クロス集計 リスク オッズ比 カイ二乗検定 ケンドールの順位相関 フィッシャーの正確確率検定 T 検定 (Student s t-test) サブサンプリング ランダムサンプル サンプリング 21
ScaleR の対応している機能 統計モデル 機械学習 予測モデル データの可視化 クラスター分析 平方和 重回帰分析 一般化線形モデル 分散共分散行列 相関行列 ロジスティック回帰 分類木 回帰木 回帰 スコアリングモデル 残差 ヒストグラム 棒グラフ 散布図 ローレンツ曲線 ROC 曲線 K-Means 分類 変数選択 ステップワイズ回帰 決定木 ランダムフォレスト シミュレーション モンテカルロ シミュレーション 22
R vs ScaleR のパフォーマンス比較 時間 ( 秒 ) GLM: 一般化線形モデル データ件数 23
DistributedR DistributedR は並列処理フレームワーク上でメモリやコア CPU やスレッドなどのシステムリソースを管理できます Windows のデスクトップからエンタープライズ データウェアハウス (EDW) や Hadoop 上で実行することができます 動作環境 : Windows Servers Red Hat and SuSE Linux Servers IBM Platform LSF Linux Microsoft HPC Clusters Microsoft Azure Burst Teradata Database Cloudera Hadoop Hortonworks Hadoop DevelopR DeployR ConnectR ScaleR DistributedR ConnectR より高速なデータのインポートとエクスポートを実現します 動作環境 : High-performance XDF SAS, SPSS, テキスト Hadoop HDFS (text & XDF) Teradata Database & Aster EDWs and ADWs ODBC 24
DevelopR R の開発に適した統合 IDE 環境を提供します R のための開発環境であり R の文法に基づく入力補完機能や 重要となる文字のハイライト表示機能などがあります (DevelopR は Windows 環境のみ動作します ) DevelopR DeployR ConnectR ScaleR DistributedR DeployR R の実行 実行結果を Web サービスやアプリケーションとして提供することができます ( 例 :Java JavaScript.NET APIs など ) R コードを構築しサーバーの Web サービスとして組み込むことができるので どのユーザーからも簡単に R の結果を利用できるほか アプリケーションなどにも組み込むことができるため R がもたらす分析の効果を最大限に発揮することができます 25
データ量 分析速度に対するパフォーマンス Hadoop 環境での実行データベース内実行並列ユーザーコード並列分散処理並列処理マルチスレッド実行最適なメモリ管理数値演算ライブラリー ScaleR ScaleR ScaleR ScaleR DistributedR DistributedR DistributedR RevoR オープンソース R 26
Java の Map-Reduce で回帰分析 Data setup Mapper Reducer 行数 : 100 行の Java コード ( セットアップも含む ) 27
RRE で回帰分析 (Hadoop 上 ) 行数 :2 行の R コード (Java が 100 行だと考えると 50 倍の生産性 UP) 28
RRE with Hadoop Complex & Basic analytics 29
導入実績米国内 200 社以上 世界では 2000 社以上 Finance & Insurance Healthcare & Life Sciences Academic & Gov t Consumer & Info Svcs Manuf & Tech 30
オープンソース R と RRE (Revolution R Enterprise) オープンソース R RRE Workstation RRE Server オープンソース R の利用 CRAN パッケージの利用 RevoR ConnectR 高速な数値演算ライブラリによるマルチスレッド対応 より高速なインポートとエクスポート ( 形式 :XDF, SAS, SPSS, ASCII, Hadoop HDFS, Teradata TPT, ODBC) ScaleR より高速なビッグデータ分析 DevelopR Windows での R 統合開発環境 (IDE) DeployR Web サービスの API 提供 DistributedR データベースや Hadoop クラスタを横断した大規模処理 テクニカルサーポート 31
株式会社 KSK アナリティクス営業本部セールス グループ www.ksk-anl.com sales@ksk-anl.com より詳細は レボリューション R 日本語サイトへ http://www.r-analytics.jp/ 32