酒と泪とRubyとRailsと

Ruby on Rails と Objective-C は酒の肴です!

統計解析 & R言語 超初心者入門資料まとめ

興味を持ち続けていた統計解析や、R言語の勉強をはじめました!まだまだ初歩の初歩ですが、この記事がいつか偉大な一歩になれるように頑張っていく所存ですw

まずは、R言語や統計解析に関する入門記事や、モチベーションがアップしそうな記事をまとめていきます!


[スライド] 統計学入門

統計学の全体像をつかむのに最適なスライドです。初歩。。。とはちょっと呼べないくらい内容が深いです!

[スライド] はじめての「R」

統計解析を始めるときにWindowsな方も、Macな方もとっつきやすのが『R』です。このRを完全初心者をターゲットに説明をして頂けている資料です。超わかりやすいです!

Windows/Macのパッケージ版

下のサイトからパッケージをダウンロード&インストール。

Windows版

Mac版

Mac コマンドラインのRインストール手順

パッケージ版もありますが、コマンドライン版のRをインストールする手順を紹介します。

まず『XQuartz』からXQuartzのパッケージをDL&インストールします。ちなみにこのXQuartzはX Window SystemをMacで動くようにするためのものです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Homebrewをupdate
brew update

# コンパイラ gfortranのインストール
brew install gfortran

# フォーミュラをhomebrewの中に取り込む
brew tap homebrew/science

# Rのインストール
brew install R

# Rの起動
R

# Rを終了するためのコマンド
q()

とある弁当屋の統計技師

http://rmecab.jp/ranko/chap1.html

こちらはRの導入から始まって基本的な使い方のチュートリアルまでをかなり細かく解説をしてくれています。導入の時には一番オススメなサイトです!

[書籍] Rによるやさしい統計学

これは最近購入して読み進めている『Rによる統計解析』です。まだ前半戦の状態ですが、この中で特に覚えておきたい部分を中心にメモを書いていきます。


2章: 1つの変数の記述統計

データ解析の出発点となる『1つの変数』の記述方法についての説明。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# c: データの値を結合させる
a <- c(1, 2, 5, 10, 15, 5)

# ベクトル/行列の要素の平均 (行平均, 列平均)
mean(a) #=> 6.333333

# 中央値
median(a) #=> 5

# 頻度を整理して得られる分布である「度数分布」の表を作る
table(a)
a
 1  2  5 10 15
 1  1  2  1  1

# 分散
## 確率変数の分布が期待値からどれだけ散らばっているかを示す値。
var(a)

# 標準偏差
## ある集団についてのデータがどのように分布しているかを表す値。
sd(a)
sqrt(mean((a-mean(a))^2))

3章: 2つの変数の記述統計

『2つの変数における量的変数における関係、質的変数における関係』についての説明です。ちなみに量的変数と質的変数の説明は次の通り。

量的変数: データ間に優劣や大小が比較できる。『テストの点数』のような数値データ
質的変数: データ間に優劣がなく、大小関係が比較できない。「男・女」や「好き・嫌い」など
1
2
3
4
5
6
7
8
9
10
11
12
# 分散図(グラフの表示)
a <- c(1,2,3,4,5)
b <- a * 2
plot(a, b)

# 共分散(数値)
## 2つのデータが、どれだけ関連性・連動性があるかを示す係数
cov(a, b) #=> 5

# 相関係数
## 2つのデータが、どれだけ関連性があるのかを示す係数
cor(a, b) #=> 1 

相関係数は-1 <= r <= 1で次のように関係性がわかります。

-0.2 <= r <=  0.2                 #=> ほとんど相関なし
-0.4 <= r <  -0.2, 0.2 < r <= 0.4 #=> 弱い相関あり
-0.7 <= r <   0.4, 0.4 < r <= 0.7 #=> 中程度の相関あり
-1.0 <= r <  -0.7, 0.7 < r <= 1.0 #=> 強い相関あり 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# クロス集計表
## 質的変数の関係について表す
math <- c('like', 'hate', 'like', 'like', 'hate')
statistics <- c('hate', 'like', 'hate', 'like', 'like')
table(math, statistics)
      statistics
math   hate like
  hate    0    2
  like    2    1

# ファイ係数
## 1と0の2つの値からなる変数(二値変数)に対して計算される相関係数
math_zero <- ifelse(math=='like', 1, 0)
math_zero #=> 1 0 1 1 0
statistics_zero <- ifelse(statistics=='like', 1, 0)
statistics_zero #=> 0 1 0 1 1
cor(math_zero, statistics_zero)

第4章: 母集団と標本

大きな集団(母集団)から取り出した少数のデータ(標本)を使って『もとの集団の性質について推測する』ための推測統計の基本的な理論についての学習。

母集団と標本の説明はこちら。

母集団: データ全体を指す。国民全体、工業製品全体など
標本: 母集団から取り出したデータの一部

推測統計の分類についてはこちら。

推定: 具体的な数値を用いて『母数の値は◯◯くらいだろう』という結論を導くこと
点推定: 1つの値で空いての結果を表す。日本の中学生の数学平均点が「60点」と推定
区間推定: ある程度の幅を持った区間で結果を表す。数学平均が『50-70点』と推定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
## サイコロを6回ふった場合、サイコロのすべての目が1回ずつ出るのは稀
> dice6 <- ceiling(runif(n=6, min=0, max=6))
> table(dice6)
dice6
2 3 4
1 2 3

## サイコロを600万回ふった場合、1/6に限りなく近づく
> dice6m <- ceiling(runif(n=6000000, min=0, max=6))
> table(dice6m)
dice6m
      1       2       3       4       5       6
 999612 1000211  998870  999613 1000366 1001328

>table(dice6m)/6000000
dice6m
        1         2         3         4         5         6
0.1666020 0.1667018 0.1664783 0.1666022 0.1667277 0.1668880

男性が2/3、女性が1/3を表す棒グラフはこちら。

1
barplot(c(2/3, 1/3), names.arg=c('man', 'woman'))

出来上がったグラフがこちら。

スクリーンショット 2014-02-16 8.12.38

まずはここまで。引き続き読み進めながらメモを書いていきます。将来的には分離して別の記事にする予定です。

[Web] R-Tips : Rの基本的なコマンドの使い方がわかる

http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

Rをプログラミング言語の側面で特に覚えておくべきことをわかりやすく項目別にまとめてくれています。

[Web] RjpWiki : 膨大なTips集と初心者向けのQ&A

http://www.okada.jp.org/RWiki/

日本のR界の総本山的なサイトだそうです。膨大なTipsにその歴史を感じます。特に初心者向けのQ&Aが併設されているのがありがたい!

[Web] JIN’S PAGE : Rでできることがわかる

http://www1.doshisha.ac.jp/~mjin/R/

「JIN’S PAGE」ではRでできることを逆引き的に提供しています。Rを使うと実際になにができるのかが一目でわかるので、お勧めです。

[Web] Rのパッケージ一覧:CRAN Task Views

http://cran.r-project.org/web/views/

Rのパッケージの一覧です。実際にRを使っている中で、何度もお世話になりそうなサイト。

Speical Thanks

MacOSX に homebrew で R をインストール - Qiita

新人OLのはじめての統計 質的変数・量的変数とはなんぞや?

押さえておきたい書籍

いかがだったでしょうか?
もし説明がわかりにくかったり、間違っている場所があればぜひ一言!

Comments