まずは蝋の翼から。

学んだことを書きながら確認・整理するためのメモブログ。こういうことなのかな?といったことをふわっと書いたりしていますが、理解が浅いゆえに的はずれなことも多々あると思うのでツッコミ歓迎

R

BUSINESS DATA SCIENCE 3章 Regularization① 予測のためのR^2

仕事が落ち着いてきたのでBUSINESS DATA SCIENCEを再開。 データなどは作者のgitにある。 Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, Matt発売日: 2019/08/21…

BUSINESS DATA SCIENCE 2章 Regression③ 推定の不確か性

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる。 データなどは作者のgitにある。 Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, M…

BUSINESS DATA SCIENCE 2章 Regression② 回帰の当てはまりのよさ

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる。 データなどは作者のgitにある。 Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, M…

BUSINESS DATA SCIENCE 2章 Regression① 回帰の解釈

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる。 データなどは作者のgitにある。 Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, M…

BUSINESS DATA SCIENCE 1章 Uncertainty② 検定

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, Matt発売日: 2019/08/21メディア: …

BUSINESS DATA SCIENCE 1章 Uncertainty① ブートストラップ法

BUSINESS DATA SCIENCEという本を最近読んでいるので内容を自分なりにまとめる。 Business Data Science: Combining Machine Learning and Economics to Optimize, Automate, and Accelerate Business Decisions作者:Taddy, Matt発売日: 2019/08/21メディア:…

モデル式における項の意味(層別モデルとダミー変数モデルの違いなど)

)前回の記事で、作成したモデル式はどういうことを仮定しているかちゃんと考えようという旨のことを書いた。 そのため、具体的に置いている仮定によってどうモデル式が変わるかを改めて考える。 knknkn.hatenablog.com 例えば同じ数の変数を使っていても以下…

文字列からformulaを作りたい

やりたいこと リストにある文字を組み合わせて作った式をfor文で動的に変えていきたい。 問題点 以下のコードのように、felm関数のformulaに文字列で式を渡した場合エラー。 ちなみに、lfe::felmは固定効果モデルを使うときの関数。 knknkn.hatenablog.com l…

ggpointdensityでgeom_pointの重なっている部分をヒートマップで表現する

表題通り。基本的にはドキュメントレベルしかしてないのでただのメモ。 github.com ggpointdensityの特徴 散布図を作図するgeom_poin()では点が重なっている場合どれくらい重なっているかわからなかった。 対応策として、geom_density2d()や、geom_bin2d()が…

facet_gridで1軸に複数要素を指定する

めちゃくちゃしょうもない小ネタですが、以下のようにfacet_gridで軸列を指定するときに+を使うと複数指定が可能になる模様。 facet_grid(. ~ c(color, cut))とかで複数要素指定できるんかなー → できないやんけ!と思ってたら。。。。 library(tidyverse) d…

ggforce::facet_matrixを用いてfacet_grid(c(A,B,C) ~ c(D,E))的な表現を実現する

