統計コンサルの議事メモ

統計や機械学習の話題を中心に、思うがままに

Stanを使って変数選択したい

背景 データ準備 ライブラリの読み込み シミュレーションデータの作成 フィッティング stan_glmによるフィッティング 結果の確認 追試 終わりに 背景 Stanを使ってモデリングをしている時に不満を感じる点として、変数選択が難しいということが挙げられます…

Ad-Stock効果を推定しつつ回帰を回したい⑤

背景 しつこいようですが、Marketing Mix Modeling(MMM)の話題です。 先日、こんな面白い論文を見つけました。 GoogleのResearcherによるMMMの論文(彼らはMedia Mix Modelingと呼んでいます)なのですが、ヒルの式を用いて広告のShape効果(Carveture効果…

RでWebスクレイピングしたい

背景 ちょっとした用事によりリコール情報について調査する機会がありました。これまでWebスクレイピングは経験がなかったのですが、便利なライブラリ({rvest})もあることだし、挑戦してみた結果を紹介します。 内容としては、国交省のサイトにある「リコ…

階層ベイズと状態空間モデルで広告効果を推定したい

背景 これまでMarketing Mix Modeling(MMM)におけるAdStock効果の推定について色々と記事を書いてきましたが、その他にも試したいと思っているモデルがいくつかあります。その一つが階層ベイズモデルと状態空間モデルを同時に取り扱うものです。 例えば「…

スタイン推定量を確かめてみる

いきなりですが、最近購入したベイズモデリングの世界を読んでいて非常に面白い話題を発見しました。 ベイズモデリングの世界作者: 伊庭幸人出版社/メーカー: 岩波書店発売日: 2018/01/18メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る…

Bayesian GLMで過適合を避ける

長らく知人に貸していた「みんなのR」が手元に戻ってきたのでパラパラと見ていたら、見逃していた面白いトピックを見つけたので紹介します。内容としてはこちらの記事とほぼ同じで、基本的には書籍の該当部分を再現しているだけですが、{purrr}のmapを使った…

ベイジアンネットワークで変数間の関連性を見る

実務でデータ分析を行うときにしばしば変数間の因果関係の有無およびその強さについて問われることがあるのですが、その回答としてベイジアンネットワークを使いたいと思っていたので調べてみました。 この記事ではベイジアンネットワークを扱うためのパッケ…

WAICを計算してみる

ある統計モデルの予測精度を表す指標としてAIC(Akaike Information Criterion)というものがよく使われますが、stanを用いてモデリングした場合にはAICを計算することができません。しかし2009年に渡辺澄夫先生が発表したWAIC(Widely Applicable Informati…

Stanで疑似相関を見抜く

ベイズ統計をちゃんと勉強しようと思い、最近Statistical Rethinkingという本を読んでいます。Statistical Rethinking: A Bayesian Course with Examples in R and Stan (Chapman & Hall/CRC Texts in Statistical Science)作者: Richard McElreath出版社/メ…

Ad-Stock効果を推定しつつ回帰を回したい④

これまでにMarketing Mix Modelingにおける広告の累積効果の推定について、以下のような記事を書いてきた。ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com今回は遺伝的アルゴリズムを用いてパラメータの推定を行った…

Bayesian t-testを書いてみたい

IBM SPSS Statisticsにベイズ推論が実装されるらしい。news.mynavi.jpこれ以外にも最近は身の回りでやけにBayesian t-testに関する話題を耳にすることが多いので、t-検定をベイズ化することのどこにニーズがあるのかを考えていたのだけれど、どうやらA/B tes…

Random Forestの結果をSQLに落としたい

Random Forestは数ある機械学習アルゴリズムの中でも、高い精度を得やすく分散処理が容易であることから頻繁に用いられるものの一つであると思う。 Rでは{randomForest}パッケージが有名だが、最近では{ranger}や{Rborist}といった新しいパッケージが出てい…

ggvisによるRで可視化

面白いパッケージを発見したので紹介。可視化のための機能を提供してくれるもので、{ggvis}というもの。もしかすると{ggplot2}を超えるかもしれない。使い方が非常にシンプルで、思想として{ggplot2}に似ているので慣れた人にはスイッチしやすいと思う。dply…

Anscombeの例

二変数間の関連性の強さを評価する上で最も良く使われる指標は、間違いなくPearsonの積率相関係数、いわゆる相関だと思う。Excelでも関数により算出でき、関連の強さを-1〜1で評価できるというお手軽さが受け入れられやすいのだと思う。さて、この相関は直線…

Ad-Stock効果を推定しつつ回帰を回したい③

Marketing Mix Modelingにおける広告の累積効果の推定について、以下の記事を書いた。ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com本日はこの続きで、同じような条件で作成したデータに対してstanを用いたベイズ推定を実施したので、その内容を…

Ad-Stock効果を推定しつつ回帰を回したい②

先日、Marketing Mix Modelingにおける広告の累積効果(Ad-Stock効果)の推定について以下のような記事を書いた。ushi-goroshi.hatenablog.comその後も推定方法について調べていたところ、以下のような記事を発見した:www.mm-lab.jp要するに一期前の目的変…

Keras for R

RstudioがR上でKerasによるディープラーニングのモデルを構築するためのライブラリ{keras}を公開した。R Interface to Keras • keras以前から{tensorflow}を使えばtensorflow::import(module = "keras")でKerasを導入することができたようだが、{keras}を先…

帰無仮説は採択できない

統計的仮説検定は通常、以下のような手順に従って行われる: 帰無仮説を設定する 対立仮説を設定する 検定統計量を設定する 有意水準を設定する 実験やデータ解析によって検定統計量を求める 帰無仮説を真と仮定した時の検定統計量の得られる確率を求める 設…

Ad-Stock効果を推定しつつ回帰を回したい

最近ずっとMarketing Mix Modeling(MMM)をやっている。その中で広告効果(いわゆるROI)を推定しているのだけれど、広告の効果というものは出稿した時点だけでなく将来に渡って影響を及ぼすため、過去の広告の累積による影響(いわゆる残存効果・Ad-Stock…

dplyr::filterの注意点

R

最近すっかりHadley信者になってしまいデータ加工にもdplyrをよく使っているのだけれど、filterで少し躓いてしまったのでメモ。まずは{dplyr}と{dtplyr}を読み込む: library(dplyr) library(dtplyr) やりたかった処理とは以下のようなもので、irisを例とす…

summaryの罠

R

年月を6桁の数値(YYYYMM)で表すために以下のように書いて何気なくsummaryを実行したところ、思わぬ挙動となった。 > Year <- rep(2012:2016, each=12) > Month <- rep(1:12, 5) > YM <- Year * 100 + Month > summary(YM) Min. 1st Qu. Median Mean 3rd Q…

SparklyrによるApache Sparkのインストールとロジスティック回帰の実行

{sparklyr}というパッケージを使うことでWindowsであってもApache Sparkのインストールが簡単にできる。また{sparklyr}にはSpark MLlibの機械学習用の関数がラップされており、それを使ってみた結果を記しておく。基本的にはRstudioの{sparklyr}の紹介ページ…

Microsoft R Clientによる大規模データの分析

R

Revolution Analyticsを買収したMicrosoftが、Revolution R Openに代わりMicrosoft R OpenというRのラッパーのようなものを出している。それに更に大規模データ分析用の独自開発パッケージを追加したMicrosoft R Client(MRC)というツールがあり、MRCの独自…

人工知能と機械学習とDeep Learning

「人工知能(AI)による業務改革!」「Deep Learningを搭載した○○!」みたいな記事は巷に溢れかえっているが、そういった記事を見るにつけ思うのが「人工知能と機械学習、Deep Learningなどのアルゴリズムの区別ってどうなっているんだろう?」ということで…

RでTensorFlow

知らない間にRでTensorFlowが使えるようになっていたので触ってみました。それにしてもRStudioは相変わらずイイ仕事をしますね。まずは以下の通り、RStudioのGitHubからTensorFlowのライブラリをインストールします。なおこのライブラリはあくまでPCに事前に…

optimってあんまり信用できないなぁ、って話

タイトルの通りです。仕事で使うことがあったのでRのoptimを使って回帰を解いてみたのですが、これが意外に安定しません。変数の数なのか、ダミー変数が含まれるとダメなのか、原因についてはよくわかりませんが想定以上に解がバラついてしまいました。実行…

リッジ回帰の解の特性

SAPのソリューションに「InfiniteInsight」というものがある。旧KXENをSAPが買収したもので、搭載されているアルゴリズムはサポートベクターマシンの開発者(VapniK)によるものらしく、統計解析に対する知識や経験なしに高精度のモデルを作成することができ…

できないと言ってはいけません

仕事をしていて思ったことを。統計分析が求められる場面というものはいくつもあるが、その中で最もメジャーと言ってよいものの一つが「将来予測」だと思う。身近なもので言えば株価や天気で、「明日はどうなるか?」という問いについて、モデルは一つの答え…

Data Scientist Workbench

こんなサービスがあることを最近知った。 ■Data Scientist Workbench datascientistworkbench.com IBMが提供しているサービスで、ブラウザ上でRStudioやJupyterが実行できる環境を提供してくれる(無料で!)。分析手法よりもHadoopやSparkなど大規模データ…

RでBI

忙しかったので久しぶりの更新です。 最近Rでこんなパッケージを発見して驚いた。その名もrpivotTable。なんとRでTableauのようなBIツールを再現してしまうという夢のようなパッケージだ。パッケージのインストールから実行までは以下のようになる: install…