医療統計

散布度の基本とRで散布度を計算する方法

散布度はデータの特徴を示す数値の中で、データがどの程度バラけた値をとっているかを示す指標です。

イメージとしてはヒストグラムを描いたときにどの範囲にどの程度データがあるかを見ることと捉えると分かりやすです。

散布度を表すにはいろいろな表し方がありますが、基本的には代表値を基準にしてどれくらい離れたところまでデータが有るかを考えることだと思って下さい。

では順番に進めていきます。

分散を表す指標とRの関数

はじめに、分散の指標にはどんなものがあるのか?、Rではどんな関数で操作するのか?をまとめておきます。

分散 V_x・不偏分散 U_x

データの各成分 x_i と平均値 \bar{x} の差を2乗して全て足した値をデータの個数 n で割ると求められます。

V_x=\frac{1}{n}\sum^n_{i=1}(x_i-\bar{x})^2

不偏分散は分散を求める式の  n s=1n-1 にすることで求められます。

U_x=\frac{1}{n-1}\sum^{n}_{i=1}(x_i-\bar{x})^2

Rでは不偏分散を求める関数だけが用意されています。
分散を求める方法は記事後半で説明します。

var()

 

標準偏差 s_x・不偏標準偏差 \sigma_x

分散の平方根を求めることが標準偏差を求めることと同じ意味です。

s_x =\sqrt{V_x} =\sqrt{\frac{1}{n}\sum^{n}_{i=1}(x_i-\bar{x})^2}

不偏標準偏差については不偏分散の平方根を求めることで知ることができます。

\sigma_x =\sqrt{U_x} =\sqrt{\frac{1}{n-1}\sum^{n}_{i=1}(x_i-\bar{x})^2}

Rでは不偏標準偏差を求める関数のみが用意されています。

sd()

 

最大値・最小値

最大値はデータの一番大きな値。最小値はデータの一番小さな値。

Rでは最大値・最小値を瞬時に見つける関数が用意されています。

max()    #最大値
min()    #最小値

 

範囲(レンジ)

データの最大値と最小値の差を「範囲(レンジ)」と言います。

Rでは数値の羅列からそのレンジを求めることができます。

range()

 

四分位数(しぶんいすう・しぶいすう・クォンタイル)

データを小さい順に並べたとき、小さい方から1/4、2/4、3/4の位置にある値のことを「四分位数」といいます。

小さい方から順に第1四分位数(1Q)、第2四分位数(2Q)、第3四分位数(3Q)といいます。

第2四分位数は中央値のことで、第1四分位数と第3四分位数がきりよく1つのデータを指さない場合は中央値と同じように2つの値の平均値を求めれば良いです。

Rではこれらを1つの関数で求めることができます。

quantile()

 

散布度の補足とRでの実行例

ここから先で使えるように、はじめにデータを作成しておきます。

x <- rnorm(300, mean=20, sd=5)
y <- sample(1:9, 12, rep=T)

 

分散と標準偏差を求める

分散と標準編差を求めるには次の式を使います。

V_x =\frac{(x_1-\bar{x})^2+(x_2-\bar{x})^2+\dots+(x_n-\bar{x})^2}{n} =\frac{1}{n}\sum^n_{i=1}(x_i-\bar{x})^2

数式の意味は「平均値からのズレ」の平均値でした。

まず、単純に分散を求めるには、力技ですが

Vx <- (1/length(x)) * sum((x-mean(x))^2)

とします。

length関数はデータの個数、ここでは n を求める関数です。

分散を求めるには表の式に当てはめて計算を行なって求めることもできますが、不偏分散を求める var関数が用意されているのでこれを使って求めたほうが楽です。

分散と不偏分散の式の差は n で割るか n-1 で割るかの差なので、不偏分散を分散に直すには n-1/n をかければOKです。

これと同じことを行うには(length(x)-1)/length(x)を掛ける必要があります。

Vx <- var(x) * (length(x)-1) / length(x)

次に標準偏差ですが、求めた分散を元に求めてもいいのですが、標準偏差にも sd関数が用意されているのでまずはこれを使います。

