Archive - 5月 2012

R言語が2011年に全米で最も関連書籍販売が伸びたプログラミング言語に

state_of_the Computer_Book_Market_2011

 

統計解析・データマイニングのプログラミング言語であるRですが、R言語の学習がメインの書籍はそれほど多くはなく、「Rによる〜」といったようなRを使って統計やデータ解析を学ぶような書籍が多いです。

5月1日にO’ReillyがE-Bookとして無料公開した「State of the Computer Book Market 2011」によると、R言語が2011年に全米で最も関連書籍販売が伸びたプログラミング言語となったことがわかりました。

この結果はO’ReillyがNielsen Bookscanのデータを独自に加工し集計したものとなっています。このNielsen Bookscanでは全米の書店のPOSデータだけでなく、AmazonやBarnes & Noble、Bordersなどのインターネット販売のデータも含まれており、全書籍販売におけるカバー率は約70%となっています。(Walmartは含まれていないようです)

この結果についてはO’Reilly Rader全4回(1,2,3,4)に渡ってサマリーされており、今回はPart.4にある「The Languages」についての記事となります。

ここではプログラミング言語関連書籍市場についてのデータ集計がされており、その中の言語ごとの集計結果のグラフを2つご紹介します。

こちらは売上TOP20のプログラミング言語の販売数を2004年からの年次トレンドで集計したもので、R言語は右から4つ目にあります。

2006年に登場したPowersShellや2008年のiOS APIの登場によるObjective-Cの隆盛も見られますが、1996年に登場したR言語のここ数年での急上昇カーブは、絶対数は少ないものの目を見張るものがあります。

2010年からの前年比は約76%増加となっていますが、これを第4Qだけで見ると更に伸びていることがわかります。

上図のツリーマップは2011年第4Qのマーケットサイズを大きさで、前年からの増減率を色で表現しています。これを見ると右下にあるR言語が127%の増加となっており、2011年の中でも特に後半に伸びていることがわかります。

R言語関連書籍販売が伸びている背景には

このR言語関連書籍の販売数が急激に伸びている要因は、周知の通りビッグデータ分析の需要が大きくなってきているからでしょう。

これまでRのパッケージソフト単体では大量のデータには対応できませんでしたが、昨年からビッグデータ関連技術にオープンソースのRを連携させる動きがよく見られています。

以下、直近のベンダーやDWHアプライアンスのRとの連携に関するニュースです。

また、IBM Netezzaと同じくRevolution Analytics社のR Enterpriseを組み込むことによって、BIツールやExcelにもRを統合することが出来るようになっています。このWebinerでは、例としてQlikViewやJaspersoft、Excel上でRを動作させるデモを行なっています。

これらのことから、これまでデータ分析を生業としてきた人だけでなく、従来のDBエンジニアなどのデータハンドリングやDB管理を行なっていたシステム関連部署にまでデータ分析を習得する必要性が出てきているのです。

しかしその逆も然りで、分析対象となるデータ量が劇的に増えていることから、これまでデータ分析のみ行なってきたような人にも、大量データのハンドリングが出来る必要性が出てきているとも言えるでしょう。

ブラウザ上でインフォグラフィックを作成できる『easel.ly』がオープンベータを開始

easel.ly

 

インフォグラフィックをブラウザ上で作成できるwebサービス「easel.ly」のオープンベータが開始されています。

[vimeo width=”550″ height=”309″]http://vimeo.com/37781587[/vimeo]

 

ブラウザベースのインフォグラフィック作成ツールといえば、インタラクティブなインフォグラフィックを作成できる「infogr.am」や、マレーシアに本拠地を置き今年の2月に正式有料サービスとしてリリースされた「Piktochart」、インフォグラフィック共有サービスでもおなじみの「visual.ly」(作成ツールは今後公開)など、ここ1〜2年のインフォグラフィックの盛り上がりと共にこうしたインフォグラフィックを作成するサービスのスタートアップが世に出てきました。

easel.lyはPiktochartと同じように、サイトで用意されているものや自分でアップロードしたベクター素材をドラッグ&ドロップで大きさを変更したり向きを変えたりできます。ただ、色の変更やデータをアップロードしてのチャート作成機能もまだ用意されておらず、ベータ公開するにはまだ早すぎたのでは?と思えます。

easel.lyは現在Chrome、Firefox、Safariをサポートしているので、それらのブラウザを利用している方は試してみてください。正式リリースがいつになるかわかりませんが、実際にインフォグラフィックを作ってみたいと思っている方はPiktochartを使ってみるのがいいと思います。

もっと本格的にインフォグラフィックを作ってみたい!という方は、やはりAdobe Illustratorなどのソフトを使うべきでしょう。どのように作成するのかは、以下を参考にしてみてください。

