六本木で働くデータサイエンティストのブログ

元祖「銀座で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木

R

実務の現場に多い時系列データ分析の際に注意しておきたい点を列挙してみる

こういうメタ分析系の記事を書く時というのは大抵ネタ切れの時なんですが(汗)、最近になってこの辺のポイントでつまずいて困っているビジネスデータ分析の現場の話を聞くことがまた増えてきたので自分向けの備忘録も兼ねて記事としてまとめておきます。 そ…

NN Playgroundに出てくる「渦巻きサンプルの二値分類」を学習器を変えながら試してみる(追記あり)

A Neural Network PlaygroundというDeep Learningのパラメータを変えながらその挙動を見て学べる(楽しめる)サイトがTensorFlowプロジェクトからの提供であるんですが、そのサンプルデータセットの4番目に「渦巻きサンプル」(別名「スイスロール」)があり…

不均衡データをdownsampling + baggingで補正すると汎化性能も確保できて良さそう

弊社のランチゲストにお招きしたことのある@tmaeharaさんが、こんなことをツイートしておられました。imbalanced data に対する対処を勉強していたのだけど,[Wallace et al. ICDM'11] https://t.co/ltQ942lKPm … で「undersampling + bagging をせよ」とい…

トレンド・季節調整付き時系列データの回帰モデルを交差検証してみる

これは実は既に元ネタのあるテーマです。 Cross-validation for time series | Rob J Hyndman 個人的にはトレンド・季節調整付き時系列データの回帰モデルをやる場合はほぼ例外なくベイジアンモデリングで回すんですが、一般にベイズ系のモデルは例えばWAIC…

RにTensorFlow + Kerasを実装した{keras}パッケージがやって来たので試してみた(追記2件あり)

Python側でのTensorFlowの隆盛を他所に、R側では{tensorflow}も使いにくいし*1これはPythonistaに転生しなければならんのかなぁ。。。ということを思っていたら、出ました。あのKerasのRパッケージです。インストール手順は普通にR Interface to Keras • ker…

異常検知に用いられる1クラスSVMの決定境界をパラメータを変えながら描いてみた

これは前回の記事の補足です。もう見たまんまで「そもそも1クラスSVMの決定境界を具体的に描画してみたらどうなるんだろう?」という興味を持ったので、漫然と2次元でやってみます。前回の記事同様、1クラスSVMの推定に用いるのは{e1071}パッケージのsvm関数…

Rで異常検知(3): 非正規データからの異常検知(カーネル密度推定・EMアルゴリズム・K-means・1クラスSVM)

(注:ただの備忘録ゆえ、ほぼ確実に後で追記が出る見込みです)今回はコロナ社井手本の第3章を取り上げます。入門 機械学習による異常検知―Rによる実践ガイド作者: 井手剛出版社/メーカー: コロナ社発売日: 2015/02/19メディア: 単行本この商品を含むブログ…

ベイズ構造時系列モデルを推定する{bsts}パッケージを試してみた

Rパッケージ紹介ばかりが続いていて恐縮ですが。。。最近になってこんなものがFacebookからリリースされていたのを知りました。これはこれで使いやすそうだなと思ったんですが、実はGoogleからも同様のMCMCサンプリングベースの時系列分析向けCRANパッケージ…

メモリに乗り切らない大容量データ相手にL1正則化回帰を回せる{biglasso}パッケージを試してみた

今回は小ネタ。ボサーっとCRAN Task View: Machine Learningを眺めていたらこんなものを見つけました。これ、カラクリは簡単で単にR側にはデータのポインタしか渡さず、データの実体はストレージからオンライン(ストリーミング)で読み込むようにしていると…

単変量時系列分析の続き:ARIMA vs. ETS vs. Robust ETS

この記事は4年前の以下の過去記事の続きです。大変遅まきながら*1、最近になって単変量時系列モデリングの手法としてARIMA / DLM以外にも幾つか方法があるのだということを知りました。一つは指数平滑法というかExponential Smoothing State Space Model (ET…

Rで異常検知(2): 正規分布に従うデータからの異常検知(ホテリング理論・MT法)

さて、気紛れから始まったこのシリーズですが。今回は第2章を取り上げます。入門 機械学習による異常検知―Rによる実践ガイド作者: 井手剛出版社/メーカー: コロナ社発売日: 2015/02/19メディア: 単行本この商品を含むブログ (4件) を見る多変量かつ非正規デ…

Rで異常検知(1): これまで自分がやってきたことのおさらい

ぶっちゃけ今更感がなくもないんですが、実はこれまで自分ではほとんど異常検知・変化検知をゴリゴリやったことがなかったなぁと思ったのでした。きっかけは、時々色々な手法のテストに使っているこのUCI機械学習リポジトリのデータセット。 UCI Machine Lea…

実務の現場においてモデリング(統計学的・機械学習的問わず)を行う上での注意点を挙げてみる

気が付いたら僕がデータ分析業界に身を置くようになってそろそろ5年近くになるんですね*1。この5年間の間に色々勉強したり業界内で見聞してきた経験をもとに、「実務の現場においてモデリングを行う上での注意点」についてだらだらと書いてみようと思います。…

統計的因果推論(5): Platt's scalingで機械学習分類器による傾向スコアを調整してみる

この記事は以下の記事の続きです。機械学習分類器で算出した傾向スコアを調整する話ですが、最後に課題として残ったのがprobability calibrationによる実践。探してみると前回の記事でもやったisotonic regressionとか色々出てくるんですが、もう一つ出てく…

統計的因果推論(4): 機械学習分類器による傾向スコアを調整してみる

この記事は以下の記事の続きです。ご覧の通り、機械学習分類器3種で傾向スコアを算出してみたらおかしな結果になったわけです。この点について、実は後日2点ほどコメントをいただきました。1つはブコメで、統計的因果推論(3): 傾向スコア算出を機械学習に置…

Deep Learningで遊ぶ(3): LSTM-RNNで夏目漱石っぽい文章の生成にトライしてみる

そう言えばこのシリーズ長らく放置してました(汗)。いよいよこのブログもネタ切れが著しくなってきたので、今更そんな古いネタやるのかよと怒られるのを承知で「単に自分がやってみたかったから」というだけの理由で今更感のあるネタをやることにします。…

モデル選択とAICとcross validationの関係を大雑把に実験してみる

Stanの開発者でもある統計学界の重鎮、Andrew Gelmanがこんなブログ記事をupしていました。ちなみに@berobero11さんがこの件についてこんなコメントをされてました。AkiらのPSIS-LOOがWAICより良いとする論文が出た。https://t.co/BWYNALp88K渡辺先生の反論…

統計的因果推論(3): 傾向スコア算出を機械学習に置き換えてみると

この記事は以下の記事の続きです。前回の記事では普通にロジスティック回帰で傾向スコアを求めたのですが、傾向スコアというのは元はと言えば「共変量に基づいてそれぞれの群に割り付けられる確率値を求めたもの」なので、やろうと思えば機械学習分類器で代…

統計的因果推論(2): 傾向スコア(Propensity Score)の初歩をRで実践してみる

さて、統計的因果推論についてだらだらと独習していくこのシリーズですが、今回はDonald Rubinが考案したRubinの因果モデルで用いられる、傾向スコア(Propensity Score)を取り上げてみようと思います。「お前岩波DS3で事前に原稿読んで中身は知っているはず…

{rBayesianOptimization}パッケージによるベイズ最適化で機械学習パラメータチューニングをお手軽に

機械学習のパラメータチューニングというと大なり小なり大変な部分があって、今年のエイプリルフール記事に皆さん引っかかって下さったところを見るにパラメータチューニングを簡単に済ませたい!と願う人々は世の中多いようです(笑)。 少し前のMXnetを使…

統計的因果推論(1): 差分の差分法(Difference-in-Differences)をRで回してみる

世の中様々な介入効果・施策効果を検証するためのexperimentが行なわれていると思うんですが、意外とその効果検証というのは難しいものです。特にいわゆる統計的因果推論の立場から見れば、web上で接触する一般ユーザーに対する介入や施策といったものの検証…

Deep Learningで遊ぶ(2): オンラインニュース人気度+ベイズ最適化によるパラメータチューニング

追記(2016年8月22日) {rBayesianOptimization}の使い方を間違えていて、この記事の下部では実際にはテスト誤差ではなくトレーニング誤差を評価してしまっていますorz 実際にはScore返値にholdoutを入れるのが正解です。別に{rBayesianOptimization}単体で…

Deep Learningで遊ぶ(1): テニス四大大会データセット(追記あり: 正規化した場合の検証)

MXnet / Kerasが本格的に普及してきたことで、いよいよ「誰でも(割と)気軽にDeep Learningを実践できる」時代になってきましたね、という話を前回の記事では一通りやってみました。ということで、これからしばらく「気軽に実践できるようになったけど実際…

機械学習分類器ごとに汎化vs.過学習の様子を可視化してみる

以前12回まで続けた「サンプルデータで試す機械学習シリーズ」ですが*1。あれから色々分類器の手法やその実装もバリエーションが増えてきたということもあり、思い立って今回まとめてやり直してみようと思います。そうそう、12回シリーズの頃から愛用してい…

「そのモデルの精度、高過ぎませんか?」過学習・汎化性能・交差検証のはなし

今年の1月にこんな話題を取り上げたわけですが。この記事の最後にちょろっと書いた通り、実際にはこういう"too good to be true"即ち「そのモデルの精度いくら何でも高過ぎるんじゃないの?」→「実は汎化性能見てませんでした」みたいなケースって、想像より…

PTGH:機械学習パラメータチューニングをDeep LearningとMCMCで高速に最適化するフレームワーク

苦節2年、とうとう完成しました。機械学習のパラメータチューニングに悩める皆さんのために、コーディングも数学も大の苦手な僕が頑張って作りました。それがPTGH (Parameter Tuning by God's Hand)フレームワークです。RでもPythonでも動きます。中身として…

Deep Learningライブラリ{mxnet}のR版でConvolutional Neural Networkをサクッと試してみた(追記3件あり)

For non-native Japanese speakers: English version is below. ちょっと前から色々なところでちらほら名前を聞くなぁと思っていたMXnet。どうやらKagglerの間では急速に人気が高まっているようで、最近になってだいぶバグフィックスが進んだらしいというの…

p値を計算したくなる検定の数々を試しにStanによるベイジアンモデリングで代替してみた

この記事は、やたらはてブを稼いでしまった前回の記事の続きです。ASAのプレスリリース及び声明の中には、確かに「p値に依拠しない新たなアプローチの例」として予測値を重視するアプローチ*5、ベイジアンモデリング、決定理論的アプローチ*6およびfalse dis…

ビジネス実務の現場で有用な統計学・機械学習・データマイニング及びその他のデータ分析手法10+2選(2016年版)

そう言えば3年前にこんなまとめ的エントリを書いたのでした。この内容はそのままかなりの部分が2年前に刊行した拙著の原案にもなったということで、色々思い出深いエントリです。なのですが。・・・この3年の間に統計学・機械学習・データマイニングの諸手法…

カイ二乗検定のメタアナリシスをやってみた(階層ベイズでも試してみた追記あり&タイトル変更済み)

記事タイトルに反して僕は実は統計的検定が大嫌いなんですが、皆さんいかがお過ごしでしょうか(笑)。ということで、今回はややマニアックなメタアナリシスの話題でもしてみようかと思います。「t-testのメタアナリシス」みたいな、いわゆるRosenthal's met…