1-1 平均値の区間推定

(例題)

ある山の木材を買い取りたい。この山の木の高さの標準偏差はσ=1.2であることがわかっている。今、試しに10本の標本抽出を行い、高さを測ったら、平均は14.8mであった。この山全体の木の高さの平均を95%信頼係数の下で区間推定せよ。

(参考文献:鳥居(1994)はじめての統計学, 日本経済新聞出版)

(例題の解き方)

パッケージの用意

install.packages("dplyr",repos = "http://cran.us.r-project.org") # 一度もインストールしていない場合
## 
## The downloaded binary packages are in
##  /var/folders/r9/h9w1r6pn0qd3c5pc5bwjr7gc0000gp/T//RtmpygA7fH/downloaded_packages
install.packages("ggplot2",repos = "http://cran.us.r-project.org") # 一度もインストールしていない場合
## 
## The downloaded binary packages are in
##  /var/folders/r9/h9w1r6pn0qd3c5pc5bwjr7gc0000gp/T//RtmpygA7fH/downloaded_packages
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

データの用意

set.seed(100)
data <- rnorm(10, 14.8, 1.2) %>% round() 
#平均14.8, 標準偏差1.2の標準正規分布に従う値10個の乱数を発生させ、 round()で整数値にして、変数「data」に格納する。

library(BSDA)#z.testを行うために必要なパッケージ
## Loading required package: lattice
## 
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
## 
##     Orange
z.test(x=data, y = NULL, alternative = "two.sided", mu = 0, sigma.x = 1.2, sigma.y = NULL, conf.level = 0.95)#xは信頼区間を求めるデータを指定。yはこの場合、NULL(指定なし)。alternative="two.sided"は両側検定, mu=0は帰無仮説と平均値が違う場合に指定。sigma.xは母集団の標準偏差, sigma.yもデータがある場合は同様。conf.levelは指定したい信頼区間。
## 
##  One-sample z-Test
## 
## data:  data
## z = 39.001, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  14.05625 15.54375
## sample estimates:
## mean of x 
##      14.8

結果の解釈

区間推定の結果を読み取ると、この山の木の高さの母平均は14.06m以上15.54m以下の範囲に収まる。

1-2 母比率の推定

(例題)

ある世論調査によると、500人中280人がある候補者を支持するという。この候補者の95%信頼区間を求めよ。

(参考文献:稲垣他(2007)統計学講義, 裳華房)

(例題の解き方)

prop.test(280,500)
## 
##  1-sample proportions test with continuity correction
## 
## data:  280 out of 500, null probability 0.5
## X-squared = 6.962, df = 1, p-value = 0.008326
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.5151941 0.6038700
## sample estimates:
##    p 
## 0.56

関数の説明

x:成功(または関心のあるカテゴリ)の数

n:試行回数(成功と失敗の合計)

p:オプションの成功の比例を指定する場合に使用します

alternative:代替仮説のタイプを指定します(“two.sided”、“less”、“greater”のいずれか)

conf.level:信頼水準(デフォルトは0.95)

prop.test()関数は、以下の情報を提供します。

推定された比例(割合)

比例が特定の値と等しいかどうかの検定結果(帰無仮説検定)

信頼区間(デフォルトでは95%信頼区間)

関数を実行すると、検定結果や推定値、信頼区間などの結果が表示されます。

例えば、

prop.test(25, 100, p =0.5)

は、成功回数が25で試行回数が100の場合に、成功の比例が0.5と等しいかどうかを検定します。

結果の解釈

この問題では、信頼区間を求めれば良いので、

95 percent confidence interval:

0.5151941 0.6038700

の部分を参照します。

このため、この候補者の95%信頼区間は、0.515以上0.604以下となります。

2  独立性の検定

(例題)

生徒数120人の学校で、山が好きか、海が好きかのアンケートを取りました。すると、男子で山が好きな人は17人、海が好きな人は23人、女子で山が好きな人は13人、海が好きな人は67人でした。男子と女子で山好き海好きの傾向に差があると言えるでしょうか?有意水準5%で検定してください。

(例題の解き方)

まず、観測されたデータをベクトルまたは行列としてRに入力します。以下は、男子と女子の山好き海好きのデータをベクトルとして示した例です。

male <- c(17, 23)
female <- c(13, 67)

次に、これらのデータをクロス集計表に変換します。

data <- rbind(male, female)
colnames(data) <- c("山", "海")
rownames(data) <- c("男子", "女子")

カイ二乗値を計算します。chisq.test関数を使用します。

result <- chisq.test(data)
result
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  data
## X-squared = 8.45, df = 1, p-value = 0.00365

結果の解釈

result <- chisq.test(data,correct=FALSE)とすれば、イエーツの補正はせずに結果は

Pearson's Chi-squared test

data: data

X-squared = 9.8, df = 1, p-value = 0.001745

となります。p値が有意水準0.05より小さいので、

帰無仮説(男子と女子で山好き海好きの傾向に差がない)

を棄却します。 有意水準5%で山好き、海好きは男女によって差がある ということが言えます。