分散分析のcase study-1からの続き。
さて前回まででとりあえずデータの簡単な分析を終えて、以下のような結論を得た。
図1よりR1とR2を比較するとスピードはR1のほうが常に上である。またS1とS2ではS2のほうがよい。交互作用は見られない。図2からR1 > R2である。ケーブルの違いによるSpeedへの影響は見られない。図3からS2>S1である。ケーブルの違いによるSpeedへの影響は見られな い。
ここから実際の統計的分析によってRouter, Switch, Cableの違いによるspeedへの影響を確認してみる。
まずは2変数間の比較によって違いが出るかを確認する。ここでは対応のないt検定を実施する。
routerの違いによる差について分析する。
> t.test(speed ~ router, data=speed_test) Welch Two Sample t-test data: speed by router t = 1.1037, df = 5.843, p-value = 0.3131 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -40.50825 106.29513 sample estimates: mean in group r1 mean in group r2 131.44672 98.55328
帰無仮説はRouterの違いにより差は出ないとする。対立仮説では差が出るとしている。p値は0.3131となったので有意水準5%で帰無仮説は棄却できない。よって差がないことは否定できない。95%の信頼区間に0が含まれることから、R1とR2の差が0である可能性もありうる。
次にSwitchの違いについて分析する。
> t.test(speed ~ switch, data=speed_test) Welch Two Sample t-test data: speed by switch t = -4.4106, df = 5.989, p-value = 0.004536 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -108.85167 -31.14833 sample estimates: mean in group s1 mean in group s2 80 150
p値0.004536であるので帰無仮説は棄却される。よってSwitchの違いによりspeedに差が出ているといえる。
cableの違いによる結果である。
> t.test(speed ~ cable, data=speed_test) Welch Two Sample t-test data: speed by cable t = 0.309, df = 5.493, p-value = 0.7687 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -71.14346 91.18801 sample estimates: mean in group c1 mean in group c2 120.0111 109.9889
p値が0.7687であり、帰無仮説は棄却できない。よってcableの種類により差が出るとはいえない。
では分散分析を実行してみる。
> summary(aov(speed ~ router+switch+cable, data=speed_test)) Df Sum Sq Mean Sq F value Pr(>F) router 1 2164 2164 13.159 0.02221 * switch 1 9800 9800 59.592 0.00152 ** cable 1 201 201 1.222 0.33105 Residuals 4 658 164 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
routerのp値は0.0221であり、有意水準5%で帰無仮説は棄却される。よってrouterの違いにより差が出ているといえる。switchはp値0.00152であり、こちらも有意水準5%で帰無仮説を棄却できる。cableについてはp値=0.33105であり、有意水準5%で帰無仮説は棄却できない。よって差がないといえる。
さてspeedについて重回帰分析を実行してみる。質的変数であるrouter, switch, cableはすべてfactor型になっているのでダミー変数に変換することなくlm()にかける。
anovaの結果からrouterとswitchを使ったモデルがもっとも正確になると考えられる。まず最初はすべての変数を使ってみる。
> lm_1 <- lm(speed ~ router + switch + cable, data = speed_test) > summary(lm_1) Call: lm(formula = speed ~ router + switch + cable, data = speed_test) Residuals: 1 2 3 4 5 6 7 8 -8.557 14.300 3.203 -8.946 -7.747 2.003 13.100 -7.357 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 101.458 9.068 11.189 0.000363 *** routerr2 -32.893 9.068 -3.627 0.022209 * switchs2 70.000 9.068 7.720 0.001516 ** cablec2 -10.022 9.068 -1.105 0.331052 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 12.82 on 4 degrees of freedom Multiple R-squared: 0.9487, Adjusted R-squared: 0.9102 F-statistic: 24.66 on 3 and 4 DF, p-value: 0.004849
このモデルでは決定係数が0.9487であり、このモデルにより94.87%のspeedの変化が説明されている。では個別に変数をみてみる。routerおよびswitchについては有意水準5%で偏回帰係数が有意であることがわかる。cableについてはp値が0.331052であり、偏回帰係数が有意でない。よってcableを取り除いたモデルで回帰分析を実行してみる。
> lm_2 <- lm(speed ~ router + switch, data = speed_test) > summary(lm_2) Call: lm(formula = speed ~ router + switch, data = speed_test) Residuals: 1 2 3 4 5 6 7 8 -3.546 9.289 8.214 -13.958 -2.735 -3.008 18.112 -12.368 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 96.447 8.025 12.018 7.04e-05 *** routerr2 -32.893 9.267 -3.550 0.016393 * switchs2 70.000 9.267 7.554 0.000644 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 13.1 on 5 degrees of freedom Multiple R-squared: 0.933, Adjusted R-squared: 0.9062 F-statistic: 34.83 on 2 and 5 DF, p-value: 0.001161
決定係数が大きくなると予想していたが、逆に小さくなった。よってrouter, switch, cableの3つの変数を使ったモデルを採用する。
speed_test = 101.458 – 32.893 * (router == “r2” ) + 70.000 * (switch == “s2”) – 10.022 * (cable = “c2”)
有意がすべて優位になっているようですが…
おっと、ご指摘ありがとうございます。