データ分析がしたい

企業でデータ分析などやっています。主にRやPythonによるデータマイニング・機械学習関連の話題やその他備忘録について書いてます。

[データ分析]好景気におけるデータアナリストの価値は?

最近はアベノミクスによる金融緩和と財政出動による経済成長への期待感が強くなっていると感じます。これは誠に結構なことで、政府により需要が創設されれば現在供給過多により陥っているデフレが改善されインフレ化と共に所得増大、失業率低下、生活水準の向上と繋がるでしょう。

しかしながら、一データ分析官としては一つの不安があります。それは「データ分析・データマイニングは好景気において価値が低下するのではないか」ということです。この不安の根本には、CRMに代表されるデータを活用したマーケティングは基本的に経営が飽和状態、あるいは下降状態になった際に特に必要になるという状況があるからです。

データ分析は「売り上げが伸びない」「下がり調子だ」という状況において、「なぜ売り上げが伸びないのか」「なぜ売り上げが下がっているのか」という原因を見つけることが可能です。これは誇張ではなく、適切な論理と適切な手順を用いれば本当に可能です。さらにどうすれば現状を改善することができるのか、という問いにも答えることが可能です。
(私見ですが、データ分析の面白さはここにあると思っています。予測精度を1%上げることや売上に直結しない高度な分析手法の利用にあまり価値を感じていません。)

一方、物を作れば作るだけ売れるような順調な状態であるならば、特に売上状況を分析しようなんてことは基本的に考えません。コストをかけて分析して買いそうな顧客を見つけなくても、営業をたくさん雇って売りまくれば良いわけです。わざわざ統計なり機械学習なりのスキルを持つ高単価な分析官は必要ありません。

もちろん正しくデータ分析の必要性を認識している一部の企業は今後も分析官を採用しまくるでしょう。それはもう大量に。しかし多くの「普通の」企業においては、分析官より営業を採用することが想定されます。

そんな社会になった場合、私たち分析官が取り得る戦略はいくつか存在します。
この辺りの考えについてはまた別の機会にしようかと思います。

取りあえず何が言いたかったかというと、ビッグデータバブルのためにデータ分析やデータサイエンティスト(今世紀のセクシエスト職業だってさ)が持てはやされていますが、社会情勢によっては想定していたほどポジティブな結果にならないことも想定されます。
そのため分析官としての戦略は考えておいた方が良いだろうという話です。

[データ分析]分析・プログラミング環境について

分析・プログラミング環境は生産性に直結する重要なファクターだと思いますが、結構人によって差があるかなー、と思ってます。
せっかくなので、私の分析環境とダウンロード先などについて書こうかかなと思います。

続きを読む

[R]DBから日本語データを読み込んだ際の文字コードの変更

Rにおいて、「DBI」と「RPostgreSQL」を使ってデータを読み込む方法を以前紹介しました。
 http://overlap.hatenablog.jp/entry/2013/05/16/224030

上記の方法は基本的に問題はないのですが、日本語データを読み込む時に文字化けするという問題があります。
(ファイルから読み込む場合は読み込み時に文字コードを指定ますが、DBIパッケージでDBからデータを取得する際に文字コードは指定できないと思われるので。)

この問題は、データをR上に読み込んだ後に文字コードを変更することで解決できます。
以下、具体的な方法について述べます。

続きを読む

[Python]pygameによるアニメーション

今日はpygameでいくつか試しにコード書いたりしてました。
pygameのサンプルコードは以下のサイトを参考に書きましたが、質・量ともに多く動画などもあり非常にわかりやすくて良かったです。
 http://programarcadegames.com/index.php?chapter=example_code

続きを読む

[Python]UnicodeEncodeErrorの対処

Pythonで日本語を利用しているとき、unicode文字列をstr関数に渡すとUnicodeEncodeErrorが起きます。
例えば以下のコードを実行すると次のようなエラーが出てきます。

コード
#!/usr/bin/python
# -*- coding: utf-8 -*-

test = u"テスト"
print str(test)
エラー
Traceback (most recent call last):
  File "pygame_base_template.py", line 5, in <module>
    print str(test)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
続きを読む

[R]RからPostgresql DBへの接続

私はデータマイニングの仕事なんぞさせて頂いてる関係で、DBに保存してある情報をRで分析することが頻繁に生じます。

Rで分析を行う際、元データをRに取り込む最も簡単な方法はcsvなどのテキストから読み込む方法です。
しかし、元データテーブルがDB上にある場合、最新のテーブル情報を直接利用したい、SQLで整形した結果を取り込みたいといった状況では、DBから直接Rにデータ読み込めた方が便利です。

続きを読む