東京に棲む日々

データ分析、統計、ITを勉強中。未だ世に出ず。

Statistics

NN基礎からCNNと画像解析入門 - Chainer

大分前にちょこっと画像解析と畳込みニューラルネット(CNN)を勉強してて、周りに話そうかなと思ってスライド作ったけど、忙しくてそれどころじゃなくなったので、とりあえず保存。 Chainerのコードとかそのうちまとめて保存する予定...。 p.2 -11までがCNN…

A Small Study on Segmentation by Clustering Analysis

業務で、Webログや契約者データを用いて、クラスター分析を使ったセグメンテーション(顧客分類)に関して考える必要があったので、それに関するメモ。 1)セグメンテーションに関して 以下の文献で、参考になることが多かったので、引用とメモ。 中村 2008…

Stackingに関して(2)

前回の続き。 highschoolstudent.hatenablog.com サンプルデータの作成。あまり細かいことは考えず適当なパラメータ設定で適当に作成。 library(MASS) # 乱数の作成(多変量正規分布) library(glmnet) # Ridge回帰 library(lme4) # 混合モデル library(latt…

Stackingに関して (1)

予測モデルのコンペで使われているStackingという手法に関して。 モデルをEnsembleしまくって、マルチステージモデルにして予測精度を高めるときに使われる手法とのこと。 実務家な私も、業務でマルチステージモデル(2ステージ)を組む必要があったので、その…

モデル評価基準 追加 - リフトチャートに関して2 - R{ROCR}

highschoolstudent.hatenablog.com highschoolstudent.hatenablog.com 上2つの記事に関連した追加。 そもそもリフトチャートと呼ばれるものは定義があいまいなようで、人によって使っているものが細かく違ったりする。 基本的に似たようなものであるのだが、…

Gradient Boosting Treeを使ってみる - R{gbm} (Part.2)

前回に続き、いくつかの変数変換を試してみる。 <a href="http://highschoolstudent.hatenablog.com/entry/2015/06/27/144141" data-mce-href="http://highschoolstudent.hatenablog.com/entry/2015/06/27/144141">Gradient Boosting Treeを使ってみる - R{gbm} (Part.1) - 東京に棲む日々</a>highschoolstudent.hatenablog.com Partial Dependence Plotで気づいたこと…

Gradient Boosting Treeを使ってみる - R{gbm} (Part.1)

予測モデリングのコンペで良く使われるらしいGBMを業務で使うことになったので、その使い方メモ。 Rのbgmを使う。 理論的なことは↓をじっくりといつか振り返ることにして、とりあえず使ってみる。Ridgeway(2012), Generalized Boosted Models: A guide to th…

モデル評価基準 追加 - リフトチャートに関して1 - R{ROCR}

前回の「モデル評価基準 - ROCに関して - R{ROCR}」に関する追加。 モデル評価基準 - ROCに関して - R{ROCR} - 東京に棲む日々highschoolstudent.hatenablog.com リフトチャート/Lift Chartを描いてみる。 今回書く形式のリフトチャートは、累積反応曲線/Cum…

モデル評価基準 - ROCに関して - R{ROCR}

モデル評価をROCを用いて行うと仮定した場合の、考察とメモ。 RのROCRパッケージを使用。 混同行列(Confusion Matrix)の復習。 こんなデータがあったとする。 pred1、pred2はそれぞれ、モデル1、モデル2による予測値。observedは実測値。n=19で、Prob(obse…

GLMMを勉強してみる。 - R glmmML

GLMM(リンク関数=ロジスティック関数、分布=二項分布)を勉強してみる。RのglmmML使用。 久保(2012) の7章を参考。 データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学) 作者: 久保拓弥 出版社/メーカー…

多項ロジット(Multinomial Logit), R - mlogit 使用メモ

