それでは,ここでは回帰分析について説明します.

実際に,どのように分析していくのかをまとめます.

分析の流れ

仮説検証の手続きの確認

授業の際にお話したとおり,仮説検証は以下の流れで行っていきます.

  • 帰無仮説の設定

  • 検定統計量の値を求める

  • 帰無仮説のもとでの,結果を出力する

  • 帰無仮説が棄却されるかどうかを判断する.

ここからは,上記の流れに沿って説明をしていきます.

帰無仮説の設定

  • 帰無仮説:自分が言いたくないことを設定する.

  • 対立仮説:自分が言いたいことを設定する.

++ 仮説の立案は用いる統計手法(もっというと,分析するデータ)によってテクニカルに決められる.

回帰分析の場合は,以下のように仮説を設定してあげることが必要です.

  • 帰無仮説:XとYの間に相関関係がない.

++ ex.身長と体重の間に相関関係がない.

  • 対立仮説:XとYの間に相関関係がある.

++ ex.身長と体重の間に相関関係がある.

こちらのデータを元に分析を行います.

これ以外の質問項目については,一番下に掲載します.

q2_1 本文中に,“_ _ _ _ _ n “(7文字の単語で6番目がnのもの)という単語はいくつあるだろうか? q2_2 本文中に,” _ _ _ i n g”(7文字の単語で末尾がingであるもの)という単語はいくつあるだろうか?

この2つの数字の間に相関があるかどうかを検討する

  • 帰無仮説H0:q2_1とq2_2の間に相関がない

  • 対立仮説H1:q2_1とq2_2の間に相関がある

検定統計量の値を求める

回帰分析の場合は複数の検定統計量を多角的に評価する.

  • 決定係数R2:0-1の値をとり,1に近ければ近いほど回帰直線に一致している.

  • 自由度調整済み決定係数R2:R2は説明変数が多くなるほど,当てはまりが良くなる.そのためにこちらを用いることがある.

  • t値:説明変数の係数の確からしさの度合いを判断する際に用いる.t≧|2|が基準だが,p値に変換することが多い

  • F値: F値>0.05⇒仮説は正しい⇒回帰モデルは有効ではない F値<0.05⇒仮説は間違い⇒回帰モデルは有効

帰無仮説のもとでの,結果を出力する

最初にデータを読み込みます.

ついでに,記述統計量も算出しておきます.

