東京に棲む日々

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

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ステージ)を組む必要があったので、その…

単なるSQLメモ

SQL

このようなSampleデータがあったとする。 Group別に、時間(Min)が最大となる行を取り出したい。 クエリー実行後。 SELECT T1.*FROM Sample T1INNER JOIN( SELECT Group, MAX(Min) AS MAX_Min FROM Sample GROUP BY Group) T2 ON T1.Group = T2.Group AND T…

モデル評価基準 追加 - リフトチャートに関して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(…

Python学習メモ - 教材

Pythonの勉強教材 Think Pythonの日本語訳はここ Think Python 作者: Allen B. Downey 出版社/メーカー: O'Reilly Media 発売日: 2012/08/14 メディア: Kindle版 この商品を含むブログを見る 章中練習問題の回答はここ 章末練習問題の回答はここ

状態空間モデル - 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.カンパニョーリ,和合肇,萩原淳一郎 出版社/メ…

R 最適化計算 - optimize(), optim()

R

optimize(), optim() の使い方に関するメモ。 (1)optimize()による1パラメータ推定 ベクトルXの平均値を(ややこしく)求めてみる。 X <- c(1, 2, 3, 5, 8)mean(X) # 3.8 optimize()を適用し、パラメータの最適値を求める対象の関数をまず定義する。 find…

Python - pandas練習3 (氏名のマスキング)

個人名(日本語)の簡単なマスキング操作。実行はipython。 import pandas as pdfrom pandas import Series, DataFrameimport string # 外部ファイルからの読み込み結果と同じとなるよう、日本語はunicodeと指定する。d1 = DataFrame({'id': [1, 2, 3, 4],'n…

Python - pandas練習2(日付の扱い)

以下のデータを読み込む。 import numpy as npimport pandas as pdfrom pandas import Series, DataFramefrom datetime import datetimeimport time d1 = pd.read_csv('C:\パス\Page_A.csv') d1 time_gmt time ip page 0 1396321984 2014/4/1 12:13 11.86.11…

Python - pandas練習1

以下のデータを読み込み、pandas でデータ加工を行う。 import numpy as npimport pandas as pdfrom pandas import DataFrame # csvファイルの読み込みd1 = pd.read_csv('C:パス\sample.csv') d1 pref city city_id pop pop_child debt 0 Tokyo Meguro 21 1.…

Rubyによるスクレイピング 練習1

Webからいろんなデータを取ってきたいなと思い、Rubyでスクレイピングを練習中。 損保ジャパン総研のページの”米国保険用語の解説”全ページの用語を取ってきて2列のデータに構造化する練習プログラム。 クローリングを行いすべてのHTMLをローカルに落として…

ベンダー側からクライアント側へ

昨今のデータサイエンスブーム以前から、大学、大学院、ITベンダーで統計学をやってきて、統計知識がいろんな企業で需要がでてきたそのブームに乗っかりクライアント側に転職して見て気づいたこと。 データ分析経験があると言っても、統計的なデータ分析を行…

R データフレームのFactor型変数の水準順序の入れ替え方法

R

スマートなやり方かどうかは分からないが、データフレームのFactor型変数の水準順序の入れ替え方法に関するメモ。 季節気温の疑似データを作成。Season=c( rep("春",5), rep("夏",3), rep("秋",4), rep("冬",3) )Temp=c( c(20,21,15,15,21), c(32,33,35), c(…

R データ確認(一変量集計)のための関数1

R

一変量集計や分布、度数のプロットが一度にできないとめんどくさいので、それ用の関数をとりあえず作成。 色々なデータではまだ試していません。 dataCheck1 <- function(Data, ngr=3){ print( "データのヘッド部分, head(Data)" ) print( head(Data) ) prin…

実験計画法 交絡と相関

実験計画法における、因子の交絡関係と相関関係に関して。 実験計画関連の業務では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 これはどんなモデルかと言うならば、目的変数が数値データの場合(回帰木)、その目的変数の平均…