2019-01-01から1年間の記事一覧

クロス集計表とナイーブベイズの対応についてのメモ

はじめに ある日クロス集計表とナイーブベイズを眺めていて、 そもそもこれらはどういう関係性だっけ?と思ったのでその思考メモです。 試行 以下のような所属クラス×性別×利き手の3軸のクロス集計表があるとし、 これを用いて性別と利き手がわかっている人…

推論時の入力に未知の欠損値がある場合のlightgbmの挙動の確認

はじめに 以前にlightgbmは入力に欠損値があってもうまく学習してくれるという記事を書いたのですが、 これは学習時に欠損が存在している場合の話でした。 現実の問題を考えると、学習時とそのモデルを使った推論時では時系列の違いや環境変化の影響 により…

テニスにおける疲労度の影響の定量化(spoana5の内容+α)

はじめに 「プロテニスにおいて疲れが勝敗に与える影響を定量化してみる」 という題目で下記イベントでLTしてきました。 spoana.connpass.com 使用した資料は以下になります。 プロテニスにおいて疲れが勝敗に与える影響を定量化してみる - Speaker Deck 内…

VAE(Variational Auto Encoder)で猫が復元できなかった話

はじめに couseraでBayesian Methods for Machine Learningを受けているんですが、 その中で出てきたVAE(Variational Auto Encoder)で少し試してみたいことがあったのでその実験記録になります。 参考文献 VAEの理論や位置付けについては下記資料が参考にな…

変数間の関係性が見たい(偏相関とGraphical Lasso)

はじめに データの変数間の関係性を明らかにしたいというケースは多いと思います。 その場合相関や散布図をみるのが一般的ですが、交絡やノイズが多いケースなど それだけでは不十分な場合もあるため、その場合にも対応できそうな手法を試してみます。 試す…

機械学習における欠損値補完について考える

※この記事で使用している多重代入法のパッケージは正式な多重代入法の枠組みとは異なりますのでご注意願います。 はじめに 最近多重代入法という欠損値補完の手法があることを知りました。 統計学の界隈では欠損値補完は多重代入法を使用するのがベターのよ…

ランチ最適化問題(バンディットアルゴリズム編)

はじめに 日々の生活を営む上で、ランチをどこで食べるかということは非常に重要な問題です(2回目)。 前回はこの問題を最適停止問題と捉えて探索と活用の最適点探索を行いましたが、最適停止問題では一度見逃した店はもう選択できないという制約がありました…

ランチ最適化問題(秘書問題編)

はじめに 日々の生活を営む上で、ランチをどこで食べるかということは非常に重要な問題です。 ランチの選択肢としては、新しい店に入る(探索)と、今まで行ったことのある店で良かった店に入る(活用)のどちらかを行う必要があります。経験的に良かった店…

CausalImpactの理解と実装

はじめに 今回はCausalImpactについて書いていきたいと思います。 CausalImpactはgoogle製の効果測定用パッケージで、主に広告やキャンペーンの効果を測定するのに用いられます。 なぜ広告やキャンペーンの効果を測定するのにこういうものが必要なのかという…

差分の差分法(difference in difference)を試す

はじめに 最初は最近話題(?)のCausalImpactについて書こうと思っていたのですが、その基礎となる差分の差分法(difference in difference)についての知識が不足していたため、この記事では差分の差分法について試したことを記述していきます。 差分の差分…

NCAAコンペ反省文(2019)

はじめに 下記のNCAAコンペに参加した反省文です。 https://www.kaggle.com/c/womens-machine-learning-competition-2019 https://www.kaggle.com/c/mens-machine-learning-competition-2019 このコンペのタスクは全米大学体育協会(NCAA)が毎年春に主催す…

カルマンフィルタを用いた状態空間モデルの推定

はじめに 時系列解析については以前にMCMCを用いた状態空間モデルの推定を行なったのですが、状態空間モデルの推定方法としてカルマンフィルタも知っておいた方が良さそうだったので、今回はカルマンフィルタの実装を行なっていきます。 状態空間モデルの推…

傾向スコアと機械学習とprobability calibrationの話

