隠れマルコフモデルと潜在変数の話

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「隠れマルコフモデルと潜在変数の話

カテゴリー: 分析手法 | 隠れマルコフモデルと潜在変数の話 はコメントを受け付けていません。

神経科学からマーケティングへ…違いと意外な類似

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「神経科学からマーケティングへ…違いと意外な類似

カテゴリー: 未分類 | 神経科学からマーケティングへ…違いと意外な類似 はコメントを受け付けていません。

対応分析の結果の解釈について

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「対応分析の結果の解釈について

カテゴリー: 分析手法 | 対応分析の結果の解釈について はコメントを受け付けていません。

A→Bなのか、B→Aなのかをデータから見抜くことはできるだろうか?(LiNGAMのシミュレーションをしてみた)

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「A→Bなのか、B→Aなのかをデータから見抜くことはできるだろうか?(LiNGAMのシミュレーションをしてみた)

カテゴリー: 分析手法 | A→Bなのか、B→Aなのかをデータから見抜くことはできるだろうか?(LiNGAMのシミュレーションをしてみた) はコメントを受け付けていません。

高次元データの可視化の手法をSwiss rollを例に見てみよう

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「高次元データの可視化の手法をSwiss rollを例に見てみよう

カテゴリー: 分析手法 | 高次元データの可視化の手法をSwiss rollを例に見てみよう はコメントを受け付けていません。

Deep Learningの性能を見てみよう ~Iris編~

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「Deep Learningの性能を見てみよう ~Iris編~

カテゴリー: 分析手法 | Deep Learningの性能を見てみよう ~Iris編~ はコメントを受け付けていません。

状態空間モデルによる広告効果分析

この記事は移行しました。以下リンクよりご覧ください。
 ↓
株式会社ALBERT公式ブログ「状態空間モデルによる広告効果分析

カテゴリー: 分析手法, 分析現場 | 状態空間モデルによる広告効果分析 はコメントを受け付けていません。

ビジネス活用事例で学ぶデータサイエンス入門を献本いただきました

みなさん、お久しぶりです。データ分析部の伊藤です。
ブログの更新が長く滞っている間に、世間では色々な変化がありました。
私は目下ブラジルW杯に熱狂する毎日です。

そんな中、去る6/25にデータ分析の現場において、注目の書が発売されました。
僭越ながら、著者より献本をいただきましたので、内容を紹介させてください。

DS

以下、書籍ページより引用。

現在、ビッグデータには大きな注目が集まっています。
可能性を秘めたビックデータを実際のビジネスで役立てるには

★データと現実の問題をしっかり結びつけて解釈する
★データを多様な分析実務で使えるように保存する
★データを分析手法にあわせて加工する
★目的にあった適切な分析手法を選択・実行する

などのトータルなスキルが必要となります。

本書は、データ分析業務を行なっている著者が実際に現場で育ててきた、
意味のある結果を導くデータサイエンスのノウハウを
8つのケーススタディを通して解説しています。

各ケースのサンプルデータ、スクリプトは
弊社Webサイトからダウンロードすることができますので、
ご自身のPCを使ってリアルな分析を追体験できます。

データサイエンスとはどういうものかを知りたい人、
プロのデータサイエンティストのスキルを身につけたい人、
データ分析に関わるすべての人にとって、最良の1冊です。


実際に書籍をめくってみると、データ分析の現場でありそうなストーリーで構成されており、その際にどのような分析を行うのかを丁寧に解説された内容となっています。

実際のデータとRのコードも書籍の紹介ページからダウンロードできるようになっており、まさにリアルな分析の追体験が可能です。

なかなかこういったノウハウを外に出すことは珍しく、今回の書籍が出版されたことにより、同様の企画で多くの分析者にとってよい学びの機会が得られることを願うばかりです。

ぜひ書店でお手に取ってみてください。

カテゴリー: 未分類 | ビジネス活用事例で学ぶデータサイエンス入門を献本いただきました はコメントを受け付けていません。

はじめてのUNIXコマンド②

こんにちは。データ分析部の GO です。
前回から間が空いてしまいましたが、『はじめての UNIX コマンド』シリーズの第2回目です。今回は具体的なコマンドの前に基礎の基礎についてふれておきたいと思います。


unix02_title01.png

まず、Windows 環境で UNIX コマンドを使うには Cygwin を起動します。起動すると以下のようなウィンドウが開きます。



前回お話ししたように UNIX では基本的にすべての操作をコマンド入力で行います。 Cygwin を起動した状態では、インストール時に設定したホームディレクトリが現在位置(カレントディレクトリ)になりますが、ウィンドウには何も表示されていないので普段 Windows に慣れている方はちょっと理解に苦しむかもしれません 。

上図のなかで



と言う表示がありますが、これは次のような意味があります。



ディレクトリを移動した場合、黄色の文字の部分が変化します。