Rのmlogitパッケージで多項ロジット(Multinomial Logit)を使用する際のメモ。 まず、用語の整理。参考文献(A) p.8より。-------------------------A model with only individual specific variables is sometimes called a multinomial logit (多項ロジッ…

リッジ/Ridge回帰、Lasso回帰、Elastic Net (R - glmnet)

リッジ/Ridge回帰、Lasso回帰、Elastic Net に関して。 まず、モデルの複雑性とオーバーフィッティングに関して復習メモ。 複雑なモデル: バイアス(Bias)が小さく、バリアンス(Variance)が大きいシンプルなモデル: バイアスが大きく、バリアンスが小さい …

状態空間モデル - R dlm (5)

今回は回帰モデルを扱う。これを用いることにより、説明変数を時系列データのモデリングに含めることができるようになる。 x1 <- rnorm(50)x2 <- 0.3*x1 + rnorm(50)y1 <- 10*x1 + 5*x2 + rnorm(50) d1 <- data.frame(time=1:50, x1, x2, y1) par(mfrow = c(…

状態空間モデル - R dlm (4)

ARIMA(p,d,q)モデルを動的線形モデルで表現してみる。 ARIMAモデルの状態空間表現は一意に決定されないらしい、ここでは文献に従った形式を見て行く。 I(d)は差分を表し、通常のモデリングアプローチでは、データがトレンドを持ち非定常な場合は、その差分を…

状態空間モデル - R dlm (3)

今回は季節要素モデル。 例えば、データが四半期(周期=4)だった場合を考える。 Y[t-1] = α1 + v[t-1] Y[t] = α2 + v[t] Y[t+1] = α3 + v[t+1] Y[t+2] = α4 + v[t+2] α1+α2+α3+α4 = w[t], w[t] ~ N(0, w_seas) α1,2,3,4が各四半期成分となり、和が平均0で分…

状態空間モデル - R dlm (2)

前回より続く。 線形成長モデルは以下に定義される。 Y[t] = μ[t] + v[t], v[t]~N(0, V) μ[t] = μ[t-1] + β[t-1] + w1[t], w1[t]~N(0, W1) β[t] = β[t-1] + w2[t], w2[t]~N(0, W2) 動的線形モデルで表現する場合、各要素は以下になる。 t=0, θ[0]~N(m[0]…

状態空間モデル - R dlm (1)

状態空間モデル(正確には、時系列モデルの状態空間表現)の学習メモ。Rのdlmパッケージを使う。 参考書は ”和合 2013”。 Rによるベイジアン動的線形モデル (統計ライブラリー) 作者: G.ペトリス,S.ペトローネ,P.カンパニョーリ,和合肇,萩原淳一郎 出版社/メ…

実験計画法 交絡と相関

実験計画法における、因子の交絡関係と相関関係に関して。 実験計画関連の業務ではJMPをよく使う。JMPでは、作成した計画の交絡関係を定量的に把握できる行列が出力される。その交絡関係の出力値と相関係数の関係が不明だったので、ちょっと考えてみた。 ス…

気になっている分布をいくつか

変数yがカウントデータ(y = 0, 1, 2, 3, ….)のときの分布に関していくつか。 Poisson分布http://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A2%E3%82%BD%E3%83%B3%E5%88%86%E5%B8%83 パラメータλのみによって形状が定まる。 平均と分散は等しいE(y) =λVar(y) …

ランダムフォレスト1

前回の投稿「とりあえず決定木モデルを実行のためのメモ」で、決定木モデルを使ってみた。http://highschoolstudent.hatenablog.com/entry/2013/07/03/193603 これはどんなモデルかと言うならば、目的変数が数値データの場合(回帰木)、その目的変数の平均…

とりあえず決定木モデルを実行のためのメモ

Rでの決定木分析(分類木、回帰木)の実行に関して、こうではないかとのメモを記す。 CARTアルゴリズムによる決定木分析を行うパッケージはrpartとmvpartがある。 mvpartはrpartに機能拡張を加えた上位パッケージとのこと。 2重に読み込んだ場合、以下のメッ…

重回帰と変数選択

重回帰とその変数選択に関するメモ。 RにはF値による検定でのステップワイズ変数選択法はないのでしょうか?AICによる変数選択法である、step() 関数などは見当たるが検定による変数選択は見当たらない。Web検索でもヒットしない。 AICによる変数選択と検定…

ロジット変換に関して

ロジット変換に関して。 割合を目的変数とする厳密な解析では、ロジスティックモデルをあてはめたり、割合の発生率が小さな場合はポアソンモデルをあてはめたりする。目的変数が二項分布やポアソン分布に従うと仮定するからである。 だが、そういった目的変…

とりあえずニューラルネットを使ってみる

今後ニューラルネット(以下、NN)について調べていくが、とりあえず、nnet()関数でモデルを作成してみる。 NNであるが、複雑な非線形モデルと言ってよい。説明変数と目的変数が線形な関係でないとき、線形モデル(重回帰、主成分回帰、PLSなど)ではうまく…

PLSの計算

PLSを手計算し、その後関数での結果と比べてみる。 x1 <- c(0.966,0.207,-0.552,-0.931,0.587,1.55,-0.931,0.587,-1.69,0.207)x2 <- c(0.619,-1.009,-0.358,-0.684,0.944,1.921,0.293,0.293,-1.335,-0.684)x3 <- c(-0.474,-0.474,-1.684,0.735,-0.474,1.849,…

主成分分析とPLS

主成分分析では、以下の手順で解を求めた。合成変数をsとする。行数nの列ベクトルである。s = f_1 x1 + f_2 x2 + … + f_p xp = X ff_1, f_2, …, f_p が各変数に対応する係数である。f = (f_1, f_2, …, f_p)’を行数pの列ベクトルとする。 sの分散(Var(s))を…

主成分分析をNIPALSアルゴリズムで解いてみる

主成分分析とは、合成変数の分散を(ある制限の元)最大化する問題を解くことである。合成変数とは元のデータの各列を説明変数とする線形結合式で、この合成変数の分散が最大になるときの線形結合式の係数が固有ベクトルであり、そのときの合成変数を主成分…

主成分分析と特異値分解

―― 特異値分解 ―― A (n×p)をランクrの行列とする。 A = ULV’ と分解することができる。 ここで、U(n×r)とV(p×r)はそれぞれ列ベクトルが直行する。U’U = V’V = I、I(r×r)は単位行列。 L(r×r)は、正の値を対角要素に取る対角行列となる。L = diag(ψ1…

主成分分析を計算してみる

主成分分析を計算してみる。 x1 <- c(0.966,0.207,-0.552,-0.931,0.587,1.55,-0.931,0.587,-1.69,0.207)x2 <- c(0.619,-1.009,-0.358,-0.684,0.944,1.921,0.293,0.293,-1.335,-0.684)x3 <- c(-0.474,-0.474,-1.684,0.735,-0.474,1.849,-0.474,0.735,-0.474,0…