ビッグデータ

Hadoop MapReduceで相関行列を計算する:ステップ6:共分散行列を計算する (step6: calculate covariance matrix)

前回までのログで を計算することができた。 (注記:正確には、不偏分散を使用しているため、n-1で除算している:ステップ5) ステップ6では共分散行列を計算する。 (注記:正確には、不偏分散を使用しているため、n-1で除算している:ステップ5) この…

Hadoop MapReduceで相関行列を計算する:ステップ5:観測値の平均からの偏差を求める (step5: subtract means from samples in matrix form)

MapReduceで大きな(5000変量〜)相関行列を求めるプログラム作りも、ようやく折り返し地点。 今日は、行列 を算出するステップのコードを作成する。。 注記;標準偏差の算出に不偏分散を用いたので、スケールを合わせるため、サンプルサイズ(n)−1の平方…

Hadoop MapReduceで相関行列を計算する:ステップ3:対角化、ステップ4:逆行列の算出 (step3: making diagonal matrix from standard deviations, step4: inverse matr

前回までで、Hadoop MapReduceによって観測値の平均と標準偏差を算出した。今回のログでは、標準偏差を対角要素としてもつ行列とその逆行列を計算する。話を進めるにあたり、少しだけ式を書かなければならない。まず、対角行列とは、以下のフォーマットを満…

Hadoop MapReduceで相関行列を計算する:ステップ2:標準偏差の算出 (step2: calculating standard deviations)

今回は、前回に引き続き、第2ステップとして、変量ごとの標準偏差を計算するプログラムを実装する。以前のログでも、多変量の場合の標準偏差の計算を実装したが、以下のようにデータ形式を変更したので、過去に作成したプログラムを修正することとする。 行…

Hadoop MapReduceで相関行列を計算する:ステップ1:平均値の算出 (step1: calculating means of observation )

少し間が開いてしまったが、以前のログの続きで「相関行列」を求める一連の処理を実装する。なぜ、相関行列を求めることに固執しているか、といえば、統計学的には多変量解析の一番基本的な量であるし、また、機械学習のエリアでも登場する量であるから。今…

レコメンデーションとクラスタリングを例にして「密な行列」と「疎な行列」について説明する

ここまでのログでは、Hadoop MapReduceで「密な行列(Dense Matrix)」の行列積を計算することを考えてきた。多変量解析の多くは「密な行列」を仮定しておけば、理論的な演算に問題が生じることはない(これが、「密」にこだわってきた理由)。 ただ、機械学…

JR東日本がSuica情報を売り出したことと、Hadoop MapReduceの実力

話が脇道にそれてしまうが、2013/7/18の読売新聞の記事を見て驚いた。1面トップに「Suica履歴売り出す JR東日本」。 どんな情報を売り出したのだろうと読んでみたところ、 提供データは私鉄を含む首都圏約1800駅の利用者の性別、年齢、乗降日時。定期券とし…

Hadoop MapReduceで相関行列を計算する。Roadmap for Calculating Large Correlation Coefficient Matrix based on Dense Matrix Multiplication with Hadoop MapReduce

今回から、数回に分けて変量間の相関行列(Peason相関係数が並んだ行列) を求めていく。 注記;以前のログにも書いたが、Apache Mahoutの協調フィルタリングの実装には、Pearson相関係数によるSimilarity(類似度)計算が含まれている。このブログで示す結…

Hadoop MapReduceで行列積を計算する(ケース2)(Dense Matrix Multiplication with Hadoop MapReduce: Case2)

前回のログでは、Case1として行列積の演算プログラムを示した。 しかしながら、5000行5000列の行列同士の演算に6時間以上の時間がかかってしまい、これでは「ビッグデータ」の探索的な分析では使えないだろう。これまで、再三引用している「エコノミスト誌(…

Hadoop MapReduceで行列積を計算する(ケース1)(Dense Matrix Multiplication with Hadoop MapReduce: Case1)

前回のログで、MapReduceのパラダイムにおいて、行列積の演算がかならずしもMapReduceのパラダイムに適合したものでないことと、「行列積を求めるという行為」についてのインターネット上での評価を紹介した。今回から2回のログに分けて、2パターンの行列…

Hadoop MapReduceで行列積を計算する(Introduction to Dense Matrix Multiplication with Hadoop MapReduce)

前回までのログで、観測値(変量:m、サンプルサイズ:n)について、平均、分散、標準偏差を、mとnの両方についてスケーラブルなプログラムに落とし込むことができたように思う。今回から数回に分けて、Hadoop MapReduceのパラダイムで行列積(Dense Matrix …

Hadoop MapReduce: 平均、分散、標準偏差計算のスケーラビリティー評価(Amazon EMR)

今回のログでは、先の2回のログ(標本平均、分散・標準偏差)で作成したプログラムのスケーラビリティーを、Amazon Elastic MapReduceで評価してみたい。変量をm、サンプルサイズをnとすると、普通の統計の世界では、m 国勢調査などを考えると、家族構成や…

Hadoop MapReduceで分散と標準偏差をスケーラブルに計算する

先のログで、標本平均を求めたので、今回は(多変量の場合について)分散と標準偏差を計算するプログラムを作成し、Amazon Elastic MapReduce(EMR)で実行してみる。開発環境は、Mac OSX Mountain Lion。Hadoopのバージョンは1.1.2である。(Amazon EMRのバー…

Hadoop MapReduceで標本平均をスケーラブルに計算する

Hadoop2を使った新しい記事があります。 Amazon Elastic MapReduce : Hadoop2.4環境で標本平均を計算する(Ruby Client)。 Amazon Elastic MapReduce : Hadoop2.4環境で100万変量(10GB)の算術平均を計算する。 - 今回は、ありきたりではあるが、MapReduce…

エコノミスト誌(6/4号;使える統計学)を考察するための統計学的な量について

今回は、先のログの続きとして、エコノミスト誌の記事(6/4号;使える統計学)を統計学的に表現する前準備として、基本的な統計量を示しておく。変量と観測データは、先のログと同じに以下の表のように表現されるとする。 ここで、列は変量を表し、行はサン…

Amazon Elastic MapReduceでPigを使う。(その2;Amazon EMRでサンプルプログラムを実行する)

先のログで作成したサンプルプログラムをAmazon Elastic MapReduce(EMR)で実行する。 Job Flowの作成 elastic mapreduce ruby コマンドラインツールから、Jobフローを作成する。この際、「pigを使うよ」と宣言する。 リージョンは、これまでのサンプルと同…

Amazon Elastic MapReduceでPigを使う。(その1;Eclipseで開発環境を構築する)

PigはHadoop Map ReduceのためのDSL(Domain Specific Language)で、直感的な記述でプログラムの記述ができて、それが(プリ)コンパイラによってMapReduceベースのプログラムに変換される。Pigを記述するDSLはPig Latinと呼ばれる。 Hiveとともに有名なDSL…

エコノミスト誌(6/4号;使える統計学)を統計学的に考察する。

ここまで、長い間、Hadoop MapReduce をつかうためのシステムの準備と試行を行ってきた。一連のブログのテーマは「ビッグデータ」を軸に据えているので、これだけでは片手落ちである。 今回は、2013/6/4 号のエコノミスト誌「使える統計学」について、少し突…

AWSを使ったHadoop分散処理環境のトポロジー。EC2とEMRの比較。

ここまでの(長い)前置きで、Amazon Web Serviceを使った分散処理環境を試してみた。今回は、Hadoopの実行環境として、EC2とEMRを使ってみた結果を簡単に比較する。 EC2をつかって構築する場合 Amazon Elastic Compute Cloud(EC2)を使ってHadoopの実行環…

Amazon Elastic MapReduceを使う(その4:マスタノードにSSHで接続して、普通にhadoopをつかってみる)

2014/6/8 記事を更新しました。 Amazon Elastic MapReduceを使う:SSHでマスタノードにログインする。sftpでファイルを転送する。 今回の記事では、AmazonEMRのマスターノードにSSHで接続してみる。 結論をいってしまうと、EMRのEC2インスタンスにログインし…

Amazon Elastic MapReduceを使う(その3:コマンドラインツールでBootStrapActionを動かす)

先のログで紹介したEMR用のコマンドラインツール;Elastic MapReduce Rubyはとても使い勝手がよい。EMRの初回のログで、Managemant ConsoleからJobFlowを定義した際に、BootStrapActionを定義する箇所があった。 BootstrapActionはジョブフロー起動時(EC2イ…

Amazon Elastic MapReduceを使う(その2:コマンドラインツール)

2014/6/7 記事を更新しました。 Amazon Elastic MapReduceを使う:Rubyクライアント・ツールを使う。 - 前回は、AWS Management ConsoleからMapReduceのサンプルを実行した。参考にした「Hadoopファーストガイド」でruby製のコマンドラインツールを紹介して…

Amazon Elastic MapReduceを使う(その1)

2014/6/7 : 記事を更新しました。 Hadoop、おしさしぶり(It's long time to see, Hadoop.) Amazon Elastic MapReduceを使う:マネージメント・コンソールからのクラスタの起動 Amazon Elastic MapReduceを使う:マネージメント・コンソールからサンプルを…

MapReduce: Simplified Data Processing on Large Clusters メモ

Hadoop MapReduceが、2004年12月に行われた6th Symposium of Operating System and Implementation(San Francisco , Dec.6-8)において発表された「MapReduce: Simplified Data Processing on Large Clusters (Dean, J. and Ghemawat, S. 2004)」に触発され…

Amazon Elastic Compute Cloud(EC2)に構築したHadoop(疑似分散)で、Tweetをワードカウントする。

一口に「Twitterの記事から語句の出現頻度を取得する」といっても、前段階の準備が大変だ。ここまでのログで Hadoopの開発環境の構築 JavaプログラムによるTweetの取得 JavaプログラムとMecabによるTweetの品詞分解(語句の抽出) Amazon EC2上でのHadoopの…

Amazon Elastic Compute Cloud(EC2)にHadoop実行環境を構築する。

EC2上にHadoopをインストールする手順は、たくさん記事にされているが、備忘のためログにしておく。 「kj-kiのはてなダイアリー:疑似分散モードでHadoopインストール」を参考にさせていただいた。スケールアウトのメリットを測定することが当面の目的ではな…

Twitterから取得した「つぶやき」を品詞に分解する

前回のログで、TwitterからTweetとアカウント名称を取得した。 「エコノミスト」誌(6/4号)の特集記事のように、Tweetに含まれる語句のワードカウントをとるには、先のデータを品詞分解(形態素解析)しなければならない。ここでは、形態素解析エンジンとし…

Twitterからつぶやきを取得する。

「エコノミスト誌(6/4号;使える統計学)」で特集を組んだ「Twitterのつぶやきから景気動向指数を推定する」についてだが、第一ステップの簡単な絵を書くと、以下のようになる。 NTTデータさんが、Twitterの全データの取得権を持っている(これは、「権利を…

EclipseにHadoopの開発環境を作る。

2014/6/13 新しい記事があります。 「EclipseでHadoop2.4の開発環境を作る&ワードカウントのプログラムを作成する。」 - Hadoopを実験するにあたって、プログラムが作れる環境を構築した。 構築には、「30 分で NetBeans を使って Hadoop のプログラムを作…

エコノミスト誌「使える統計学」:ビッグデータを真面目に考える

数年前から「ビッグデータ」という言葉をよくきく。Googleの影響が大きいことことに加え、Amazon Web Service(AWS)や、GFSやMapReduceのオープンソースソフトウェア(Apache Hadoop)といった実行環境が使えるものになってきて、「Googleが実現したことを身…