はじめに RCTが使えない場合の因果推論の手法として傾向スコアを使う方法があります。 傾向スコアの算出はロジスティック回帰を用いるのが一般的ですが、この部分は別にlightgbmとか機械学習的な手法でやってもいいのでは?と思っていましたが既にやっている…

一般化加法モデル(GAM)について考える

はじめに 機械学習を現実の問題に適用する場合、そのモデルに説明性が求められることが少なからず存在すると思います。 その場合、精度を犠牲にして線形回帰を実施するでしょうか?木系モデルの重要度を頑張って説明するでしょうか?それともSHAPやLIMEなど…

AtCoderの問題難易度を推定する(機械学習編)

はじめに 以前に、AtCoderの問題難易度の推定を項目反応理論を用いて行いました。 これは統計モデリングを使った方法だったのですが、同様のことを機械学習でできないこともないな、 と思い今回は機械学習を用いて問題難易度の推定を行うことにしました。 手…

潜在ランク理論を用いてポケモンをランク分けする

R

はじめに 趣味でテスト理論周りをいろいろ漁っていて、潜在ランク理論というものを見つけました。 潜在ランク理論の特徴は、例えばテストの得点では1点刻みの連続的な能力評価を行うのに対して、 段階的で順序的な能力評価を行う点です。 テストにおける1点…

AtCoderの問題難易度を項目反応理論を用いて推定する

はじめに AtCoderは競技プログラミングのサイトです。ほぼ毎週のようにコンテストが開催され、参加者が複数の問題を解き、解いた問題数とその早さから順位がつきます。また各参加者はレーティングを持っていて、そのレーティングが順位によって変化するとい…

CM視聴の効果を推定する(負の二項分布編)

はじめに 前回 は、ゼロ過剰ポアソンを用いてCM視聴がゲームのプレイ時間に与える効果の測定を行いました。 ゲームのプレイの有無に与える効果の部分はうまく推定できましたが、 ゲームをプレイする時間に与える効果はポアソン分布ではうまく推定することが…

ココイチのスプーンの当選確率をベイズ推定する

はじめに 最近ココイチでスプーンがあたるキャンペーンをやっていますね。 ベイズをやっていると、こういうときに手持ちの情報から当選確率をどこまで推定できるか気になりますね。 ということで、5回ココイチに行って2つのスプーンをゲットしてきました。 …

CM視聴の効果を推定する(ゼロ過剰ポアソン編)

はじめに 最近は統計モデリングについて学んでいますが、具体的にこういうケースでは統計モデルを使うべきだというケースが自分の中で定まっていません。そのあたりをつけるために実験を行なっていきたいと思います。 データセット 今回は こちらの岩波デー…

状態空間モデルのれんしゅう(レストランの来客予測)

はじめに 時系列解析を行う上で、状態空間モデルが現状使用できる手法の中で優れているのではと自分の中で話題だったので、 使ってみることにしました。 状態空間モデルを使うことの目的 時系列解析を行う上でもモデルの種類は無数にあるのですが、 どういう…

「勢い」が存在するかを統計的に確認する(大相撲編)

はじめに スポーツの世界においては「勢いがある」、「流れが来ている」等の表現がよくされると思うのですが、これらはオカルトではなく実際に存在するものなのでしょうか?この分野ではバスケのホットハンドの話が有名で、色々な方が研究されているのような…

テニス選手の強さをベイズモデリングで分析する

はじめに stanとRでベイズ統計モデリングを読み終えました。 本の10章の将棋の強さと勝負ムラを推定するという内容が面白かったため、 自身の興味のあるテニスで同様のことを実施してみました。 探したら同じテーマでやっている記事があったのですが、 元体…

箱根駅伝で優勝する確率をエントリー時のタイムを用いて予測してみる

はじめに 箱根駅伝は好きで割と毎年見ているのですが、 マラソン系の競技ってパフォーマンスの分散が対人競技と比較すると小さくなるため、実は事前の情報から結果を予測することが比較的容易なんじゃないか?という疑問が浮かんだので、各大学が優勝する確…