商用も可能な無料のベクター素材はDesign Spiceさんの記事が参考になります。

データビジュアライゼーションの第一人者Moritz Stefaner氏から学ぶデータ可視化

mymuesli_full

 

まだまだ日本には、データビジュアリゼーションで生計を立てているようなフリーランサーはほとんどいない(育つ土壌もまだない)と思いますが、世界を見ると、このデータ可視化を職業としたフリーランサーは存在します。今後、このブログでもそのようなフリーランサーとその方々の”作品”を紹介していこうと思います。

今回取り上げるのは、ドイツでデータビジュアリゼーションの第一人者であるMoritz Stefaner氏です。学歴としては、認知科学の学士とインターフェイスデザインの修士を取得しています。

彼の作品に関する情報を得る方法としては、Twitterアカウント(@moritz_stefaner)、更新は少ないですがWELL-FORMED DATAというブログと、彼が関わっているプロジェクトを紹介するホームページがあります。

ちなみにオススメのプロジェクトはOECDの50周年記念で作成された「OECD Better Life Index」(より良い暮らし指標)で、日本語の説明はこちらにありますが、生活に関する11の指標を重み付けして自分だけのLife Indexを作って共有することができます。

彼に関する詳細なプロフィールに関しては、データビジュアリゼーション界では有名なサイト「visualizing.org」のブログで彼へのインタビュー記事があります。また、ドイツのコンスタンツ大でデータビジュアリゼーションのリサーチャーをしているEnrico Bertini氏(同じくvisualizing.orgでの紹介)のブログ「Fell in Love with Data」では彼へのインタビュー動画があります。

そして、このMoritz Stefaner氏とEnrico Bertini氏は二人でデータビジュアリゼーションに関するPodcast「Data Stories」を隔週で配信していています。iTunesで登録される方はこちらからどうぞ。

それでは、5月1日にプロジェクトホームページで公開された彼の直近の作品をご紹介します。

Müsli Ingredient Network

スイスやドイツで朝食として食べられるミューズリーの材料を自由に組み合わせて注文できるサイトを持つドイツのスタートアップのMymuesliから、5周年記念として依頼され作成したのが「Müsli Ingredient Network」です。

お客さんからメールで来る注文データを分析し、どのような材料の組み合わせで購入されているのかということを可視化をすること目的として作成されました。

まず一つ目は、ラジアルネットワーク(放射状ネットワーク)での可視化です。材料を、ミューズリーのベースとなる穀物、果物、ナッツ、チョコレートなどのお菓子の4つのカテゴリーにグループ化し、それぞれの材料(ノード)の組み合わせを線で結び、頻度を線の太さで表しています。

このネットワーク図から以下のようなことがわかります。

  • 果物が最も人気があり、他のグループの材料ともよく組み合わされていて、果物内でもよく組み合わされている。
  • お菓子とナッツはあまり組み合わされない。
  • マンゴー(Mango)は、パイナップル(Ananas)とココナッツ(Kokoschips)とそれぞれよく組み合わされているが、パイナップルとココナッツはあまり組み合わされない。

もちろんこの図ではわからないこともあり、最も組み合わされているラズベリー(Himbeeren)とストロベリー(Erdbeeren)がこの図では隣接しているために目立たなくなってしまっています。

次はマトリックス図で組み合わせを可視化していて、頻度の多さをバブルの大きさで表しています。この図によって、先ほどのラジアルの配置位置によって生じるデメリットを解消し、ラズベリー(Himbeeren)とストロベリー(Erdbeeren)などの同グループ内での関連性もわかるようになっています。

Moritz Stefaner氏はここからもう一歩踏み込んだ分析をしています。その結果が以下のマトリックス図になります。

バブルの大きさは先ほどと同じ組み合わせの頻度、そしてバブルの彩度の濃淡はそれぞれの組み合わせの”unexpectedness”を表しています(いい訳語が思い浮かびませんでした)。これは確率の期待値を使ったもので、特定の組み合わせがどれくらいの頻度で起こるかを見たものではなく、それぞれの組み合わせを分離して、その二つの材料の組み合わせの”人気度”として表したものです。

例えば、2回の注文に1回アーモンドが入っていて、3回の注文に1回ストロベリーが入っていた場合、アーモンドとストロベリーに特別なことがなければ確率では6回に1回(1/2 ×1/3=1/6)はアーモンドとストロベリーが組み合わさることになります。

この、組み合わせが起こりうる確率より実際の組み合わせの頻度が高ければバブルが濃くなります。

すると、これまで二つの図でもわからなかった、お菓子を入れる人は他のお菓子も組み合わせる頻度が高いことがわかります(右下の青い部分)。そして、(どのバブルがどの材料かわかり辛いのが難点ですが、恐らく)Chocolate-Dreamとチョコクランチ(Schoko Crunch)はお菓子との組み合わせが人気が高いことがわかります。

 

