About connecting the dots.

data science related trivial things

「熊とワルツを」のリスクシミュレーションをRで実装した

最近「熊とワルツを」というプロジェクトにおけるリスク管理についての本を読みました.本の中にでてくるリスク管理シミュレーションをR実装しました,という話です.熊とワルツを - リスクを愉しむプロジェクト管理作者: トム・デマルコ,ティモシー・リスタ…

dplyrを使ったdata.frameの前処理を関数化する

表題の通り,dplyr使って前処理する際に,それを関数化する方法のメモ.ユースケースとしては,ちょっとだけ条件変えてデータフレーム自体を何度か出し直すってとき用. 関数 まるっとフィルタ用のconditionと,select用のvariablesを引数で渡します*1.ポイ…

BW変換(Burrows Wheeler Transform)を書いた

「高速文字列解析の世界」を読んでて,BW変換のところがよくわからなかったので,実際に書いてみました.高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学)作者: 岡野原大輔出版社/メーカー: 岩波書店発売日: 2012/12/27…

データビジネス・分析・開発に関して2014年に読んだ本

年末なのでぼちぼち今年の振り返りをします.ちなみに去年のはこちら.データビジネス・分析・開発に関して2013年に読んだ本 - About connecting the dots.データブジネス,データ分析,ソフトウェア開発の3カテゴリに分けて,それぞれについて上から読んで…

PythonのnimfaでNMFを試す

PythonでNMFやるには,nimfaというパッケージを使えばよいらしいです.とりあえず使うだけなら,適当なnumpy行列vecを用意して,以下のように関数に投げてあげます. factor = nimfa.mf(vec, seed='random_vcol', method='nmf', rank='5', max_iter=10) res …

マンションポエムで新築マンションをクラスタリング

今回は自然言語処理の話です.それも若干不自然な言語のマンションポエムが対象になります.マンションポエムというのは,工場萌え*1の著者大山さんが提唱している,マンション広告に入っている詩的なコピーのことです*2.具体的にはこんな感じのやつです*3…

Yosemiteでのmecabのパス

mecabの辞書作成をしようとしたら,なぜかgooglecodeにある説明とパスが違ってて,探すのに多少苦労したのでメモ.Yosemitenのせいなのか,何か自分がインストールのやり方を間違えたのかはわからないのだけど. # mecabのディレクトリ /usr/local/Cellar/me…

memoizeでPythonの再帰計算をキャッシュして高速化

背景 ここ数ヶ月,頭の体操とPythonでの数値処理に慣れるのとで,project eulerの問題を順に解いていってます*1.割と初等整数論を使った計算問題が多いので,単純に公式を調べてなるほどこういう公式があるんだーとか感心しながら計算してます*2.で,その…

中古マンション売買データを分析してみた - シリーズ目次

中古マンション売買データを分析してみた(1) - 築年数と駅からの距離は価格にどう影響するか - About connecting the dots. 中古マンション売買データを分析してみた(2) - 路線と駅による中古売買価格の違い - About connecting the dots. 中古マンション売…

中古マンション売買データを分析してみた(4) - 完成系の階層モデルと駅ブランド力の可視化

半年ぐらいウダウダやってましたが,今回が最終回です.自分としては満足のいく階層モデルに仕上がり,可視化までたどり着きました.ということでこれまでのエントリを別ページにまとめておきます.中古マンション売買データを分析してみた - シリーズ目次 -…

Chrome Developper ToolとCasperJSでスクレイピング

思い出したかのように再開している中古マンション売買データを分析してみたのシリーズですが,今回はちょっと脇にそれてデータ集めのお話について説明したいと思います.いわゆるスクレイピングというやつです*1.今回のデータを最初に集めたときは,たいし…

中古マンション売買データを分析してみた(3.2) - 駅が複数の路線に所属する階層モデル

引き続き,階層モデルを実際のデータに即した形で組んでみようという試みを続けていきたいと思います.昨日の記事では,1つの駅は1つの路線にしか所属しない*1という制約を持ったモデルを作成しました.で,今日の試みは,1つの駅が複数の路線に所属できるよ…

中古マンション売買データを分析してみた(3.1) - 階層性を考慮したモデルのさらなる精緻化

今更感がだいぶただよう感じのネタではありますが,発表しようと思ってスライドまとめたものの,一向に予定が組まれないので,現状のモデリングがうまくいっていないので,ここで一旦公開しちゃおうというのが今回のエントリの主旨です. モデルを精緻化する…

実装して理解するオンライン学習器(1) - PassiveAggresive

一言でいうと,最近流行のオンライン学習器を,アルゴリズムを理解しながら実装して動かして挙動を眺めてみようというシリーズです.例によって飽きたらいつのまにかフェードアウトしますが,気長にやっていこうと思っています.だいたいいつもRばっかり使っ…

ggplot2でExcelライクなヒートマップを作る

Excelでぱぱっとデータを可視化するときに,よくヒートマップ使うんですけれども,これと同じことをggplot2でやってみましたというお話.Excelのヒートマップは,リボンUIで[ホーム]→[スタイル]→[条件付き書式]で設定できて,下のように赤-黄-緑とグラデーシ…

非負値行列因子分解(NMF)によるレコメンドのちょっとした例

