2012年03月26日

成果報告会の結果

データ解析コンペティションの成果報告会に行ってきました。

平成23年度データ解析コンペティション成果報告会http://www.isc.senshu-u.ac.jp/~thc0640/dac23.html

結果ですが、
【課題設定部門】は、GDO賞(1位)。
【一般部門】は、優秀賞(2位)。
でした。





完全優勝できなかったのは残念ですが、やりきった感はあります。

また、どのチームの発表も素晴らしく、課題部門、フリー部門のどちらもどのチームが優勝してもおかしくない内容だったと思います。

データコンペの出場は、いったん、今年で打ち切り。

完全に引退ってわけではなく、おもしろい&興味があるデータがある時は出ますし、今年は、国内の大会ではなく、海外の大会に出てみようかと考えています。

また、出場はしませんが、発表内容を聴きに会場には行く予定なので、引き続きよろしくお願いします。

2012年03月21日

平成23年度データ解析コンペティション成果報告会

「平成23年度データ解析コンペティション成果報告会」が3月26日(月)13:00〜NTTデータ豊洲センタービルで行います。

今年は、【課題設定部門】と【フリー一般部門】の二部門で発表です。
昨日が印刷用の原稿の〆切りだったのですが、無事に提出が完了。

フリー編、課題編とも、先日発表した「日本OR学会・DB学会 データ解析コンペティション」を大幅にバージョンアップしたものになっています。

お時間のある方は聞きに来てください。

平成23年度データ解析コンペティション成果報告会
http://www.isc.senshu-u.ac.jp/~thc0640/dac23.html

2012年03月03日

春のいずみ、フリー編

データ解析、コンペのフリー編の発表がありました。
課題編に引き続き、1位(殊勲賞)を頂きました。

ダブル受賞できるとは思っていなかったので、正直、驚きです。