もちろんこれらを数値で表した方が正確な情報がわかります。しかしながら、(クライアントがどこまで詳細な分析結果を求めているかにもよりますが)いきなり文章だけのサマリーや詳細な数値の報告から入るより、これらの可視化されたものを先に出すことによって、視覚的に分析結果の概要を理解することができ、その後に出てくる詳細な結果の情報も入りやすくなると思います。

このあたりはストーリーテリングのスキルも重要になってきますので、それに関する情報があればこのブログで取り上げていこうと思いますが、今後も当記事のように、世界で有名なデータビジュアリゼーションのフリーランサーもどんどん紹介していき、データの見せ方(魅せ方)についても学んでいこうと思います。

Googleのビッグデータ分析サービス「BigQuery」が正式リリース。早くもBigQueryを使ったコンテスト「Github Data Challenge」がスタート!

github_data_challenge

 

Googleは、一部の顧客にプレビュー版を限定して提供していたクラウド型ビッグデータ分析サービスの「BigQuery」を正式リリースしました。

BigQueryはTB(テラバイト)級のデータをOLAP(オンライン分析処理)で分析できます。BigQueryと相性が良いのが従来のBIツールで行われていたようなスライシング・ダイシング・ドリリングなど様々な切り口から分析するようなケースで、これまでのBIツールでは扱えなかったような数億件(ニュース記事ではそう言っていますが、恐らく数百億件でも大丈夫)のデータをリアルタイムに処理することができます。

そのため、OLTP(オンライン・トランザクション処理)用途には向かず、データ更新を行う必要がある場合には、従来型のリレーショナルDBと同じようにQL構文およびテーブルをサポートするクラウド型DBサービスの「Google Cloud SQL」を使用することをGoogleは奨めています。

BigQueryを使ったBIツールの例は既にあり、去年ご紹介したクラウドBIツールのBimeは、同社の顧客である中東の某通信事業者向けに15TBもの顧客データをBimeを使って分析ができるようにBigQueryのプレビュー版で試験的に導入しました。

そのことに関しては、今年3月に米国ニューヨークで開催されたカンファレンス「Structure:Data 2012」(GigaOM主催)で同社CEOのRachel Delacour氏が講演しています。(以下、講演時の動画です)

これまで、TB級のデータをBIツールで分析する場合は高価なDWHコンプライアンスの導入などが必要でしたが、BimeのようなクラウドBIツールとBigQueryのよなクラウドのビッグデータ処理サービスがあれば、中小企業でも安価にビッグデータの分析が出来るようになります。

実はBigQueryはGoogle Spreadsheetsとも連携することができ、Spreadsheets上でクエリを実行し分析結果を表示させることができます。(参考

以下はBigQueryを発表したGoogle I/O 2010の動画で、ちょうどSpreadsheetsを使ったデモから始まるようにしています。

今後、Google Prediction API(当ブログでの紹介記事)との連携が簡単に出来るようになれば、ClearStory Dataが構想するように、ビッグデータの高度分析は大企業だけのものではなくなるかもしれません。

BigQueryを使ったデータ可視化コンテスト「Github Data Challenge」がスタート

そして、早くもBigQueryを使ったデータ可視化コンテストが開催されます。

プログラマーならご存知、バージョン管理システム「git」のホスティングサービスでソーシャルコーディングサービスの「GitHub」がGitHub Public Timelineのデータを可視化するコンテスト「GitHub Data Challenge」の開催を発表しました。

Github Public Timelineとは、Ilya Grigorik氏が公開したプロジェクト「GitHub Archive」のデータで、ユーザーデータやレポジトリデータなどを自由にクエリを使って取得することができます。これがBigQueryで分析可能になっており、詳細はこちらのページを参考ください。

簡単な例として、「Objective-Cを書くプログラマーがどのくらいJavaも書くのか」ということがわかるそうで、結果としては31%だそうです。

実際にBigQuery上で、GitHub Archiveで紹介されているクエリを実行してみました。

794MB(全データサイズではなく処理に使用したカラムのデータサイズ)処理するのに9.4秒かかりました。このテーブルの件数もカウントしてみると、636万件を7.6秒で処理ということで、そんなに早くない気がするのですが、データサイズがGB・TBにならないとあまり実感できないのでしょうか。

その後、サンプルにあるwikipediaの件数をカウントしてみると、3億1379万件を4.2秒で処理したので、github timelineのスキーマが多かったことなどが影響しているのではと思います。(というか3億1379万件を4.2秒で処理ってヤバい早いですね)

100GB/月までは処理が無料なので、まずはサンプルデータを使ってその速さを実感してみてはいかがでしょうか。100GB超えてもたったの$0.035/GBという激安なんですけどね。