前回と前々回で2回にわたり、少し変わった活用例として、システム運用に統計処理を活用した場合のサンプルを2事例、説明しました。

 統計処理の一般的な活用例としては、マーケティング分野における下記のような分析がよく例示されますが、これらに対してもR言語は十分な機能を有します。

  • 「既存商圏の売り上げデータから顧客クラスター(「年齢層」や「性別」「店舗と居住地の地理的距離」といった属性条件)を割り出し、そのモデルを新たな店舗展開などに活用する」
  • 「様々なデータから、特定状況下である出来事が発生する可能性を割り出す」
  • 「価格、重さ、容量などのうち、製品の売り上げに影響が大きいスペックを特定する」

 そこで今回は、エンタープライズ環境下での利用という視点から、昨今の事情をご紹介します。

フリーツールとしてのR言語

 R言語は前述のようにフリーツールでありながら非常に高度な統計解析環境を利用できます。操作性についても、入力を補助するR Commandar、統合開発環境としてのR Studioなど、無償で利用できる補助ツールも多く世に出てきており、ますますその利便性が向上している状況です。統計解析を業務に取り入れる場合においても、十分な機能が提供されていると言えます。

 ただし、R言語ですべての企業ニーズを満たすかとどうかといえば、そんなことはありません。製品保守サポート、Q&A対応、日本語マニュアルやトレーニングといったサービスを必要とする場合、SAS、SPSSといった商用製品を活用したほうが、人的なリソースや教育コスト、時間的なコストも考慮した場合、望ましい場合もあるでしょう。

 このような事情は、オフィスソフトでも最近は優れた無料ソフトが登場していますが、依然として有償ソフトを活用する企業が多いこととも似ています。ソフトウェアの機能はもちろん、組織にとってどのような点が重要であるかよく検討したうえで、選ぶ必要があると言えそうです。

標準のR言語のアーキテクチャー

 前々回で構文を紹介したときに少し触れたように、R言語の動作は基本的に「データをメモリー空間にロードして処理を行う」という形式です。このため、実行マシンで利用可能なメモリー容量に入りきらないデータについては「ループ処理などを使って少量ずつ計算する」「一時的に他のデータをメモリー空間から削除する」「メモリーを物理的に増設するなどの対応を行う必要があります。この点は、特にビッグデータ(大容量データ)の処理にR言語を活用しようとするとき、問題となる可能性があり注意が必要です。

より大容量のデータ、より高速な処理

 分析の速度は、実行マシンに搭載されているCPU性能に依存します。統計解析を行ううえでは、より高速な分析環境を準備したほうがビッグデータ活用を進めやすいことは間違いないと思われます。分析するデータ量を増加させるほど、より精度の高い予測モデルが作れるとは一概には言えませんが、手際良く分析を繰り返し、試行錯誤をできるようにしたほうが、ビッグデータの価値をより早く見極められることは確かでしょう。

 このような背景から、標準のR言語の機能を拡充する形で、複数コンピュータにまたがる並列分散実行を可能にするライブラリもcranで公開されています。