data_heuristicq2 <- read.table("https://dl.dropboxusercontent.com/u/10749822/R_edu_public/data/data_heuristicq2.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)

summary(data_heuristicq2)
##     f1.     q1          q2_1             q2_2        q3     q4     q5_1  
##  men  : 9   a:15   Min.   :   7.0   Min.   :   3.0   a:22   a: 2   a: 3  
##  women:16   b: 5   1st Qu.:  15.0   1st Qu.:  20.0   b: 1   b:14   b: 1  
##             c: 5   Median :  30.0   Median :  30.0   c: 2   c: 9   c:21  
##                    Mean   : 102.5   Mean   : 117.2                       
##                    3rd Qu.:  70.0   3rd Qu.: 100.0                       
##                    Max.   :1200.0   Max.   :1200.0                       
##  q5_2        q6_1             q6_2        q7_1   q7_2   q8    
##  b: 3   Min.   :  1000   Min.   :   100   a:22   a: 8   a: 1  
##  c:22   1st Qu.:  5000   1st Qu.:  2000   b: 3   b:17   b:15  
##         Median : 10000   Median :  7000                 c: 9  
##         Mean   : 22000   Mean   : 21484                       
##         3rd Qu.: 40000   3rd Qu.: 40000                       
##         Max.   :100000   Max.   :100000                       
##       q9_1            q9_2        bango   
##  Min.   : 1.00   Min.   : 0.00   Gusu:11  
##  1st Qu.:10.00   1st Qu.:20.00   Kisu:14  
##  Median :20.00   Median :30.00            
##  Mean   :25.08   Mean   :29.56            
##  3rd Qu.:30.00   3rd Qu.:30.00            
##  Max.   :70.00   Max.   :95.00

散布図の確認

散布図を使って,大体のデータの傾向を確認しておきましょう.場合に応じて,外れ値を取ることもあります.

「グラフ」→「散布図」

  • 「データ」タブ x変数:q2_1 y変数:q2_2

  • 「オプション」タブ 点を特定:自動的に特定

library(car)
scatterplot(q2_2~q2_1, reg.line=FALSE, smooth=FALSE, spread=FALSE, 
  id.method='mahal', id.n = 2, boxplots=FALSE, span=0.5, ellipse=FALSE, 
  levels=c(.5, .9), data=data_heuristicq2)

##  8 24 
##  8 24

これを見ると,“8”の数字が明らかに大きく外れているので,削除してから再度散布図を作ってみる.

library(car)
data_heuristicq2_2 <- read.table("https://dl.dropboxusercontent.com/u/10749822/R_edu_public/data/data_heuristicq2_2.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE)

summary(data_heuristicq2_2)
##     f1.     q1          q2_1             q2_2        q3     q4     q5_1  
##  men  : 9   a:15   Min.   :  7.00   Min.   :  3.00   a:22   a: 2   a: 3  
##  women:16   b: 5   1st Qu.: 14.75   1st Qu.: 19.25   b: 1   b:14   b: 1  
##             c: 5   Median : 30.00   Median : 27.50   c: 2   c: 9   c:21  
##                    Mean   : 56.75   Mean   : 72.04                       
##                    3rd Qu.: 55.00   3rd Qu.: 70.00                       
##                    Max.   :200.00   Max.   :500.00                       
##                    NA's   :1        NA's   :1                            
##  q5_2        q6_1             q6_2        q7_1   q7_2   q8    
##  b: 3   Min.   :  1000   Min.   :   100   a:22   a: 8   a: 1  
##  c:22   1st Qu.:  5000   1st Qu.:  2000   b: 3   b:17   b:15  
##         Median : 10000   Median :  7000                 c: 9  
##         Mean   : 22000   Mean   : 21484                       
##         3rd Qu.: 40000   3rd Qu.: 40000                       
##         Max.   :100000   Max.   :100000                       
##                                                               
##       q9_1            q9_2        bango   
##  Min.   : 1.00   Min.   : 0.00   Gusu:11  
##  1st Qu.:10.00   1st Qu.:20.00   Kisu:14  
##  Median :20.00   Median :30.00            
##  Mean   :25.08   Mean   :29.56            
##  3rd Qu.:30.00   3rd Qu.:30.00            
##  Max.   :70.00   Max.   :95.00            
## 
scatterplot(q2_2~q2_1, reg.line=FALSE, smooth=FALSE, spread=FALSE, 
  id.method='mahal', id.n = 2, boxplots=FALSE, span=0.5, ellipse=FALSE, 
  levels=c(.5, .9), data=data_heuristicq2_2)

##  4 24 
##  4 23

まあ,これくらいならよいでしょう!ということへ次へ.

最近の潮流に沿って分析をします.

  • Rコマンダーで「統計量」→「モデルへの適合」→「線形回帰」とクリックする.

    目的変数:q2_2 説明変数:q2_1

以上を選んだらOKをクリックする.

以下には,Rコマンダーを使って以上のように選んだ時のコードを貼り付けて,その結果を出力する.

RegModel.1 <- lm(q2_2~q2_1, data=data_heuristicq2_2)
summary(RegModel.1)
## 
## Call:
## lm(formula = q2_2 ~ q2_1, data = data_heuristicq2_2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -154.830  -23.039   -2.354    3.172  245.170 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.3717    19.4187  -0.019    0.985    
## q2_1          1.2760     0.2291   5.569 1.34e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 70.66 on 22 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.585,  Adjusted R-squared:  0.5662 
## F-statistic: 31.01 on 1 and 22 DF,  p-value: 1.344e-05
  • 回帰分析の結果:

Intercept(切片):q2_1が0だった時に,q2_2の値はいくつになるかを示す.

q2_1:q2_1の値が1増えると,q2_2の値がどれだけ増えるかを示している.

Coefficients: Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.3717 19.4187 -0.019 0.985

q2_1 1.2760 0.2291 5.569 1.34e-05 ***

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ’*‘0.05’.‘0.1’ ’ 1

この結果では,切片のp値が5%の有意水準以下になっているが,切片については気にしなくてよい.

  • 決定係数:このモデルでデータをどれだけ説明できるかを表す指標その1.

** Multiple R-squared: 0.585, Adjusted R-squared: 0.5662 **

  • F値:このモデルでデータをどれだけ説明できるかを表す指標その2.

F-statistic: 31.01 on 1 and 22 DF, p-value: 1.344e-05

せっかくなので,回帰直線も入れた散布図を作っておきましょう.

「KMggplot2」→「散布図」

X軸の変数:q2_1,Y軸の変数:q2_2

スムージングの種類:回帰分析(信頼区間あり)

・・・信頼区間ありにすると,データの散らばりの程度を簡単に確認できる.

require("ggplot2")
## Loading required package: ggplot2
.df <- data.frame(x = data_heuristicq2_2$q2_1, y = data_heuristicq2_2$q2_2)
.plot <- ggplot(data = .df, aes(x = x, y = y)) + geom_point() + 
  stat_smooth(method = "lm") + scale_y_continuous(expand = c(0.01, 0)) + 
  xlab("q2_1") + ylab("q2_2") + theme_bw(base_size = 14, base_family = 
  "serif")
print(.plot)
## Warning: Removed 1 rows containing non-finite values (stat_smooth).
## Warning: Removed 1 rows containing missing values (geom_point).

rm(.df, .plot)

帰無仮説が棄却されるかどうかを判断する

回帰分析の結果,F値,決定係数などを組み込んで,結果を記述します.

なお,p値は指数で表記されているので,気をつけてください.指数が出てくるときは相当に桁数が大きい時です.

もし,指数がわかりにくければ,Excelなどで変換してから表示するとわかりやすいと思います.

  • 結果をまとめる

F(1, 22)=31.01(p<0.001)であることにより,5%有意水準の元で帰無仮説を棄却することができる.したがって,対立仮説が採択される.この回帰モデルではq2_1での回答文字数が1字多くなると,q_2がの回答文字数が1.276字多くなることを示している(t = 5.569, p<0.001).また,調整済み決定係数R^2が0.5662であった.

回帰分析については,以上です.

こちらのアンケートを元に分析を行います.

  • F1.あなたの性別を教えて下さい

a:男性→men

b:女性→women

以下,注意書きが無い限りはアルファベットで表記する.数字で回答を求められているものについては,数字で入力.

  • q1:以下のうち,死亡者数が多いのはどれか?(H25現在)

a:消化器疾患

b:交通事故

c:自殺

d:他殺

  • q2英語の小説4ページ(約2000語)がある.これについて,以下の問題に答えよ.

q2_1 本文中に,“_ _ _ _ _ n _“(7文字の単語で6番目がnのもの)という単語はいくつあるだろうか?

q2_2 本文中に,“_ _ _ _ i n g”(7文字の単語で末尾がingであるもの)という単語はいくつあるだろうか?

  • q3リンダは31歳,独身で社交的かつ聡明な女性である.彼女は大学時代には哲学を専攻していた.また,学生時代には差別や社会正義といった問題に深い関心を持ち,反核運動のデモにも参加していた.次の3つのリンダに関する記述の内,最もありそうなものを選んでください.

a:リンダはフェミニズム運動に参加している

b:リンダは銀行の窓口係である

c:リンダはフェミニズム運動に参加している銀行員である

  • q4:ある町に2つの病院があります.大きい方の病院では毎日約45人の赤ちゃんが生まれ,小さい方の病院では毎日約15人の赤ちゃんが生まれる.すべての赤ちゃんのうち男の子の割合は約50%です.しかし,正確な割合は日々変動します.時には50%より高い日もあり,低い日もあります.1年間にそれぞれの病院で生まれた赤ちゃんのうち男の子の割合が60%を超える日を記録しました.どちらの病院の方がそのような日を多く記録したと思いますか?

a:大きな病院

b:小さな病院

c:同じくらい

  • q5_1:コイントスを6回行った時,どちらが出やすいと思うか?ただし,表の出る確率は1/2であり,裏の出る確率は1/2である.

a:裏-表-裏-表-表-裏

b:表-表-表-裏-裏-裏

c:どちらも同じ

  • q5_2今,コイントスで表が5回続けて出ている.次は裏と表,どちらが出やすいと思うか?ただし,表の出る確率は1/2であり,裏の出る確率は1/2である.

a:表

b:裏

c:どちらも同じ

  • q6_1「1×2×3×4×5×6×7×8」を計算して,およそ近い値を5秒以内に選んで下さい.

a:0

b:100

c:500

d:1000

e:2000

f:5000

g:7000

h:10000

i:20000

j:30000

k:40000

l:50000

m:60000

n:70000

o:80000

p:90000

q:100000

  • q6_2:「8×7×6×5×4×3×2×1」を計算して,およそ近い値を5秒以内に選んで下さい.

a:0

b:100

c:500

d:1000

e:2000

f:5000

g:7000

h:10000

i:20000

j:30000

k:40000

l:50000

m:60000

n:70000

o:80000

p:90000

q:100000

  • q7オーストラリア・メルボルンのコンピュータ会社に新たに雇われたエンジニアがいるとしよう.彼女には4年のキャリアがあり,多方面に渡る優れた能力を持っている.

q7_1:彼女の年収は650万円以上だろうか?それとも650万円未満だろうか?

a:650万円以上

b:650万円以下

q7_2:彼女の年収は1350万円以上だろうか?それとも1350万円未満だろうか?

a:1350万円以上

b:1350万円以下

  • q8:ある町に2つの病院があります.大きい方の病院では毎日約45人の赤ちゃんが生まれ,小さい方の病院では毎日約15人の赤ちゃんが生まれる.すべての赤ちゃんのうち男の子の割合は約50%です.しかし,正確な割合は日々変動します.時には50%より高い日もあり,低い日もあります.1年間にそれぞれの病院で生まれた赤ちゃんのうち男の子の割合が60%を超える日を記録しました.どちらの病院の方がそのような日を多く記録したと思いますか?

a:大きな病院

b:小さな病院

c:同じくらい

  • q9_1:ソフトバンクは2015年度に90勝してクライマックスシリーズに1位で進みました.さて,世界の国連加盟国195か国の内アフリカが占める割合は どの程度でしょうか?

  • q9_2:ソフトバンクは2016年5月1日現在,読売ソフトバンクは15勝しています.さて,世界の国連加盟国195か国の内アフリカの国はどの程度あるでしょうか?

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.