unix02_title02.png

では、まずディレクトリを移動してみましょう。くどいようですが、ディレクトリの移動ひとつとってもコマンド入力で行います。ディレクトリの移動には cd コマンドを用います。cd は「Change Directory」に由来します。

たとえば、D ドライブ直下の sample フォルダに移動する場合は次のようなコマンドになります。



上記のようにドライブから指定して移動する際には「/cygdrive/」から始めますが、カレントディレクトリより下の階層に移動する場合には省略可能です。たとえば、sample ディレクトリの直下の test ディレクトリが存在する場合の移動コマンドは



となります。

また、移動先のディレクトリ名はすべてタイプする必要はありません。先ほどの test ディレクトリに移動するケースを例にしてみると、「t」のみ入力して Tab キーを押すと、移動先ディレクトリ名称が自動で表示されます。




以下のように小文字「t」から始まるディレクトリが複数ある場合には、



Tab キーを使うと以下のように移動先ディレクトリの候補が表示されます。



さらに、コマンド入力しなくても移動先を入力することが出来ます。
「cd 」まで入力し、その後は移動したいディレクトリをドラッグして Cygwin ウィンドウにドロップすることで対応が可能です。



この方法は長いディレクトリパスを打つ必要がなくなるのでオススメです。基本である移動コマンドを覚えたので、次はディレクトリの内容を確認するコマンドを習得しましょう。


unix02_title03.png

ディレクトリ内のディレクトリ・ファイルを表示するには ls コマンドを用います。ls は「list」に由来しています。

先ほど作成した test ディレクトリに適当なテキストファイルを格納して、Cygwin のウィンドウに ls を入力して Enter キーを押してみましょう。



test ディレクトリの中には data.txt ファイルがあるということを返してくれます。このように ls コマンドでディレクトリ内の様子をうかがうことが出来ます。

ls の後ろに引数としてディレクトリパスを付加すると、関連とディレクトリでなくても特定のディレクトリの内容を一覧することが出来ます。



上記はカレントディレクトリが【D:¥sample¥test】の状態で一階層上の【D:¥sample】内の内容を表示しています。

さらに、コマンドの多くにはオプションが存在しており、ケースバイケースでこれらを使いこなせると非常に便利です。

たとえば、-l オプションを用いると、



このようにディレクトリやファイルのサイズや所有者、アクセス権限などの詳細情報の確認が出来ます。



そのほかにも ls コマンドのオプションで比較的よく使うものには以下のようなものがあります。



cd コマンドと並んで ls コマンドも UNIX における最も基本的なコマンドのひとつだと言えます。上表のようにオプションがたくさん存在するので、初めての方は敷居が高いと感じるかもしれません。初めから全部を覚えようとすると難しく感じますが、まずは UNIX コマンドを使う上で必要最低限の内容だけ使って覚えるようにしていくと、習得しやすいと思います。



unix02_title04.png

基本コマンドの cd と ls コマンドについて書きましたが、基本操作には影響しないけれど知っておくと結構便利な cal コマンドをおまけ的にご紹介します。

cal コマンドはカレンダーを表示するコマンドです(コマンドの由来は多分 Calendar かと思われます)。集計業務を過去さかのぼって行うことがあるのですが、その際にある日が何曜日だったか、何週目だったかなどを調べなければならないことがあります。そんな時、Windows ユーザーならば画面右下の時間表示部分をクリックして調べたり、Web上で調べたりすることが多いと思いますが、UNIX コマンドが使えれば一発で調べられるのです。

(※ cal コマンドを利用するには Cygwin インストール時に util-linux パッケージをあわせてインストールしておく必要があります)

cal コマンドを実行すると



このように、現在月のカレンダーを表示してくれます。

引数は「月」「年」の順に指定することが出来、例えば2014年1月を調べたい際には



とすると、希望の月のカレンダーが表示されます。

-y オプションを付加すると、その年のカレンダーをすべて表示することが出来ます。



分析のためのデータ加工・集計には直接役立つものではないですが、このようなちょっとした便利コマンドを覚えて使えるだけでも、UNIX コマンドに慣れ親しむきっかけになるのではないかと思います。

次回は、もう少しデータ加工・集計に直接的に使えるコマンドを紹介したいと思います。

カテゴリー: データ加工 | はじめてのUNIXコマンド② はコメントを受け付けていません。

はじめてのUNIXコマンド①

データ分析部のGOです。今回から数回に分けて『初心者向けの UNIX コマンド』について書こうと思います。初回は UNIX コマンドを使っていくために知っておきたい基礎的内容についてです。

UNIX コマンドを使うためには環境を設定してコマンドを覚えねばならないハードルはありますが、少し使えるようになるだけでアナリストやエンジニアでなくても仕事において活用できる機会はかなりあり、とにかく便利なので知っておいて損はない!と思います。

