統計コンサルの議事メモ

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

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

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

前回の続きです。過去記事はこちらから。 ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com GAMの実装 bakfit backf1 1. 前処理 2. バックフィッティング 3. eta の再定義 gam.fit gam 終わりに GAMの実装 bakfit さて…

樋口先生退任記念シンポジウム参加記録

11/5に開催された元統計数理研究所の所長である樋口先生の退任記念シンポジウムに参加してきましたので、そのメモを共有しておきます。ご参考まで。やっぱり長らく研究をされてきた方のお話というのは面白いですね。 ご挨拶 統数研 椿広計 氏 統数研はモデリ…

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

前回の続きです。過去記事はこちらから。 ushi-goroshi.hatenablog.com ushi-goroshi.hatenablog.com GAMの実装 s.wam 1. 平滑化の対象変数について元のデータを順位に置き換え、smooth.frameを再定義する 2. 後でFortranに渡すために必要な指定を行う 3. Fo…

応用統計学フロンティアセミナー「データサイエンスと応用統計学」参加記録

10/19に開催された応用統計学フロンティアセミナーに参加してきましたので、そのメモを共有しておきます。話を聴きながらのメモなので単語しか書けず意味がわかりにくいところもありますが、ご参考まで。なおセミナーの様子は以下のtogetterでまとめられてい…

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

前回の続きです。 gam.fit() から。 前回記事はこちら。 ushi-goroshi.hatenablog.com GAMの実装 gam.fit() それでは gam.fit の中身を覗いてみましょう。 ### gam.fit は x, y に加えて smooth.frame を受け取る。これは gam で作った mf で、中身は平滑化…

GAMをもう少し理解したい

とても久しぶりの更新です。 背景 GAMの実行結果 GAMの実装 gam() 背景 業務でモデリングを行うとき、私は大抵の場合GLMから始めます。目的変数に合わせて柔軟に分布を選択することが可能で、回帰係数という極めて解釈性の高い結果を得ることができるという…

「ガウス過程と機械学習」第3章のグラフ(一部)を作図する④

前回の記事の続きです。 ushi-goroshi.hatenablog.com 今回は図3.23に挑戦します。データはこちらから該当する部分を取ってきました。 まずはプロットしてみます。一部のデータは除外しました。 dat <- read.table("./Data/World_Record.dat", sep = "\t", c…

「ガウス過程と機械学習」第3章のグラフ(一部)を作図する③

前回の記事の続きです。 ushi-goroshi.hatenablog.com 今回は図3.16と3.20に挑戦します。データはサポートサイト(http://chasen.org/~daiti-m/gpbook/data/gpr.dat)から取得しました。 dat <- read.table("http://chasen.org/~daiti-m/gpbook/data/gpr.dat",…

「ガウス過程と機械学習」第3章のグラフ(一部)を作図する②

前回の記事の続きです。 ushi-goroshi.hatenablog.com 今回は図3.9と3.11(P71と75)を作成してみます。generate_vectorはそのままですが、図3.9は二次元平面なのでget_cov_matはx2を考慮できるように修正しました。またapplyについてですが、この書き方なら…

「ガウス過程と機械学習」第3章のグラフ(一部)を作図する

※ 3/13 一部修正 いま「ガウス過程と機械学習」を読んでいるのですが、第3章のグラフが非常に面白かったので自分でも作図してみたところちょっと腹落ちするものがありました。せっかくなので記事にしておきます。今回グラフを作成したのは図3.7と3.8(P69、7…

データを小集団に分割しながら線形回帰の解を推定する

背景 手順 実装 1. 共通処理 1. X、yをそれぞれ小集団に分割する 2. 各小集団のXをQR分解する 2. R^{-1}を計算する 1. 各小集団からのRを統合する 2. 再度QR分解してRを得る 3. Rの逆行列を求める(R^{-1}) 3. Q'を計算する 1. 1-2で得られたQを2-2で得たQ…

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

背景 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 一般化線形モデル入門…