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

[cover photo]
TOPICS
Programming , Data Science , Database , R , Ruby
発行年月日
PRINT LENGTH
284
ISBN
978-4-87311-615-0
原書
Exploring Everyday Things with R and Ruby
FORMAT
PDF
Ebook
3,080円
Ebookを購入する

人気の高いオープンソースのツール、RとRubyを使い、生データを処理し、シミュレーションし、仮説を立て、統計的手法を用いて検証する、というデータ解析の基本の理解を促します。基本が学べるだけでなく、自分のメールボックスや自分の心臓の鼓動など身近な題材を対象としており、データサイエンスの醍醐味を味わうことができる一冊です。日本語版ではさまざまな統計分析手法についての入門となる章を追加。この本で使っている統計の基礎も学べる構成になっています。プログラマ視点で書かれた本書は、ビッグデータを活用するためのスキルを身に付ける必要に迫られた多くの開発者にとっても貴重な情報源となるでしょう。

関連ファイル

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

第1刷正誤表

1刷正誤表

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

2013年5月20日更新

位置
p.9
9行目
a[1..3] # [2. 'this', 'is'] a[1..3] # [2, 'this', 'is']

(2の後のピリオド→カンマ)
p.50
一番下の
コード片
2行目
> bDisconnect(con) > dbDisconnect(con)
p.87
9行目
これは、システムを記述可能なアルゴリズムを導出することが困難な場合に これは、システムを記述できるアルゴリズムの導出が困難な場合に
p.103
図4-5
凡例
平均値
中央値
最大値
最大値
平均値
中央値
p.143
下から
5行目
シミュレーションの問題を解決をする シミュレーションの問題を解決する
p.182
5行目
inspect(head(sort(subset(in_ap, subset = lhs %pin% "pg&e"), by = "support"),n=20)) inspect(head(sort(subset(in_ap, subset = lhs %pin% "pge"), by = "support"),n=20))
p.182
下から
6行目
pg&e、crisis、edison)を条件部に含むルールを抽出し、 pge、crisis、edison)を条件部に含むルールを抽出し、
p.182
下から
3行目
inspect(head(sort(subset(in_ap, subset = lhs %pin% "pg&e"), by = "support"),n=20)) inspect(head(sort(subset(in_ap, subset = lhs %pin% "pge"), by = "support"),n=20))
p.183
5行目
コードブロックの前に、右の21行を追加。
   lhs                  rhs              support confidence     lift
1  {pge}             => {power}       0.04131950  0.7043478 3.079754
2  {pge}             => {california}  0.03876892  0.6608696 3.485717
3  {pge}             => {energy}      0.03689849  0.6289855 2.919545
4  {pge}             => {utilities}   0.03655841  0.6231884 5.603931
5  {pge}             => {market}      0.03417786  0.5826087 2.891411
6  {pge}             => {enron}       0.03417786  0.5826087 1.212857
7  {california, pge} => {power}       0.03417786  0.8815789 3.854696
8  {pge, power}      => {california}  0.03417786  0.8271605 4.362808
9  {pge}             => {gas}         0.03400782  0.5797101 4.049021
10 {energy, pge}     => {power}       0.03349770  0.9078341 3.969496
11 {pge, power}      => {energy}      0.03349770  0.8106996 3.763003
12 {pge}             => {subject}     0.03332767  0.5681159 1.214059
13 {pge, utilities}  => {power}       0.03264751  0.8930233 3.904736
14 {pge, power}      => {utilities}   0.03264751  0.7901235 7.105070
15 {pge, utilities}  => {california}  0.03128720  0.8558140 4.513939
16 {california, pge} => {utilities}   0.03128720  0.8070175 7.256988
17 {market, pge}     => {power}       0.03128720  0.9154229 4.002678
18 {pge, power}      => {market}      0.03128720  0.7572016 3.757893
19 {pge}             => {utility}     0.03077708  0.5246377 5.799613
20 {pge}             => {time}        0.03060704  0.5217391 2.478472
p.184
下から
13行目
 lhs は条件部、rhs は結論部を表します。上記の結果ではcrisis とedisonが条件部に含まれたものが表示されています(つまりbankruptcyとpg&eを含むルールは上記のスクリプトの条件では発見されませんでした)。
 support は支持度と呼ばれ、ルールが全トランザクションでどの程度出現するかを表す割合です。つまり1 つ目の相関ルールの場合、受信メールの5.5% には、crisis とcalforniaがともに出現していたということを表します。
 confidence は確信度と呼ばれ、条件部が発生した場合に結論部に発生する割合です。つまり1 つ目の相関ルールの場合、受信メールにcrisisが出現する場合、82% の割合でcalfornia が出現したということを表します。
 lhs は条件部、rhs は結論部を表します。上記の結果ではpge、crisis、edisonが条件部に含まれたものが表示されています(つまりbankruptcyを含むルールは上記のスクリプトの条件では発見されませんでした)。
 support は支持度と呼ばれ、ルールが全トランザクションでどの程度出現するかを表す割合です。つまり1 つ目の相関ルールの場合、受信メールの4.1% には、pgeとpowerがともに出現していたということを表します。
 confidence は確信度と呼ばれ、条件部が発生した場合に結論部に発生する割合です。つまり1 つ目の相関ルールの場合、受信メールにpgeが出現する場合、70% の割合でpower が出現したということを表します。
