統計コンサルの議事メモ

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

過小分散なカウントデータを扱いたい

背景 doublepoissonを触ってみる 切片を推定してみる glmで推定してみる dglmで推定してみる 回帰係数を推定してみる glm、dglmで推定してみる optimで推定してみる 終わりに 背景 カウントデータをモデリングしようと思ったとき、まず思い浮かべる分布とい…

FindBestSplitを書いてみる

背景 実装 1. データ、説明変数を与えると閾値の候補を返す関数 2. データ、目的変数、説明変数、閾値を与えるとGini係数を返す関数 3. 現在のGini係数との差分が最大となる(最良な)閾値を返す関数 終わりに 背景 前回、前々回の記事でrandomForestを使っ…

randomForestで有効な交互作用を発見したい

背景 概要 実装 1. Random Forestでモデルを作る 2. 各決定木から分岐に用いられた変数ペアを得る 3. 出現回数のカウントを取る 4. 交互作用効果を確かめてみる 終わりに 背景 GLMは発想がわかりやすく解釈性も高くて良いアルゴリズム1なのですが、線形の仮…

randomForestではCharacterは使わないようにしよう

RのrandomForestを使っていてはまったのでメモしておきます。 ①目的変数がcharacterだと分類として扱ってくれない ②説明変数がcharacterだとダミー化してくれない 終わりに ①目的変数がcharacterだと分類として扱ってくれない 最初にはまったのがこちらでし…

GLMをもう少し理解したい④

R glm

前回の記事では、結局GLMというのは以下の方程式: を用いて、を反復的に求めることであると説明しました(IRLS)。 ushi-goroshi.hatenablog.com そのために必要なパーツとしてはとであり、これらは(を除けば)、とそれらのそれぞれに対する微分です。 で…

GLMをもう少し理解したい③

R glm

前回の記事において、GLMでは以下の方程式を用いてパラメータベクトルを推定するという話をしました:ushi-goroshi.hatenablog.com 今回はその続きです。※ 1/25 記事を修正しました 最尤推定 上の式には情報行列の逆行列が入っているので、前から情報行列を…

GLMをもう少し理解したい②

R glm

前回の記事からだいぶ間が空いてしまいましたが続きを書いてみます。なおこの記事は主にDobsonの「一般化線形モデル入門」の第3・4章を参考にしていますので、そちらも合わせてご確認ください。良書です。 ushi-goroshi.hatenablog.com 一般化線形モデル入門…

小話

以下は全て憶測に依るもので、全く根拠のない話です。 ハイパフォーマーを発見するための分析を考えたとき、過去の個人ごとの業績から予測モデルを構築すると、「性別」の効果が有意に効くのではと思います1。そしてそれはきっと、男性の効果がプラス(また…

GLMをもう少し理解したい①

R glm

背景 glm glm.fit C_Cdqrls F77_CALL 背景 一般化線形モデル(GLM)は、一般に線形回帰モデルを正規分布を含む指数分布族に拡張したものだと捉えられています。アイディアとしてはシンプルである割に非常に有用で、GLMによって 整数値(ポアソン回帰) 二値(…

ロジスティック回帰の小ネタ

小ネタ①:ロジスティック回帰は集計値を用いても同じ結果となる tmp <- epitools::expand.table(Titanic) library(tidyverse) dat_table <- tmp %>% group_by(Class, Sex, Age) %>% summarise("Yes" = sum(Survived == "Yes"), "No" = sum(Survived == "No")…

RとPythonの結果を一致させたい

背景 RからPythonを呼び出す 線形回帰 ロジスティック回帰 終わりに 背景 通常、私はデータを分析する際には主にRを使用します。しかし分析結果を既存のシステムに投入するなど実装を考えた場合には、Rではなく別の言語を求められることもあると思います。 …

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…