一昨年の後半くらいから「GOさん、UNIX コマンドものすごく便利ですよ!絶対使った方がいい」というお話を社内や知り合いの複数エンジニアの方からよくされるようになりました。そして、昨夏携わった案件で分析に1年分のアクセスログを用いることになり、当初は SQL で何とかしようと考えていたのですが、データサイズは 50GB 近くあり、レコード数も億単位だったため、データのインポートが二晩かかっても終わらないような状況に追い込まれ、それをきっかけにようやく UNIX コマンドに手を伸ばした次第です。


unix01_title01
UNIX は、コンピュータ用のオペレーティングシステム(OS)の一種です。パソコンの OS としては Microsoft 社の Windows が有名ですが、大規模処理を行う計算機やサーバーの OS としては UNIX の採用が圧倒的に多いそうです。ちなみに、アップル社が開発・販売している Mac OS X も UNIX ベースの OS ですし、ブルーレイレコーダーなど家庭用のデジタル機器も一部のものは UNIX ベースで開発されていると聞いたことがあります。私たちが気づいていないだけで、「世の中は UNIX であふれている」といえるかもしれません。


unix01_title02.jpg
私たちが一般的にコンピュータを直接操作する方法としては、「GUI」と「CUI」の2種類があります。

* GUI (グラフィカル・ユーザーインターフェース)
   グラフィック画面をマウスで直感的に操作する UI

* CUI (コマンド・ユーザーインターフェース)
   コマンド(命令)をキーボードから打ち込むことで操作する UI


Windows や Mac など、私たちが普段「パソコン」と認識しているもののほとんどで GUI が採用されています。デスクトップ画面があってフォルダアイコンをダブルクリックすればウィンドウが開いてフォルダの中身が表示されますよね。あれが GUI です。

※GUIのイメージ
GUIのイメージ

それに対して CUI は、GUI で行った動作をマウスでなくすべてキーボードから文字を打ち込み命令する形で動作させます。エンジニアやプログラマが黒いウィンドウにカタカタ文字を打ち込んでいるシーンを見かけたことはないでしょうか。あのようなイメージです。マウスは一切使わず、デスクトップ画面もない。デスクトップ画面に移動するにも文字で命令を発して移動するのが CUI であり、UNIX は基本的に CUI で操作します。

※CUIのイメージ
CUIのイメージ

CUI は GUI に比べて操作が直感性にかけるので一般的なパソコンに慣れている方には非常にとっつきにくいと思いますが、GUI のようにデザインされた UI ではないため自由度は高いといえます。そのため複雑な処理を柔軟に表現することができ、自動化もしやすいというメリットがあることがサーバーや大規模計算機などで CUI ベースである UNIX がよく採用されている理由の1つだといえるでしょう。

ただ、CUI を使いこなすにはいくつかのコマンドを習得する必要があります。初心者にはこれがハードルです。


unix01_title03.jpg
UNIX の開発は1969年から開始され、ブラッシュアップを重ねて1973年頃には他のハードウェアへの移植性が向上したという歴史があります。つまり、40年以上前からあるわけですが、ビッグデータ時代の到来により膨大な量のデータを分析するのに効率的に捌くため、ここ最近その利便性が一部で再評価されているようです。

再評価の理由の1つとしては「とにかくテキスト処理が速い」という点が挙げられます。GUI のツールは「画面に表示して操作する」ため、パソコンのリソースをテキストと描画それぞれの処理に使うことになりますが、CUI の UNIX コマンドでは描画処理が無いため、単純なテキスト処理をするのであれば非常に効率が良いといえます。また、テキストを直接読むので SQL などに比べてテーブル設計・構築やインポートの手間がないというメリットもあります。


unix01_title04.jpg
私は普段の業務では Windows を使用しているので Windows ベースで話を進めますが、前述のとおり、Windows も UNIX もそれぞれ別の OS であり、そのままの状態では Windows で UNIX コマンド使用することは出来ません。わかりやすく言うと、日本とアメリカは当然国家が違い、その中で使用される言語も違うので相手の言語に合わせなければ話が通じないのと同じことです。

そこで Windows と UNIX の通訳となるのが「Cygwin」というツールです。Cygwin をインストールすることで Windows 上でも UNIX コマンドを利用することができるようになります。Cygwin のインストールについては、紹介しているサイトがたくさんあるのでそちらを参考にしてみてください。

このツールを導入して少しコマンドを習得すれば、Excel や Access をいちいち起動しなくても、SQL でデータベースやテーブルを構築しなくても簡単な集計ができたり、複数行・列あるデータから目的の行・列データだけを抽出して加工し、分析に用いたりすることが出来ます。

次回以降、コマンドの紹介と具体的な使い方について書いていきます。

カテゴリー: データ加工 | はじめてのUNIXコマンド① はコメントを受け付けていません。