p.185
2行目
 この結果を見ると、crisis とedisonを含む条件部に対して  この結果を見ると、pge、crisis、edisonを含む条件部に対して

目次

目次

訳者まえがき
はじめに

1章 武器と防具の装備
    1.1 Ruby
        1.1.1 なぜRubyか
        1.1.2 Rubyのインストール
        1.1.3 Rubyを実行する
        1.1.4 外部ライブラリの使用方法
        1.1.5 Rubyの基礎
        1.1.6 すべてがオブジェクト
    1.2 Shoes
        1.2.1 Shoesとは何か
        1.2.2 七色のShoes
        1.2.3 Shoesのインストール
        1.2.4 プログラミングShoes
    1.3 まとめ

2章 いざマトリックスへ
    2.1 Rとは
    2.2 Rの利用
        2.2.1 Rコンソール
        2.2.2 ソースファイルの読み込みとコマンドライン
        2.2.3 パッケージ
    2.3 プログラミングR
        2.3.1 変数と関数
        2.3.2 条件文とループ
        2.3.3 データ構造
        2.3.4 データのインポート
    2.4 グラフ描画
        2.4.1 基本的なグラフ
        2.4.2 ggplot2とは
    2.5 まとめ

3章 8つの魔法の修得
    3.1 確率分布
        3.1.1 正規分布
        3.1.2 ポアソン分布
    3.2 t検定
        3.2.1 2標本t検定
    3.3 シャピロ・ウィルク検定
    3.4 ウィルコクソンの順位和検定
    3.5 感度分析
    3.6 アソシエーション分析
    3.7 スペクトル分析
    3.8 ジニ係数とローレンツ曲線

4章 オフィスとトイレの関係
    4.1 シンプルなシナリオ
    4.2 トイレその他をモデルとして表現する
    4.3 最初のシミュレーション
    4.4 データを読み解く
    4.5 2つ目のシミュレーション
    4.6 3つ目のシミュレーション
    4.7 最後のシミュレーション
    4.8 まとめ

5章 ランチタイムの経済学者になる方法
    5.1 見えざる手
    5.2 シンプルな市場経済
        5.2.1 生産者
        5.2.2 消費者
        5.2.3 ユーティリティメソッド
        5.2.4 シミュレーション
        5.2.5 シミュレーション結果の分析
        5.2.6 本当に5ドル付近と言えるのか
        5.2.7 売り手市場
    5.3 価格にしたがったリソース配分の導入
        5.3.1 生産者
        5.3.2 消費者
        5.3.3 市場
        5.3.4 シミュレーション
        5.3.5 シミュレーション結果の分析
        5.3.6 価格のコントロール
    5.4 まとめ

6章 メールから自分を発見する
    6.1 着想
    6.2 入手と構文解析
        6.2.1 エンロン幹部のメールの癖
    6.3 自分自身の発見
        6.3.1 月の日付別のメッセージ数
        6.3.2 MailMiner
        6.3.3 曜日別のメッセージ数
        6.3.4 月別のメッセージ数
        6.3.5 時間帯別のメッセージ数
        6.3.6 メールのやり取り
        6.3.7 相対的なメールのやり取り
    6.4 テキストマイニング
    6.5 アソシエーション分析
    6.6 まとめ

7章 心臓の鼓動
    7.1 波打つ鼓動
    7.2 聴診
        7.2.1 ハンドメイド・デジタル聴診器
        7.2.2 音からのデータ抽出
        7.2.3 心音波形の生成
        7.2.4 心拍数を求める
    7.3 酸素濃度測定
        7.3.1 ハンドメイド・パルスオキシメーター
        7.3.2 ビデオからのデータ抽出
        7.3.3 鼓動波形の生成と心拍数の計算
    7.4 まとめ

8章 鳥の群れを表現する
    8.1 Boidsの起源
    8.2 シミュレーション
    8.3 Roids
    8.4 Boidの群れのルール
    8.5 補助ルール
    8.6 ルールの変化形
    8.7 周回するRoid
    8.8 障害物を置く
    8.9 まとめ

9章 お金と性別と進化
    9.1 いい暮らし
    9.2 お金
    9.3 性別
        9.3.1 生と死
        9.3.2 性別の導入における変更点
    9.4 進化
        9.4.1 変更すべき箇所
        9.4.2 実装
    9.5 まとめ

参考文献
索引