sx <- sd(x) * sqrt((length(x)-1) / length(x))

分散のときと同様に標準偏差を求める sd関数は不偏標準偏差を求める関数なので、単に標準偏差を求めるためには \sqrt{\frac{n-1}{n}} を掛ける必要があります。

原理的には不偏分散を分散に変換するときと同じですが、標準偏差は分散の平方根なので \frac{n-1}{n} の平方根である \sqrt{\frac{n-1}{n}} を使います。

Rで平方根を求める関数は sqrt(スクエア・ルート)関数なので、 (length(x)-1)/length(x)部分を sqrt()に入れ子にして掛ければいいことになります。

最大値・最小値と範囲を求める

最大値はデータのうち一番大きな値、最小値はデータのうち一番小さな値、範囲は最大値と最小値の差です。

最大値・最小値はデータが少なければ目視で確認できますが、データ数が多くなってくるとそれは難しいです。

そこで、最大値を知りたいときは max関数を使い、最小値を知りたいときは min関数を使います。

先ほどのデータxにこれらを使うと

max(x)
min(x)

となります。

最大値・最小値がわかったので、この値から範囲を求めることができます。

範囲は最大値と最小値の差で、最もお手軽な散布度と言えます。

Rではただ単に引き算すれば求められます。

max(x) - min(x)

これがデータxの範囲で、一番簡単に散布度を表している値となります。

Rの range関数で範囲を求めると、これとは違った結果が返ってきます。

range(x)

結果は単に最大値と最小値が表示されています。

range関数は統計学的な範囲を示すのではなく、データ自体の幅を2つの数値で表現する関数ですので注意して下さい。

四分位数を求める

四分位数を求めるにはquantile関数を使います。

四分位数を用いるのは離散型のデータが多いように思うので、準備したデータyを使います。

Rではこの作業を quantile関数を使うことで求められます。

quantile(y)

0%は最小値を示していて、100%は最大値を示しています。

25%が第1四分位数で、50%・75%がそれぞれ第2四分位数・第3四分位数になります。

それぞれ手計算で求めた場合と数値は変わりません。

 

inkscapeで「フチ文字」を作る方法2つ+ちょっとした応用前のページ

本の仕事 その0 ~出版までの流れ~次のページ

記事が気に入ったら
tipLog を "いいね!"
Facebookで更新情報をお届け。

tipLog

関連記事

  1. 医療統計

    記述統計とは?どんな目的でデータを整理するのか?

    統計の基礎部分では、度数分布や平均値・分散・相関など、データそのものの…

  2. 医療統計

    統計をゼロから勉強するときの指針みたいなもの

    医療に携わる職種として、論文とかメーカーの出すデータを読むために、統計…

  3. 医療統計

    表計算ソフトに置き換えてRのベクトルを理解する

    Rではベクトルという概念でデータを取り扱うのですが、はじめは理解が難し…

  4. 医療統計

    代表値の意味と統計ソフト【R】で代表値を求める方法

    代表値の意味は、データの特徴を表す数値の中でデータの中心となる値のこと…

  5. 医療統計

    データの分析に必要な尺度水準について

    データを分析したい、何らかの統計処理をしたい場合に、どの統計手法が妥当…

  6. 医療統計

    度数分布表とヒストグラムってどう使うの?Rで実際にやってみた!

    度数分布表とヒストグラムはある集団のデータ(観測値)の特徴をひと目で理…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


スポンサードリンク

スポンサードリンク

inkscapeを学ぶ

Inkscapeの入門書

カテゴリー

ピックアップ記事

  1. 特集

    無料でクオリティが高く、検索機能が利用できる画像素材サイト3選
  2. ブログの収益化

    報酬の受取に苦労してません?初心者でもAmazon・楽天のアフィリエイトで効率的…
  3. 特集

    inkscapeの使い方を集めたスキルアップのための日本語チュートリアル集
  4. ブログやサイトの作り方

    月額100円から使える「ロリポップレンタルサーバー」
  5. ブログやサイトの作り方

    TCDテーマ比較「CUBEY」と「BlogPress」どっちがいい?
PAGE TOP