My online activities
検索
以前の記事
2013年 02月 2013年 01月 2012年 03月 2012年 02月 2012年 01月 2011年 12月 2011年 11月 2011年 10月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 11月 2009年 10月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 05月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 2007年 08月 2007年 07月 2007年 06月 2007年 05月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 2006年 03月 2006年 02月 2006年 01月 2005年 12月 2005年 11月 2005年 10月 2005年 09月 2005年 08月 2005年 07月 2005年 06月 2005年 05月 2005年 04月 2005年 03月 2005年 02月 2005年 01月 2004年 12月 2004年 11月 2004年 10月 2004年 09月 2004年 08月 2004年 07月 2001年 01月 カテゴリ
全体 Math Science Book Log Misc Business Music IT Food Topic Movie Art Stat Politics Muttering Off Topic 未分類 ブログパーツ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
2010年 09月 14日
最近、Rの非効率性やパフォーマンスの悪さをここで良く取り上げていて、それじゃあ柏野はRが嫌いなのか、と誤解されることもあると思うので、その弁明を。
僕にとってRはかなり好きなコンピュータ言語だ。使っていてワクワクする。言語を使いながらマイナーな分野の統計学の勉強ができるフリーソフトウェア / オープンソースソフトウェアの言語なんて他には存在しない。最近ではCRANにあるevirやismev, evdを利用して極値統計学を勉強した。 クイックなプロトタイピングができるのも本当に素敵だ。よくわからないデータを探索的に調べていくためには最高のブッシュナイフだと思う。だからこそ、@ITで市井の知識労働者を対象とした連載をしている。 実践! Rで学ぶ統計解析の基礎 http://www.atmarkit.co.jp/fcoding/index/stat.html しかし、エンタープライズレベルに必要な最低数百GB、普通に数TBのデータを目の前にしたときに、これをどうするかということになると、Rではどうしょうもないと思う。竹槍で核爆弾に立ち向かう気分になる。全データをメモリに一度読み込んでから処理する仕様、変数割り当てや参照のたびにコピーが発生するという非効率性、名前空間やスコーピングの不備による変数の安全性問題と並列化への非対応、カッコの種類や数によって速度が変化する絶望的なパーシングの遅さを誇るインタプリタ、長いコードを書いていくと可読性が悪くなる奇妙なシンタックス、救いようがないエクセプションハンドリング、どれをとってもお金を稼ぐ現場で使うモダンな言語としての資格を備えていない。 GoogleのHal Varianも言うように、これからは"Data matters"なのだ。 Why Data Matters http://googleblog.blogspot.com/2008/03/why-data-matters.html ただし、その場合のデータとは、今までのような数百MB程度のデータであることは少なくなっていくだろう。Revolution Analyticsのように、Hadoopのような並列環境に強引にRを載せて、数TBのデータクランチングを行わせようという試みもあるが、筋の悪い言語設計をシステム実装でカバーするのは、将来に多大なツケを産むことになるだろう。僕自身も当初はRを並列化プラットフォームに載せて処理をするということを考えたけれど、いくつかの試みの後でそれはもうあきらめた。現在すぐに利用するならば、必要な統計関数は自前で実装するしかないと思っている。ただし、現在ではどのプラットフォームもどの言語も数学ライブラリが充実しているので、それを組み合わせる作業になるだけだからそれほどドローバックはない、という素敵な事実が背景にあるから、そう決断できるのだが。 Rはこれからも教育用の言語として生き残るだろう。また、少人数の研究者が自ら集めた比較的小さなデータに対してデータ解析・統計解析をするときには、切れ味鋭い道具であり続けるだろう。しかし、日々生まれる巨大データとこの道具で格闘して世界を変えるのは難しいというのが厳しい現実である。Rを創始した一人であるRoss Ihakaが自らRの末期ガンの宣告をしたように、下手な延命はせず、役に立つ分野ではそのまま役に立たせ、時代の要請に沿わなくなったら、そのまま逝かせてやるほうがいいと思う。そして、その屍から新たな生命が生まれるのだ。 --- コメントありがとうございます。 私も基本的にはデータを前処理するところと、解析するところ、そしてプレゼンテーションをするところは分離されていくと思っています。そしてだからこそRのような中途半端に全てを網にかけている立ち位置は、エンタープライズの世界では使われにくくなっていくのだと思います。そしてdata squashingのような技術が発達すれば、そこである程度の解析までできてしまいますから、ますます統計解析言語/環境としてRの役割は薄れていくと思います。もちろん、Rの機能としては、ますますプレゼン機能を充実させるという進化のさせかたもあります。現在別アプリであるGGobiを取り込むのはかなり良いアイディアかもしれません。 それにしても、RのS3/S4メソッド混在という文法上の不整合や、スコーピングやネームスペースの不在、そして非効率な実行速度をどうにかしないと、破綻するということは変わりないと思います。
by yutakashino
| 2010-09-14 11:10
| Stat
|
ファン申請 |
||