見出し画像

[プログラム・コード公開] コピペだけで11の見える化・可視化手法を一気に実行して結果を比較する! (R言語)

[New] 実業家として有名な堀江貴文さん(ホリエモン)のメルマガ[Vol.359]における副業紹介において、このプログラム・コード販売が、なんと 1番 に紹介され評価していただきました!

こんにちは!大学教員ブロガーのねこしです。http://univprof.com/

仕事や研究において、多次元・多変量のデータセットの内容を把握するため、まずデータセットを可視化する方もいらっしゃいます。データの可視化を行うに、いくつかの可視化手法を実行して、それらの結果を確認することがよい理由についてはこちらに書きました。

http://univprof.com/archives/17-02-21-12639621.html

しかし、可視化する方法はわかっても、実際に可視化ができるようになるわけではありません。ネットや本でプログラミングを説明しているものはありますが、データの読み込み方とか結果の出し方とか、他にも調べてやらなくちゃいけないこと、多いんですよね・・・。手間と時間がかかります。

そこで、すぐに11の見える化・可視化手法を一気に実行して結果を比較できるプログラムを作りました。R言語で実行ができます。

11の可視化手法はこちらです。

■主成分分析 (Principal Component Analysis, PCA):線形の可視化手法であり、データセットのばらつきが大きい方向に新たな軸を作ることで、少ない軸でより多くの情報を表現できる。

■カーネル主成分分析 (Kernel Principal Component analysis, KPCA):PCAとカーネル関数を組み合わせた非線形の可視化手法。本プログラムではガウシアンカーネルを使用。カーネルの行列(グラム行列)の分散が最大になるようにRBFカーネルのパラメータの値を選択。

■因子分析 (Factor Analysis, FA):各変数の線形結合で表されるデータセットの共通因子を抽出する手法。

■自己組織化写像 (Self-Organizing Map, SOM):ニューラルネットワークの一種。元のデータ空間において近いデータが、二次元マップ上においても近いように学習が行われる。マップの種類・トーラスパッピングかどうか・マップサイズ・学習回数・学習率を変更可能。

■Generative Topographic Mapping (GTM):SOMの問題点を解決する形で開発された方法。GTMによって得られた二次元マップ上において近いデータは、元のデータ空間においても近いことが保証されている。マップサイズ・RBFの数・ガウス関数の分散の値・λの値を自動的に最適化する機能付き。

■多次元尺度構成法 (Multi Dimensional Scaling, MDS):すべてのサンプル間で計算された距離の行列に基づいて、その距離関係がなるべく成り立つように二次元にサンプルを写像する手法。距離としてユークリッド距離を使用。

■Isometric Mapping (Isomap):MDSではすべてのサンプル間で距離を計算したが、Isomapでは近傍のN個のみのサンプル間のみの距離の計算とすることで、局所的な構造を可視化。N=5としてあるが変更も可能。

■Locally Linear Embedding (LLE):あるサンプルが、その近傍のN個のサンプルの線形結合で表現できるとか仮定し、その線形結合の重みが写像先でも一致するように二次元マップを作る。N=5としてあるが変更も可能。

■Radial Basis Function-based Spectral Embedding (RBFSE):サンプル間の隣接行列をスペクトル分解することで可視化する手法。隣接行列の作成にRadial Basis Function (RBF)を使用。カーネルの行列(グラム行列)の分散が最大になるようにRBFカーネルのパラメータの値を選択。

■Diffusion Map (DF):マップ上のランダムウォークに基づくdiffusion距離が近くなるように二次元平面に写像する手法。

■t-distributed Stochastic Neighbor Embedding (tSNE):非線形の可視化手法。見える化・可視化したいデータセットがあり、それを二次元マップ上で確認することが目的。Perplexityを10にしてあるが変更も可能。

データ形式・必要なソフトウェア

以下の記事に示す形式のデータさえ準備すれば、R言語で11の可視化手法を一気に実行することが可能です。

R言語のために必要なソフトウェアは以下の記事をご覧ください。

実行結果

実行結果を下に示します。最後に以下のcsvファイルが同じディレクトリ(フォルダ)に保存されます。

■ScoreAll.csv ・・・ それぞれの可視化手法における各サンプルの二次元座標

これらの結果を見ても、サンプルがよく ばらけて いて見やすい結果もあれば、サンプルが固まっていて見にくい結果もあることがわかります。良い結果を出す手法も、悪い結果を出す手法も、データセットごとに異なるわけです。そこで、今回のプログラムのように、多くの見える化・可視化手法を実行して、結果を比較する必要があります。

このプログラムからスタートしてさらにプログラミングを進めたいと考えている方にもぜひ利用していただければと思います。

プログラム公開

ここまでお読みいただきありがとうございます。

R言語のプログラムは有料コンテンツとします。ただこれにより、こちらに記載した複数の可視化手法をすぐに実行できます。

http://univprof.com/archives/17-02-21-12639621.html

こちらからプログラムのzipファイル自体はダウンロードできます。

http://univprofblog.html.xdomain.jp/code/visall_analysis_all_e_r_pass.zip

購入していただくと解凍のためのパスワードがありますのでそちらをご利用ください。

またこちらのzipファイルに必要なスクリプトと関数があります。パスワードはかけていません。購入後に使い方の説明があります。

http://univprofblog.html.xdomain.jp/code/R_scripts_functions.zip

すべて動作保証ずみですのでご安心ください。上のデータ形式に合わせていただければ、どんなデータにも使えるプログラムです。このプログラム一つでいろいろなデータを解析することができ、余裕で元が取れます。ご不明点などありましたら遠慮なくこちらに連絡をください。迅速に対応します!

http://ask.fm/univprofblog1

続きをみるには

残り 396字

¥ 9,800

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?