統計ER

統計ソフトRの使い方を中心に、統計解析方法の解説をするブログ。ありそうでなかなか見つからないサンプルサイズ計算などニッチな方法について紹介しています。

統計ソフトRでデータを集計値・指標で眺めてみるには?

ブログランキングに参加しています。
まずはぽちぽちっとお願いします。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
にほんブログ村 科学ブログ 数学へ

データを図示で眺めたら、次は集計値・指標で眺めてみる。

統計ソフトRで、さまざまな集計値・指標はどうやって計算するか?

平均と標準偏差

統計ソフトRで、 平均値は、mean()で算出する。 標準偏差は、sd()で計算する。 sdはstandard deviationの略。

平均値と標準偏差の値の関係で、 データの分布を大まかに推測できる。

平均値が標準偏差の3倍あれば、 だいだい正規分布している。

正規分布をしていれば、 平均値に±標準偏差の2倍の範囲に、 データの約95%が収まる。

> mean(chickwts$weight)
[1] 261.3099

> sd(chickwts$weight)
[1] 78.0737

平均を標準偏差で割ってみると約3倍。

だいたい正規分布していると想像する。

> 261.3099/78.0787
[1] 3.34675

ヒストグラムを見てみる。

だいたい正規分布と言ってよい。

f:id:toukeier:20180828213218p:plain

正規分布しているかどうかはShapiro-Wilk Testで検定できる。

帰無仮説は「正規分布している」。

統計学的有意でないので、正規分布と言ってもよい。

> shapiro.test(chickwts$weight) 

        Shapiro-Wilk normality test

data:  chickwts$weight
W = 0.97674, p-value = 0.2101

中央値(メディアン)

正規分布していないデータの場合、 代表値としてはこちらのほうが望ましい。

chickwtsデータフレーム内のweightの中央値は、平均値とほぼ同じで、ほぼ正規分布なので、平均値と中央値がほぼ同じになる。

> median(chickwts$weight)
[1] 258
> mean(chickwts$weight)
[1] 261.3099

歪度(わいど)Skewness

分布が正規分布から外れてゆがんでいる度合いが歪度だ。 非対称性を表す指標。 e1071パッケージに含まれている。

最初一回だけ、e1071パッケージの インストールが必要だ。

install.packages("e1071")

一回のセッションで使い始めの時に 一回だけlibrary()で呼び出す。

library(e1071)

これで準備万端だ。

歪度を計算する関数はskewness()

例としてx1というデータがあるとする。

x1 <- c(6.0,10.0,7.6,3.5,1.4,2.5,5.6,3.0,2.2,5.0, 3.3,7.6,5.8,6.7,2.8,4.8,6.3,5.3,5.4,3.3, 3.4,3.8,3.3,5.7,6.3,8.4,4.6,2.8,7.9,8.9)

ヒストグラムを見てみると、左右対称ではなくゆがんでいる。

hist(x1)

f:id:toukeier:20180828213911p:plain

このとき歪度を計算すると、0.361

> skewness(x1)
[1] 0.3614441

ちなみに、先ほど見たほぼ正規分布している。

chickwts$weightのskewnessも計算してみると、ほぼゼロ。

分布がゆがんでいると数値の絶対値が大きくなる。

> skewness(chickwts$weight)
[1] -0.01136593

skewnessは3種類ある。SASSPSSではType=2だ。Type=2を使うのが無難だろう。

> skewness(x1, type=2)
[1] 0.4006154

尖度(せんど)Kurtosis

尖度は正規分布と比べて、 鋭いピークか鈍いピークかを表す。

> kurtosis(x1)
[1] -0.8275311
> kurtosis(chickwts$weight)
[1] -0.9651994

尖度はx1とchickwts$weightでは、それほど異ならない。

尖度も3種類ありこれもType=2が無難だ。正規分布であった場合、偏らないのがType=2だけだ。

> kurtosis(x1, type=2)
[1] -0.5726655
> kurtosis(chickwts$weight, type=2)
[1] -0.8843778

ランダム変数で試してみる

ここで、正規分布しているランダム変数を作って、試してみよう。

100個と1000個で比べてみる。

x100は100個のランダム変数。

x1000は1000個のランダム変数。

set.seed(20180504)
x100 <- rnorm(100)
hist(x100)

f:id:toukeier:20180828215030p:plain

x1000 <- rnorm(1000)
hist(x1000)

f:id:toukeier:20180828215311p:plain

> kurtosis(x100, type=2)
[1] -0.2333893
> kurtosis(x1000, type=2)
[1] -0.002990156

ヒストグラムを見ると、100個より1000個のほうがより正規分布らしい。

尖度は100よりも1000のほうがゼロに近い。

尖度はとがり方がより正規分布に近いかどうかを表す指標だ。

まとめ

通常はデータを眺めてみるときは、 平均値と標準偏差でよい。

グラフも大事で、 ヒストグラムで分布も見たほうが良い。

ヒストグラムが左右対称の 釣り鐘型の分布ではなさそうなら、 中央値も確認するとよい。

歪度や尖度は必要に応じて算出する。

skewnessとkurtosisの参考文献

Package ‘e1071’