RでBI
忙しかったので久しぶりの更新です。
最近Rでこんなパッケージを発見して驚いた。その名もrpivotTable。なんとRでTableauのようなBIツールを再現してしまうという夢のようなパッケージだ。パッケージのインストールから実行までは以下のようになる:
install.packages("rpivotTable") library(rpivotTable) data(iris) rpivotTable(iris, rows="Species", "100%", "40pt")
上記を実行するとブラウザが開き、Tableauで見慣れたようなピボットテーブルが現れる。あとは好きなように変数を配置して表計算やグラフを作成すればよい。
もちろんTableauの方がグリグリ感は強いし、rpivotTableではドリルダウンなどもできないのだけれども、可視化と分析をシームレスに実行できるという点ではよっぽど使い勝手は良いと感じた。
出来映えも大変良く、shiny以来の衝撃を感じたので紹介しておく。
遺伝的アルゴリズムで変数選択を行うパッケージ
遺伝的アルゴリズム(GA)をRで実行するためのパッケージを探していたら、GAによる変数選択という非常に興味深いものを発見した。パッケージ名はGALGO。Genetic Algorithms to solve Optimization problemsらしい。早速使ってみたが、インストールに少し手間取ったので備忘として残しておく。
初めに成功したパターンを記載する。基本的にこちらのページに書いてある通りで良い。
"R.oo"や"R.methodsS3"、その他の必要なパッケージを予めインストールしておき、ダウンロードしておいたgalgo_1.2.tar.gzをソースからインストールするだけ。
CRANではなくソースからインストールする場合は、ソースが置いてある場所までsetwdした後に
install.packages("galgo_1.2.tar.gz", repos=NULL, type="source")
とすれば良い。
では何に手間取ったかというと、「galgo r example」などでGoogle検索した際にトップに表示される下のページ:
こちらに記載されている通りに進めると、古いバージョンのgalgoがリンクされていることから.tar.gzの中にNAMESPACEファイルが存在していないため、一度解凍したのちにNAMESPACEファイルを作成して再び圧縮する必要がある。
tar -xvf galgo_1.0-10.tar.gz cd galgo echo 'exportPattern( "." ) > NAMESPACE cd .. tar -zvf galgo_1.0_10mod.tar.gz galgo
こんな感じ。
ここまで進めて、さぁインストールするぞ!と思ってinstall.packages()を実行すると、エラーの嵐でインストールできない。Rのバージョンの問題なのかもしれないが未解決。
その後、再度他のページを探した結果、最初に紹介したページに行き着いてインストールが無事にできた。使用感はいずれ。
決定係数についての諸注意
決定係数は線形回帰分析においてモデルの精度を表す指標の一つで、1に近いほど良いモデルであるとされます。またこのは相関係数の二乗で求めることがあります。
しかしこれらの説明は必ずしも正しいとは言えないため、注意が必要です。
データ分析にあたっての参考書籍
データ分析に興味を持ち始めた方から、参考となる書籍についての質問を受けることがあります。統計や機械学習、データ分析に関する本は世に溢れているので、どれを読めばよいか困りますよね。そんな時にいつもお薦めしている本が2冊あります。
①統計学入門
isbn:9784130420655
東京大学が出版している統計学の教科書です。
内容が非常にしっかりしているため、統計学の基礎から勉強したい人に特にお薦めです。
②データ解析のための統計モデリング入門
isbn:9784000069731
こちらはフリーの統計解析ソフトRを用いて、一般化線形モデルというモデリング手法を解説しています。内容を理解するのは少し困難かもしれませんが、この本に記載されている内容を理解できれば、世のデータ分析プロジェクトの半分ぐらいは対応できるようになると思います。なおこの本はRでのコーディングという、どちらかと言えば実践的な面に重きを置いています。もう少し理論的な面から一般化線形モデルを理解したいという方には、以下の本もお薦めです。
③一般化線形モデル入門
内容はかなりハイレベルですが、一般化線形モデルを学ぶ上で最良の教科書とも言える一冊です。この本を読むと、一般化線形モデルがなぜ正規・二項・ポアソンなどの一部の分布に限られるのかが理解できます。また一般化線形モデルの枠組みを導入することでこれらの分布を無理なく統一的に扱えるようになり、重回帰以外の回帰を学ぶ上で非常に理解が容易になります。
さらに、最近読んだ本の中では圧倒的・感動的に素晴らしい本がありました。かなりエンジニア向けですがご紹介。
④データ分析プロセス
isbn:9784320123656
データ分析は「難解なアルゴリズムを大量のデータに適用し、人が検知できない複雑なパターンを発見する」という一見して華やかな作業のように思えるかもしれませんが、実際には作業全体の8割ぐらいをデータの加工に費やしたりします。その加工手順について詳細に記した資料はあまりなく、またそれぞれ独自の流儀があったりするのですが、この本はそういった種々の「データ加工」について非常に多くの文献を紹介しつつ解説を行います。自分で手を動かしながらデータ分析の一連のプロセスについて理解したい、という人に大変お薦めです。
以上、統計やデータ分析を学ぶにあたっての参考となる書籍の紹介でした。
Google's R style Guide
プログラミングは人によって色々と「お作法」が異なっているため、他人の書いたコードを見ると非常に勉強になったり、はたまた困惑したりします。
個人の趣味や絶対に他人が関わらない範囲であれば構わないのですが、チームでプロジェクトに入った時などは、保守/引き継ぎの観点からも可読性を高めておくことが重要です。
そこで下記。
こちらはRを使ったプログラミングを行うときのGoogleのルールだそうです。
Rguide.xml
私もこちらを参考にしています。