そう言えば3年前にこんなまとめ的エントリを書いたのでした。この内容はそのままかなりの部分が2年前に刊行した拙著の原案にもなったということで、色々思い出深いエントリです。
なのですが。・・・この3年の間に統計学・機械学習・データマイニングの諸手法及びそれを取り巻くビジネスニーズには様々な進歩があり、そろそろこの内容にも陳腐化が目立つようになってきました。ということで、3年間の進歩を反映してアップデートした記事を書いてみようと思います。前回は「10選」でしたが、今回は「10+2選」に改めました。そのラインナップは以下の通り。
- 統計学的検定(t検定・カイ二乗検定・ANOVAなど)
- t検定
- カイ二乗検定
- ANOVA(分散分析)
- その他の検定
- 重回帰分析(線形回帰モデル)
- 一般化線形モデル(GLM:ロジスティック回帰・ポアソン回帰など)
- ランダムフォレスト
- Xgboost(勾配ブースティング木)
- Deep Learning
- 追記:MXnetのRパッケージ{mxnet}を用いたConvolutional Neural Networkによる例
- MCMCによるベイジアンモデリング
- 追記:ベクトル化したStanスクリプトの例
- word2vec
- K-meansクラスタリング
- グラフ理論・ネットワーク分析
- その他の有用な手法たち
- LDA及びトピックモデル
- 因子分解(SVD・NMFなど)
- 統計学・機械学習の諸手法について学ぶ上で確認しておきたいポイント
- 最後に
- 追記
前回よりだいぶ組み替わりましたが、それだけ実務の現場で用いられるデータ分析手法の領域が広がったということかなと勝手に考えております(笑)。また、利用するパッケージ・ライブラリの都合上今回はRだけではなくPythonのものも含めています*1。ただし基本的にはR上での実行例を紹介していく感じです。
一方、「補」をつけた2手法についてはデータ分析業界では広く使われているものの僕が普段実践していない手法であるため、そこだけは基本的には他の資料を参照しながらの紹介に留めています。ということで、以下ざっくり見ていきましょう。
続きを読むDisclaimer
- 今回も基本的には「ひとつの記事で大雑把に眺めたい」人向けの記事なので、ちょこちょこ細かいところで厳密性を欠いていたり、説明不足だったり、はたまた他に必要な資料の提示が欠けているところもあるかと思いますので、その辺は何卒ご容赦を。またスクラッチからの実装に必要な知識を提供するものでもありませんので、どうか悪しからず
- 今回の記事ではそれぞれのデータ分析手法を紹介することに主眼を置いているので、個々のパッケージ・ライブラリ類及びそれらのビルドに必要なコンパイラ環境などのインストール方法などの詳細はほぼ割愛しております。インストールに際しては適宜リンク先の記事を参照するなり、ググるなりしてください
- ただし、明らかに理論的に誤っている説明などがある場合は直ちに修正いたしますので、コメント欄なりSNS上でのコメントなりでTJOまで是非お知らせください