他のチームの発表を見ていて感じたことは、、、
こういうアクセスログの分析って、リコメンドとか購買予測って話が多かったです。
多かったというか、うちのチーム以外、みんなそうでした。(^^;

ただ、ECサイトのリコメンドとかって、安価に提供している会社も多いですし、あえて内製でエンジンを作る管理費やコスト、そして、乗り換えためのスイッチングコストを考えると、ちょっと現実的ではない気がします。

もちろん、メルマガリコメンドをやったとして、多少のアクションを生み出すことは可能でしょう。
しかし、多くのアクションを生んでいるところ、かつ、制御可能な施策を考えると、集客部分の分析にフォーカスをした方がいいことは自然な発想かと思いました。

分析を始める前に、どこに目を付けるのかという全体俯瞰(森の部分)があり、さらに詳細の分析に入っていく(木の部分)というのが大切で、森を見たり、木を見たり、そして、また、森に戻ったりというステップが大切だと思います。

話を戻し、発表の後、その場にいた学生さんや教員の人と飲みに行きました。
みんなとても優勝な人で良い刺激になりました。

大学の周りって安く飲めるお店が多くて良いですね。

2012年02月25日

春のいずみ+

データ解析コンペ、OR学会、DB学会最終発表、課題部門で優勝しました!(・∀・)

20120225_img01.jpg

チーム名は、"春のいずみ+"
20120225_img02.jpg

うちの息子「春飛(はるひ)」と西郷さんの娘「いずみ」を足したチーム名です。

-----
とりあえず、優勝できたことは、素直に嬉しいです。

ただ、どこのチームも僅差だったと思うので、また、別のデータでやったら、順位は変わっていたのかなぁと思います。

こだわったポイントは、バランス力です。
こういうのって、何かのモデルをとことん突き詰めていくってのもありかと思います。

一方で、精度を上げるためには、どのモデルを使うか、そして、パラメータをどうチューニングするかってことも大切ですし、変数をどのように作りこむかも大切。

また、いくつかのチームが高すぎる精度を出していましたが、オーバーフィットの問題。
つまり、頑健性や安定性の担保も必要です。

さらに、今回は、単純な精度ではなく、カテゴリの正解率に重みをかけるという、配点方式なので、精度 ≠ 総得点となっています。
どういう戦略で得点を上げていくのかも考えなければなりません。

正直、会社の分析が激忙しい中、限られた時間で最高のアウトプットを出すには?にこだわり、上記の項目にバランスよく取り組めたのが良かったのかなぁと思っています。

最後は、いかにデータと真摯に会話できたかに尽きる部分もあります。

どこに着目したら、点数が少しでも上がるのか?ってことを分析して出てきた結果をみて、色々と考えていった積み重ねが、他のチームよりもホンの少しだけ点数が高かったのではないでしょうか。

来週は、フリー部門があります。
ほとんど手をつけていませんが、、、(笑
残り1週間がんばります!

2012年02月21日

データ解析コンペ、課題部門の最終発表

データ解析コンペ、課題部門の最終発表が、2月25日(土)にあります。
最終解答は送ったので、後はパワーポイントを作るだけです。

さて、審査基準が発表になりました。

優勝は、"最もスコアが高い結果を出したチーム"とのことですが、
2位と3位は、"スコアを重視しつつ、他の要素も考慮する"でした。

ちょっと残念が気がします。。。

フリー部門もあるので、他の要素(新規性、信頼性、適用可能性、発表の良さなど)などは、そちらに任せて、純粋に精度だけで判断をした方がわざわざ課題部門を作った意味がない気がします。

純粋に精度の高さで勝負する。
それが課題部門らしい気がするのですが。。。

2012年02月14日

データ解析コンペ、課題編の〆切

データ解析コンペの課題編の〆切が近づいてきた。

モデルの精度も重要なのだが、今回は、RFMのFとMのカテゴリによって配点が異なるということだ。



これをどのようにモデルに反映していくかも、意外と得点に影響が出てくる。

つまり、今回は、『高い精度のモデル ≠ 高い得点』となっている。

具体的に、どのような戦術/戦略を元にしたモデリング作りを行ったかは、2月25日の発表で。

2012年02月10日

IBM SPSS Modelerのコメント記法

IBM SPSS Modeler(旧 クレメンタイン)のコメント記法

別タブの中にコメントが書けるのだが、CLEM式の中にもコメントを書くことが出来ます。
これがあると、CLEM式が複雑になっても、何をやっているのかコメントできます。

(例)偶数と奇数を判別するCLEM式

if index rem 2 = 1 then "奇数"

elseif index rem 2 = 0 then "偶数"

else "不明" endif



コメントを書くまでもないけど。(^^;

◆ 1行コメント → # で書きます。

# 奇数かどうか

if index rem 2 = 1 then "奇数"

 

# 偶数かどうか

elseif index rem 2 = 0 then "偶数"

 

# その他

else "不明" endif



◆ 行頭からの複数行コメント → /* 〜 */ で囲みます。

/*

 改行コメント

  改行コメント

   改行コメント

*/

if index rem 2 = 1 then "奇数"

elseif index rem 2 = 0 then "偶数"

else "不明" endif



※ C言語などでおなじみの // によるコメントは使えません。

2011年12月12日

平均値の欠点

年末になると、年末調整とか冬のボーナスとかが気になりますね。
今日のニュースで、国家公務員のボーナスが4.1%増だったとか。

統計局のホームページから、年収や貯蓄の分布がダウンロードできます。
これによると、
年間収入の平均は、616万円
貯蓄の平均は、1,657万円
です。

どうでしょうか?
え?そんなに貯蓄しているんだっけ?って思う人も多いはずです。

「平均」という言葉は便利な反面、落とし穴的な欠点もあります。
ポイントは分布で、分布ってどうなっているんだっけ?ということを意識しておかないと、平均値の罠にひっかかります。

平均の利点
・ 計算が簡単
・ 平均を足したり、引いたりできる
・ どんな分布だろうと標本平均の分布は正規分布に近づく(中心極限定理)

平均の欠点
・極端に大きな値や小さな値の影響を受けてしまう

「平均 ≠ ちょうど真ん中の人」です。
⇒ 分布が正規分布していない場合は、中央値(中位値)を使うのが良い。

今回の年収やら貯蓄ってのは、左右対称の正規分布になっていません。
分布の山は左側に寄っているので、○○の平均はって言葉に騙されてしまいます。

データは、下記からダウンロードできます。
◆ 統計局ホームページ/家計調査年報(貯蓄・負債編)
http://www.stat.go.jp/data/sav/np.htm

※ 2011年8月26日発表のデータです。


社会生活統計指標―都道府県の指標〈2011〉

社会生活統計指標―都道府県の指標〈2011〉

  • 作者:
  • 出版社/メーカー: 日本統計協会
  • 発売日: 2011/02
  • メディア: −


2011年12月07日

近代統計科学の創始者、カール・ピアソン

カール・ピアソン(Karl Pearson)について調べた。
近代統計科学の創始者と言われているだけあって、業績は数多くあるが、主なものとしては、次のようなもの。

◆ 線形回帰、相関とピアソンの積率相関係数
ゴルトンの相関概念を一般化し、重相関係数や偏相関係数という概念を作った。

◆ 標準偏差
標準偏差、最頻値(モード)の概念を創案した。
ちなみに、中央値(メジアン)、四分位数は、ゴルトンの創案。

◆ 確率分布関数の分類
以後の統計学理論の基礎となり、特に指数型分布族は一般化線形モデル理論の基本となっている。

◆ χ2(カイ2乗)分布の再発見
ピアソンのカイ二乗検定:カイ二乗検定のうち最も基本的なものである。

◆ ヒストグラムという語を創案した。


また、人材育成にも力を入れており、全世界から研究者が集まった。
彼の著書『科学の文法』に影響を受けた人が多く、アルベルト・アインシュタインもこれを読んだそうな。

日本人では、夏目漱石、寺田寅彦が影響を受けた。
夏目漱石は、留学時代に実際にピアソンの講義を聴いたとか!

夏目漱石は、1867年2月9日 - 1916年12月9日
ピアソンは、1857年3月27日 - 1936年4月27日
と同じ時代を生きたんですね。

『科学の文法』The Grammar of Science Karl Pearson(1892年)
Amazonで売られていた!

The Grammar of Science

The Grammar of Science

  • 作者: Karl Pearson
  • 出版社/メーカー: Cosimo Classics
  • 発売日: 2007/03/31
  • メディア: ペーパーバック


2011年12月03日

アトリビューション分析の向かう先

ひょんなことから、西郷さんの師匠である先生に会いに行きました。
そこで、アトリビューション分析について話す機会があったのですが、
なかなか良い議論ができた気がします。

そして、その中でぼんやりと次の発展系が見えてきました。

まだ、頭の中にもわもわっとしたアイデアレベルなのですが、今年中にアイデアを形にできればと思います。

その後は、筑波大学大学院の近所にある居酒屋に行きました。

スモーク系が美味しいお店です。
【茗荷谷駅】いぶしや
http://r.tabelog.com/tokyo/A1323/A132302/13052505/

金曜日だけど、あんまり混んでいなかった。。。w
学生が多いからでしょうかね。

2011年11月18日

数理システム ユーザーコンファレンス 2011

今日は、夕方から社内に戻る必要があったので、午前と午後の講演を少し聴いて社内に戻りました。
午前は、朝野熙彦(ひろひこ)先生による「マーケティング実務家にとってのデータ解析」という内容でした。

当時、安価なパソコンも素敵な統計解析のツールもない時代にフォートランを使ってシステムを書かれていたとか。

なかなか聴けない貴重な講演を聴くことができました。

講演の中で朝野先生おススメの統計の本が紹介されてました。
統計を学習するにあたり、避けては通れない大切な部分を丁寧に解りやすく紹介しているとのことでした。

これからはじめる統計学

これからはじめる統計学

  • 作者: 蓑谷 千凰彦
  • 出版社/メーカー: 東京図書
  • 発売日: 2009/10/08
  • メディア: 単行本




統計学入門

統計学入門

  • 作者: 蓑谷 千凰彦
  • 出版社/メーカー: 東京図書
  • 発売日: 2004/12
  • メディア: 単行本




朝野先生自信も新しい本を書いたとか。
後で買っておこうっと♪

アンケート調査入門

アンケート調査入門

  • 作者: 朝野熙彦
  • 出版社/メーカー: 東京図書
  • 発売日: 2011/10/08
  • メディア: 単行本(ソフトカバー)




最新マーケティング・サイエンスの基礎 (KS社会科学専門書)

最新マーケティング・サイエンスの基礎 (KS社会科学専門書)

  • 作者: 朝野 煕彦
  • 出版社/メーカー: 講談社
  • 発売日: 2010/12/07
  • メディア: 単行本(ソフトカバー)


2011年11月10日

BAF 2011 2日目

Business Analytics Forum 2日目 に行ってきました。
2日目の方がSPSSらしいセミナーで良かったですw

以下、ざっと感想を。

【2S-1】
IT進歩が支える新しい産学協同の取り組み
―きき耳パネルはこうして作られた!―

清水先生の講演は、いつ聞いても面白いですね。
聞き耳パネルを利用するには、マイボイスコムを使うとできるらしい。

【2S-3】
IBM SPSS Modeler TIPsよたび!ユーザーの皆様必見!
―裏ワザ的便利機能を濃縮還元―

西牧さんの発表。
今回で4回目になるんですね。
いつも、楽しみにしています。

今回の発表が素晴らしすぎたので、次回の発表の期待値が上がりまくりです。

2011年11月09日

BAF 2011 1日目 分析する目的

BAF 2011 1日目 分析する目的

IBM主催のBusiness Analytics Forum Japan 2011がありました。

西牧さんの講演は話が上手く、とてもおもしろ講演でした。
二日目も講演するみたいなので、とても楽しみにしています。

さて、講演の中で

顧客分析の目的は何だろうか

私たちは(我が社は)、
   ?   

目的として顧客分析をしています!

この中に入る言葉は?と問われたとき、自分だったこう答えるだろう。

【花嫁ひとりひとりのHappy】
だと。

まぁ、サイトの特性からして↑が当然といえば当然なんでしょうけど。

この【 ? 】に入る言葉って、一般のメンバーだと割りと具体的なコトを書くと思う。
それは、日々の売り上げに関連したキーワードになるだろう。

ただ、ジョブスといった経営層になればなるほど、割と遠くの理想、夢、想いといった言葉に変わっていくし、変わっていくべきだと思う。

そして、ジョブスたちは、夢(ここではVisionという意味)だけを語るのかといえば、そうではなく、
話す人に対して言葉をきちんと選んでいる。
当然売り上げに関連したキーワードを語るときは語っている。

ビジョンだけでもダメだし、売り上げといった現実の数字だけでもダメで、そのバランスが大切だ。
ただ、経営層だけでなく、最下層にいるメンバー自信も一度、自分の目線を上げて、日本のため/世界のためといったVisonを考えることが大切だと思う。

2011年10月20日

GDO(ゴルフダイジェストオンライン)のデータ分析

GDO(ゴルフダイジェストオンライン)のデータ分析

今年のデータ解析コンペは、ゴルフダイジェストオンラインのデータ。
例年は、データだけ与えられて、自分でテーマを設定し分析をする。

今年は、通常の自分で課題を設定するフリー部門と課題部門の2つがある。
課題部門のテーマは、RFMのFとMを予測し、その精度を競うらしい。

なんだか、どっちも面白そうってことで、今年は両方の部門を申し込んで見た。

来月、課題/フリーの両部門の中間発表があるのだが、そろそろ分析をはじめなきゃ。
まずは、課題部門でFM予測をしてみるか。。。

2011年10月18日

今日は、統計の日

今日、10月18日は、統計の日らしい。

そんな日があったこと自体に驚きだが、その由来は、明治3年9月24日(グレゴリオ暦1870年10月18日)にさかのぼる。
当時、日本で初めての近代的生産統計である府県物産表に関する太政官布告が公布されたことが由来となっており、後に1973年(昭和48年)7月3日の閣議了解によって10月18日に制定された。

その統計の日にちなんで、IBM SPSS 統計フォーラムがあったので行ってきた。
通常のSPSSのセミナーとは違った雰囲気だった。

たまには、こんな雰囲気のセミナーも良いものだ。

個人的には、成蹊大学の岩崎先生の話が面白かった。
大学の先生の話って、硬い難しい話になりがちだが、今日の講演は分かりやすかった。
講演内容は、教育や統計の必要性などの統計事情を日本の事例やアメリカの事例を織り交ぜながら講演されていた。

著書も数多く出版されているので、何冊か買ってみたいと思う。


統計的データ解析入門 単回帰分析

統計的データ解析入門 単回帰分析

  • 作者: 岩崎 学
  • 出版社/メーカー: 東京図書
  • 発売日: 2006/07
  • メディア: 単行本




カウントデータの統計解析 (統計ライブラリー)

カウントデータの統計解析 (統計ライブラリー)

  • 作者: 岩崎 学
  • 出版社/メーカー: 朝倉書店
  • 発売日: 2010/07
  • メディア: 単行本


2011年07月23日

データ解析コンペの成果報告会と発会式

今日は、データ解析コンペの成果報告会と発会式が同時に行われました。
通常、成果報告会は、3月くらいに行われますが、地震の影響でこの季節となりました。

さて、今年度のデータは、ゴルフダイジェストオンラインさんのデータとなっています。
ゴルフはまったくやらないので、ちゃんと分析できるだろうか…w

また、いつもと違う企画として、フリーの分析に加えて課題の分析があるみたいだ。
課題というのは、RFMのFとMを予測してその精度を競うというもの。
なんだかおもしろそう!

ということで、今年もエントリーすることになりそうです。

2011年06月29日

記事リコメンドの導入から結果の振り返りまで

久々に分背の話。

フィジビリでやっていた記事リコメンドがなかなか良さげだったので、本格的に他のグループにも流用してみた。

アルゴリズムの手法は、amazonとかその他のサイトでもおなじみのアソシエーションルール。
アソシエーションルールが良いのか、協調フィルタリングが良いのかとかって細かいことは特に気にしていない。

今回の実装で注意したことは、
1. 一度、実装して終了ではなく、都度効果チェックを行う。
 ⇒ 効果の悪いところ(想定したものより悪いところ)は、すぐに差し替える。

2. 異常値を発見して、原因を振り返る。

3. 単に ○○を見た人は△△を見たというルールではなく、ジャンルに注意する。

4. 流動したいコンテンツもコッソリ入れておく。

あらかじめ、1.〜4.を念頭において、レコメンド実装段階で平行して効果検証用のプログラムを作っておくとスピーディに効果分析ができる。

さて、他記事にもレコメンドが実装されたわけだが、効果をみるとかなりgood。
フィジビリで想定したもの以上の効果だったのが嬉しい。

とはいえ、一時点の結果に一喜一憂するのではなく、導入が終了ではなく、導入がスタートとなるように分析を続けて行きたいものだ。

2011年05月31日

半角カナと全角カナの結合 〜成功編〜

半角カナと全角カナの結合 〜成功編〜

ファイル1とファイル2を結合して、次の様なテーブルを作りたい。

ファイル1とファイル2

結合されたテーブル

【step1】
文字列をキーにして結合をすると、失敗する!
そこで、indexを付与してあげれば良いのだが、どちらのファイルに属するかを判断したいので、片方のindexは、もう片方よりも大きなindexをつけてあげる。
レコード結合
レコード結合
後のステップで、キーとキーの結合ではなく、indexとindexの結合をするようなストリームを作成すればよい。

【step2】
結合ノードは、全角と半角がグチャグチャになってしまうけど、集計ノードはきちんと集計されるようだ。
レコード集計
そこで、いったんレコード結合ではなく、レコード追加を実行した後に集計を行う。

レコード集計の中身は、こんな感じ。↓
レコード集計
この時に最小と最大にチェックをしておくこと。

レコード集計
そして、index_Minとindex_Maxで異常値は、-1と補正しておけばよい。

ここまでで作成されたテーブルを確認すると

となっている。

【step3】
ここまでできれば、後は、【step1】で作成したindex同士を結合すれば、OK!

結合する際、内部結合ではなく、部分外部結合で結合する必要がある。

主となるファイルを間違えないように結合すれば、終了。

結果は、想定した通りの
結合されたテーブル
というファイルが出てくる。

関連ブログ: 半角カナと全角カナの結合 〜失敗編〜
http://skellington.blog.so-net.ne.jp/2011-05-30

2011年05月30日

半角カナと全角カナの結合 〜失敗編〜

半角カナと全角カナの結合 〜失敗編〜

ファイル1とファイル2を結合して、次の様なテーブルを作りたい。

ファイル1

ファイル2

間違い探しのようになるが、
【ファイル1】
key レコード1
ゼクシィ 1
ゼクシィ 2
ゼクシィ 3

【ファイル2】
key レコード2
ゼクシィ 11
ゼクシィ 13
ゼクシイ 14

【結合されたテーブル】
key レコード1 レコード2
ゼクシィ 1 11
ゼクシィ 2 null
ゼクシィ 3 13
ゼクシイ null 14

となっている。

まずは、"Microsoft Office Access 2007"で結合させるとどんな結果になるか。

Microsoft Office Access 2007での結合結果

このように半角とか全角とか混同されて結合されてしまっている。
このあたりは予想通りというか、なんというか。。。

次に、"IBM SPSS Modeler(旧 Clementine)"を使って結合してみる。

IBM SPSS Modeler(旧 Clementine)の失敗ストリーム

まずは、単純に結合ノードで結合してみる。
内部結合だろうが、外部結合だろうが、結果はうまく行かない。

IBM SPSS Modeler(旧 Clementine)での結合結果

この結果をみると、、、

まず、2行目の"ゼクシィ(ィは、半角カナ)"が勝手に"ゼクシィ(ィは、全角カナ)"に置換されています。
う〜ん、勝手に半角カナを全角カナに変更しちゃっているし。。。
レコード2の部分もnullではなく、11って数字が入っています。

このように勝手に置換されてしまっては、その後どう処理してもダメです。

以上の結果から、いきなり結合ノードを使うのは、失敗!ってことになります。

少しトリッキーな処理になりますが、下記のようにすれば思った結合ができます。

IBM SPSS Modeler(旧 Clementine)の正しいストリーム

続きは明日…

2011年05月25日

IBM SPSS Modeler(旧Clementine)関数 "issubstring" の落とし穴

IBM SPSS Modeler(旧Clementine)の関数に
・issubstring(SUBDTRING, STRING)
・issubstring(SUBDTRING, N, STRING)
があります。

使い方として、文字列の中にあるキーワードが入っているかどうか?の調査に使います。

・issubstring(SUBDTRING, STRING)の使い方

issubstring(SUBDTRING, STRING)

STRINGにSUBSTRINGがあるかどうかを検索します。見つかった場合、その開始位置の添え字を返します。それ以外の場合は、0を返します。


例として、流入キーワードの中に "BCD" が含まれているかどうか?をチェックしたい。
issubstring("BCD", 流入キーワード)


大文字と小文字を区別するので、ABCDEFがヒットします。


そして、BCDは、2文字目からスタートするので、2となります。
それ以外は、0です。

条件抽出でそのキーワードが含まれているかどうか引っ張ってくる場合、
 issubstring("BCD", 流入キーワード) > 0
と書いても良いですし、> 0 を書かなくて、
 issubstring("BCD", 流入キーワード)
と書いても大丈夫です。

・issubstring(SUBDTRING, N, STRING)の使い方

issubstring(SUBDTRING, N, STRING)

STRINGのN番目の文字からSUBSTRINGの検索を開始します。見つかった場合、その開始位置の添え字を返します。


例として、流入キーワードの中に "BC*D" が含まれているかどうか?をチェックしたい。
です。
BCとDの間に文字列があってもなかっても良いです。



issubstring("D", issubstring("BC", 流入キーワード), 流入キーワード)

この書き方は実はあまりよろしくないです。

"BC*D"が含まれている場合は、その開始位置を返してくれます。
"BC"だけの場合は、0を返してくれます。
"BC"がない場合、、、issubstring("D", 0, 流入キーワード) となるので、これは、nullになります。

含まれていないなら0でもnullでもいいじゃないかってことなんですが、
条件抽出をする場合に、変なことが起こります。

【BCD > 0】を含める場合、


【BCD > 0】を破棄する場合、


となって、nullがどちらにも出てきません。

この問題を解決する方法としては、
issubstring("D", issubstring("BC", 流入キーワード) + 1, 流入キーワード)
と、"+ 1"を追記してあげれば、OKです。

結果は、

このように、文字列が含まれる場合は、開始位置を返し、含まれない場合は、0を返してくれます。