以下のツイートを見かけたので試してみた記事。 ggforce::facet_matrix 凄いわ.tidyr::gather をスキップできる…….ggplot(iris) + geom_boxplot(aes(Species, .panel_y)) + ggforce::facet_matrix( rows = vars(everything(), -Species), cols = vars(Spec…

資源の最適な配分を、ディリクレ分布を用いたシミュレーションから求める

やりたいこと なにかしらの資源をどう分配したら効用を最大化できるか、ということを解析ではなくシミュレーションによって求める。 例題 今回、例として「総予算上限10万円分で各時間帯にCMを打つ。そのとき、3回以上CMに接触した人数が多いCM投下パターン…

状態空間モデルをstanでやりたかった② パネルデータに対する状態空間モデル(階層ベイズ)

前回では以下のようなModelを考えた。 tが閉店日の場合、 それ以外の場合、 knknkn.hatenablog.com だが、結果としてsamplingがおこなわなかった。そのため、今回もプロットは無しで理屈のみ。。。 前回のモデルと今回のモデルの差 前回のモデルは「ある1店…

状態空間モデルをstanでやりたかった①

注)本記事は途中で詰まったので結局モデル立てただけで結果は出てません。 状態空間モデルの勉強をしたものの、手を動かしていないので練習。 データ kaggleのrossmann-storeコンペ。 Rossmann Store Sales | Kaggle カラム名の意味とかはここにまとまって…

Rでメモリを解放したい

デカイオブジェクトを何個も作る場合、メモリが足りなくなる。それゆえに、使わなくなったら削除してメモリを空けたい。 ただ、Rではどうやらメモリを食っているオブジェクトを削除するだけではメモリが空かないみたい(Rに限った話なのかは不明)。 以下は現…

brmsを使ってみる

brmsというStanのラッパーパッケージで遊ぶ。 概要 例えば、rstanを使う場合はStanコードを別ファイルの.stanに記述してそれを呼び出す形でbayes推定をおこなう。一方、brmsを用いるとStanコードをわざわざ書かなくてもbrmsパッケージの関数を用いればbayes…

StanのMCMC結果&パラメータ結果を可視化する② tidybayes

Stanの結果を可視化する。 今回は tidybayesについて。 前回はbayesplot shinystanパッケージだった。 knknkn.hatenablog.com tidybayesでパラメータのサンプリング結果を可視化する 今回は以下の記事と公式を参考にします。 tidybayesパッケージで推定結果…

StanのMCMC結果&パラメータ結果を可視化する① bayesplotとShinyStan

背景 最近rstan経由でStanを使ってる。rstanを用いた結果(収束診断とか事後確率分布とか)はそのままのデータでは可視化をするのが面倒。 可視化するのに便利なパッケージはないか調べてみると、ggmcmc とか bayesplot とか shinystan とか tidybayes とか色…

tidyverseとNSE

tidyverse系で変数を使いたいときめんどくさいなぁという話。 はじめに要点をざっくりまとめると、tidyverse系でdplyrでdata$列名ではなく列名と直接書けるのはNSE表現になっているので、そういう場所はNSEに合わせた書き方しようね。変数はSEなのでそのまま…

傾向スコアによるマッチングを試す

傾向スコアによるマッチングを試す。内容は岩波DS3を、コードは以下を参考。 統計的因果推論(2): 傾向スコア(Propensity Score)の初歩をRで実践してみる - 渋谷駅前で働くデータサイエンティストのブログ 岩波データサイエンス Vol.3発売日: 2016/06/10メデ…

差分の差分法(DID)を試す

差分の差分法(DID)の勉強のために以下の記事を参考にする。 https://fisproject.jp/2016/05/difference-in-differences-using-r/ 使用するデータは 、A-Gまでの7ヶ国についてy, y_bin, x1, x2, x3, opinion を1990年から10年間に渡り記録したパネルデータと…

複数のモデルを管理する

purrrとbroomの使い方をマスターするために。以下の記事をトレースする。 内容自体は引用元記事の方がちゃんとしているのでそちらを読んでもらいたい。本記事は、読むにあたって理解が薄い人(=自分)用の補足メモを書きながらのトレースとなる。そのため、本…

themeを作ってggplotの出力コードをコピペで何回も繰り返さない

はじめに ggplotを使っていて、結構何回も同じこと書いていることが多いなーと感じたので改めて省略できる部分を省略することを考える。 そもそもプログラマーのための原則として、DRY原則というものもある。 DRY原則 | プログラマが知るべき97のこと また、…

glue::glue()による動的なファイル名/クエリの生成

Rのglue::glue()を使うと、{}で囲った変数名に応じた変数で補完した文字列が生成される。 library(glue) for (i in 1:3){ print(glue('hoge{i}')) } # => # hoge1 # hoge2 # hoge3 glueを利用して、動的にファイルを作成する。以下では、irisをspecies毎に分…

lfe::felmで固定効果モデルを試す

固定効果モデル(Fixed Effect)を考える。 固定効果モデルとは 固定効果モデルとは、ざっくり書くと、パネルデータに対するOLSの際にパネルデータ内の個人毎に異なる「個人差」のような部分を除去してOLS推定ができるようになるモデル。 固定効果モデルイメー…

tsの週次データについてと、ついでにtsibbleについて

Rのtsクラスの振る舞いがよくわからなかったのでメモ。ついでにtibble形式のtsであるtsibbleについても。 基本 tsクラスは時系列(Time Series)情報をindexとして持ったデータ型。 時系列ってなんやねんと思うが、要するに「ある単位においてどういう粒度が…

列名を正規表現で一括置換する

やりたいこと Rのデータフレームで列名を一括置換したい。 ピンポイントで指定する場合は以下の記事のようにすればいいが列名が多いときは面倒。 Rのデータフレームで、列名指定で列名の一部を変更する方法 - Rプログラミングの小ネタ 例えば、この記事のよ…

列名の末尾にまとめて文字列をくっつける

やりたいこと 表題通り。 個人的に使った事例(のイメージ)としては、例えば店舗データとして、「売上、店舗規模、従業員数」があるとする。 これらのデータをもとに店舗の売上モデルを作成するときに、近隣店舗の情報もモデルに入れる場合、各列名の末尾に…

forecastのtrain/test期間の結果をggplot2で描画できるようにする

やりたいこと ARIMAなどをする際に予測をするためにforecast関数を用いる。 その際、forecast関数によって作成されたオブジェクトはautoplot関数でそのまま描画できる。 キレイでリッチなグラフ描画をおこないたいので、ggplotを使って描画をしたい。 問題点…

ARIMAXで複数のモデルを一気に試す

ARIMAXモデルにおいて、X(外部要因)に何を入れるか考える際にいちいち1つ1つ試していくのは手間がかかる。そのため、loop処理で一気に計算をおこない結果を比較したい。 データ テキトーに以下のデータで考える。 > df # A tibble: 7 x 5 date value x1 x2_1…