StatsFragments

Python, R, Rust, 統計, 機械学習とか

2014-11-01から1ヶ月間の記事一覧

多層パーセプトロンの動きを可視化する

概要 多層パーセプトロン記事の補足。下の記事の最後で、入力されたデータを隠れ層で線形分離しやすい形に変換している、ということを確かめたかったが、MNIST データでは次元が高すぎてよくわからなかった。ということで、もうちょっとわかりやすい例を考え…

Theano で Deep Learning <2> : 多層パーセプトロン

Python Theano を使って Deep Learning の理論とアルゴリズムを学ぶ会、第二回。 目次 DeepLearning 0.1 より、 第一回 MNIST データをロジスティック回帰で判別する 英 第二回 多層パーセプトロン (今回) 英 第三回 畳み込みニューラルネットワーク 英 第四…

Python pandas の算術演算 / 集約関数 / 統計関数まとめ

概要 恒例の pandas 記事。今回は 基本的な算術演算についてまとめた。このあたりの挙動は numpy と一緒で直感的だと思うが、知っていないとハマるポイントがいくつかあるので。 準備 サンプルは DataFrame のみ。だが内容は Series でも同じ ( 行/列 2次元…

Theano で Deep Learning <1> : MNIST データをロジスティック回帰で判別する

概要 ここ数年 Deep Learning 勢の隆盛いちじるしい。自分が学生の頃は ニューラルネットワークはオワコン扱いだったのに、、、どうしてこうなった?自分もちょっと触ってみようかな、と記事やらスライドやら読んでみても、活性化関数が〜 とか、 制約付き何…

ロジスティック回帰 (勾配降下法 / 確率的勾配降下法) を可視化する

いつの間にかシリーズ化して、今回はロジスティック回帰をやる。自分は行列計算ができないクラスタ所属なので、入力が3次元以上 / 出力が多クラスになるとちょっときつい。教科書を読んでいるときはなんかわかった感じになるんだが、式とか字面を追ってるだ…

pandas でメモリに乗らない 大容量ファイルを上手に扱う

概要 分析のためにデータ集めしていると、たまに マジか!? と思うサイズの CSV に出くわすことがある。なぜこんなに育つまで放っておいたのか、、、? このエントリでは普通には開けないサイズの CSV を pandas を使ってうまいこと処理する方法をまとめたい…

{flexclust} + DTW で 時系列を k-means クラスタリングする

概要 下の記事のつづき。下の記事では DTW (Dynamic Time Warping) 距離を使って階層的クラスタリングを行った。続けて、 DTW 距離を使って 非階層的クラスタリング (k-means法) を試してみる。 stats::kmeans では任意の距離関数を利用することはできないた…

Python pandas データ選択処理をちょっと詳しく <後編>

概要 こちらの続き。これで pandas でのデータ選択についてはひとまず終わり。 Python pandas データ選択処理をちょっと詳しく <前編> - StatsFragments Python pandas データ選択処理をちょっと詳しく <中編> - StatsFragments サンプルデータの準備 データ…

{TSclust} ではじめる時系列クラスタリング

概要 こちらで書いた 動的時間伸縮法 / DTW (Dynamic Time Warping) を使って時系列をクラスタリングしてみる。ここからは パッケージ {TSclust} を使う 動的時間伸縮法 / DTW (Dynamic Time Warping) を可視化する - StatsFragments {TSclust} のインストー…

Python pandas データ選択処理をちょっと詳しく <中編>

こちらの続き。 Python pandas データ選択処理をちょっと詳しく <前編> - StatsFragments 上の記事では bool でのデータ選択について 最後にしれっと書いて終わらせたのだが、一番よく使うところなので中編として補足。 まず __getitem__ や ix の記法では、…

動的時間伸縮法 / DTW (Dynamic Time Warping) を可視化する

いま手元に 20万件くらいの時系列があって、それらを適当にクラスタリングしたい。どうしたもんかなあ、と調べていたら {TSclust} というまさになパッケージがあることを知った。 このパッケージでは時系列の類似度を測るためのさまざまな手法 (=クラスタリ…

Python pandas データ選択処理をちょっと詳しく <前編>

概要 書いていて長くなったため、まず前編として pandas で データを行 / 列から選択する方法を少し詳しく書く。特に、個人的にはけっこう重要だと思っている loc と iloc について 日本語で整理したものがなさそうなので。 サンプルデータの準備 import pan…

Python pandas で日時関連のデータ操作をカンタンに

概要 Python で日時/タイムスタンプ関連の操作をする場合は dateutil や arrow を使っている人が多いと思うが、 pandas でもそういった処理がわかりやすく書けるよ、という話。 pandas の本領は多次元データの蓄積/変形/集約処理にあるが、日時操作に関連し…

R ggplot2 で線形回帰/一般化線形モデルの残差プロット

ggplot2 で出力している他のグラフとデザインを揃えたかったので作ってみた。 インストール library(devtools) install_github('sinhrks/ggfortify') サンプル デフォルトの plot と (ほぼ) 同じ見た目にしたつもり。 library(ggplot2) library(ggfortify) m …

R {seasonal} パッケージで X13-ARIMA-SEATSを使う

X13-ARIMA-SEATS とは 米国国勢調査局 (Census Bureau)で開発している 時系列処理/季節調整プログラム。日本の統計データも 前身バージョンの X12-ARIMA を利用して季節調整しているのをよく見かける。X13 では これまでの季節調整 (X12-ARIMA) に加え、欧州…

KalmanFilter の動きを可視化する 二次元版

こちらのつづき。一次元での動きはわかってきたので、今回は二次元でやってみる + KalmanFilter の予測 F を入れてみる。 KalmanFilter の動きを可視化する 一次元版 - StatsFragments 二次元への拡張 まず以下の条件で考える。 二変数は とし、それぞれ独立…

KalmanFilter の動きを可視化する 一次元版

KalmanFilter をきちんと理解したいのだが いまいち 具体的な動作がわからない、、、ということで実装 & 可視化してみた。 KalmanFilter とは 誤差が乗っているであろう観測値の系列について、直前の観測と現在の観測を用いて 真の状態を推定する手法。例え…

Python lifelines で生存分析

サイトのアクセス履歴をみていたら "Python", "生存分析", "Kaplan-Meier" なんかがちらほらあったので、知っている方法を書いてみる。 生存分析とは いくつかのサンプルについて、何らかのイベントが起きるまでの時間とイベント発生率との関係をモデル化す…