RとRubyでデータ解析

Rの勉強に新鮮さを求めてRubyも混ぜました。RとRubyによるデータ解析入門を参考にしています。この本とにかく楽しいので、気分転換とかにいいと思います。一個一個のテーマが面白いのと、どういう意図でプログラムを書いたのか説明がしっかりとしているので、はまらないと思います。学習した内容だと本の内容になってしまうので、どんな感じかをざっくりと書きます。

RとRubyによるデータ解析入門

RとRubyによるデータ解析入門

 

オフィスとトイレの関係

オフィスとトイレの関係について解析してみたもの。イギリスのとあるオフィスで社員70人に対して男性用トイレ、個室2つと3つの小便器がある状態を想定していおり、トイレの数は妥当なものかを問題にしています。

このケースではモンテカルロシュミレーション法と呼ばれる手法を使用しています。

  1. プロセスあるいはシステムをモデル化する。
  2. ランダムな入力をつくり、モデルに適用する。
  3. 入力を与えるとモデルが出力する。
  4. 出力を分析して求める答えを導く。

この手順で行っています。

モデル化する部分をRubyで行っています。詳細なプログラムに関しては省きます。githubに上がってるようです。https://github.com/setoyama60jp/everyday

CSV.open('simulation.csv', 'w') do |csv|
  lbl = []
  population_range.step(10).each {|population_size| lbl << population_size}
  csv << lbl
  DURATION.times do |t|
     row = []
  	population_range.step(10).each do |population_size|
  	  row << data[population_size][t]
  	end
  	csv << row
  end
end

と記述することによって、データをcsv形式で出力しています。

このようにcsvで出力されます。このあとRを使って分析をしていくわけですが分析から価値ある答えを見つけるために統計的な考え方や、機械学習の考え方が必要になってくるようです。

分析ってイメージがあいまいでしたが、どういう流れでやっているかがわかるので非常に良いです。

ひとまずRとRubyによるデータ解析入門がすごく楽しいです。本当はもっと細かく書きたいのですが、ぼちぼち出かける時間なので一旦ここまで。