最近線形代数についていろいろ読みなおしたりしてるのですが(線形代数チートシートを前の記事でまとめてあります),その一環でレコメンドアルゴリズムについていくつか試してみたので,それを解説します.順序としては,基本の協調フィルタリング(ユーザ…

線形代数の用語と意味まとめ(主に自分用)

恥ずかしながら,線形代数周りの用語って似たようなものが多くて,すぐにアレがどれだっけと混同してしまいがちになります.線形代数の手計算とかがんばってたのなってもう10年とか昔の話だし,チートシート的にまとめなおしておこうと思いました.内容的に…

中古マンション売買データを分析してみた(3) - (より妥当なモデル化をした)路線と駅による中古売買価格推定

いくつかテクニカルに試行錯誤したり,他のことをやってたりしてしばらく間があいてしまいましたが,ようやく前回やった路線と駅モデルの精度向上ができました.エントリの最後に書いた通り,以前の路線・駅による中古マンション売買価格モデルは,大きな問…

中古マンション売買データを分析してみた(2.4) - 個体差を入れた階層ベイズモデルへの拡張

引き続きStanでモデルの拡張を行っていきます.前々回の結果について,通常の線形モデルをStanで回したわけですが,順調にこれを拡張していきます.まずは個体差のランダム効果項を入れて,よりモデルの汎化性を高めていきたいと思います.階層ベイズについ…

中古マンション売買データを分析してみた(2.3) - Stanの行列演算速度を軽く試す

とりあえずStanになれるというのも兼ねて,軽くマニュアル読みながら*1,どういう書き方が良い書き方なのかを学ぶことにしました.そうしたら,マニュアルのp141 Vectorizationのところで,基本的にvectorやmatrix使った方が計算早いよって書いてあるので,…

中古マンション売買データを分析してみた(2.2) - BUGSのモデルをStanに置き換えてみた

ごぶさたしています.シリーズの途中にも関わらず,1ヶ月半ほどブログを放置していました.仕事にかまけて更新が億劫になったのと,Pythonでせこせこbot作ったりしてたのが主な要因ではありますが.気がついたら第3回BUGS/Stan勉強会が開催されていて*1,そ…

中古マンション売買データを分析してみた(2.1) - MCMCで線形モデルを推定するためのパラメタ設定はどうすればいいか

今回のエントリはテクニカルな問題のお話のみで,住宅価格についての蘊蓄はいっさい含まれておりません.統計モデリングに興味のある方のみお読みください. 問題 前回のモデルでは,単純に群間の差を駅,路線の2層の群を使ってモデリングしました.考察のと…

中古マンション売買データを分析してみた(2) - 路線と駅による中古売買価格の違い

というわけで前回予告した通りに,引き続き川崎横浜の中古住宅についてみていきましょう.今回のテーマは路線と駅,です.その中でも個人的な興味は,特に東横線プレミアムってやつは存在するのか,というものです*1.実際,東横線沿いの住宅ショールームと…

中古マンション売買データを分析してみた(1) - 築年数と駅からの距離は価格にどう影響するか

新しい年度になって消費税も上がったことで,3月までの駆け込み消費*1の反動でマンションとか全く売れていないんだろうなぁと思う今日この頃です*2.個人的な趣味でいうと新築よりは中古派ですので,増税前に無理矢理ローン組んだ人がさくっと数年で手放した…

統計学・機械学習でよく使われる数学記号リスト(主に自分用)

統計学とか機械学習周りの本を読んでいると,何の説明もなくややこしい数学記号が出てきて,そういえばこれはなんだっただろう? と途方に暮れてしまうことが少なくないので,自分用にまとめなおしてみました,というのが今回のエントリ.あくまで自分用なの…

Excelの分布関数まとめ

分布関数 前回の記事で,いくつかの分布について紹介しましたが,実はこれらの確率分布ってエクセルでもさくっと計算できたりします.そんなわけで,エクセルに入ってる分布関数についてざっくりまとめてみました*1.丸め誤差とか怖いので,精緻なシミュレー…

不確実性を定式化するための確率過程

前回の記事で,二項分布に従う事象について,不確実性を求める例を紹介しました.このように,一定の規則に従ってランダムに事象が発生するような一連の事象を,確率過程と呼びます.ネタ本の入門リスク分析には,以下のように書いてあります. 確率過程(st…

データ分析における不確実性と変動性の違い

仕事をしていてデータを意思決定に用いる場合,データから予測されるシミュレーション結果が,どの程度信頼できるかということを判断する必要があります.例えば前期に20回実施して,14回は想定通りの効果が得られ,残りは失敗した施策があるとして,これを…

A/B testingの前半部まとめスライドを作った

ABテスト概説書をまとめて,社内勉強会で発表したので,こちらにも公開します.前半部だけですけど,実際には本の要旨の大半が詰まっています.後半は内容が薄いので... この本の白眉は2章で,基本個々を補強する細々した要素を後の章で述べているだけです.…

データビジネス・分析・開発に関して2013年に読んだ本

そういえば,昨年に読んだ本についてまとめてなかったなと気がついたので,もう1月も終わりに近づいてはいますが,まとめてみました.この1年間で,お仕事はHadoop基盤の開発+運用メインから,分析メインに移り,さらにはマネージャーになる形で動いているの…