Saya ingin melihat pengaruh musik rock terhadap kecepatan bermain gim minesweeper. Dari 30 teman kelas akan diukur 2 hal:
Perujian akan dilakukan sebelum dan setelah mendengar musik rock.
set.seed(066)
library(MASS)
n <- 30
mu_before <- c(150, 158)
mu_after <- c(134, 142)
mu_before_win <- c(7, 10)
mu_after_win <- c(15, 18)
Sigma <- matrix(c(20,10,10,30), nrow=2)
# Simulasi data
before <- mvrnorm(n, mu_before, Sigma)
after <- mvrnorm(n, mu_after, Sigma)
before_win <- mvrnorm(n, mu_before_win, Sigma)
after_win <- mvrnorm(n, mu_after_win, Sigma)
df1 <- data.frame(
speed_before = before[,1],
win_before = before_win[,2],
speed_after = after[,1],
win_after = after_win[,2])
head(df1)
## speed_before win_before speed_after win_after
## 1 151.4336 12.436037 132.2689 18.51097
## 2 147.8495 7.094924 133.7912 15.94529
## 3 152.4419 5.075023 128.5421 18.41473
## 4 147.5409 13.044079 131.7042 21.93188
## 5 152.2147 16.579951 129.0488 23.52292
## 6 140.4650 4.297117 131.4303 24.63560
xbar = apply(df1, 2, mean)
xbar
## speed_before win_before speed_after win_after
## 149.17229 10.33445 133.42305 18.17497
cov_m = cov(df1)
cov_m
## speed_before win_before speed_after win_after
## speed_before 18.262212 -4.786597 -2.571628 3.198142
## win_before -4.786597 33.173505 5.656501 2.935897
## speed_after -2.571628 5.656501 20.033339 -10.770103
## win_after 3.198142 2.935897 -10.770103 30.174425
library(MVTests)
##
## Attaching package: 'MVTests'
## The following object is masked from 'package:datasets':
##
## iris
mean0 <- colMeans(df1)
result <- OneSampleHT2(df1, mu0 = mean0, alpha = 0.05)
summary(result)
## One Sample Hotelling T Square Test
##
## Hotelling T Sqaure Statistic = 0
## F value = 0 , df1 = 4 , df2 = 26 , p-value: 1
##
## Descriptive Statistics
##
## speed_before win_before speed_after win_after
## N 30.000000 30.000000 30.000000 30.000000
## Means 149.172290 10.334451 133.423051 18.174970
## Sd 4.273431 5.759645 4.475862 5.493125
##
##
## Detection important variable(s)
##
## Lower Upper Mu0 Important Variables?
## speed_before 146.443066 151.90151 149.17229 FALSE
## win_before 6.656058 14.01284 10.33445 FALSE
## speed_after 130.564545 136.28156 133.42305 FALSE
## win_after 14.666789 21.68315 18.17497 FALSE
p-value = 1 yang mana lebih besar dari 0,05. Maka tak tolak H0, artinya secara multivariat tidak ada perbedaan yang signifikan antara sebelum dan sesudah mendengarkan musik rock.
result$CI
## Lower Upper Mu0 Important Variables?
## speed_before 146.443066 151.90151 149.17229 FALSE
## win_before 6.656058 14.01284 10.33445 FALSE
## speed_after 130.564545 136.28156 133.42305 FALSE
## win_after 14.666789 21.68315 18.17497 FALSE
Hasil selang kepercayaan simultan menunjukkan bahwa baik kecepatan maupun total menang mengalami perubahan. Rentang rata-rata setelah mendengar musik rock bergeser ke atas untuk total kemenang, dan bergeser ke bawah untuk kecepatan. Sehingga dapat disimpulkan bahwa mendengarkan musik rock memberi dampak positif baik terhadap kecepatan maupun total kemenangan seseorang dalam menyelesaikan minesweeper.
bon = function(mu,S,n,alpha,k){
p = length(mu)
lower = mu[k] - sqrt(S[k,k]/n) * abs(qt(alpha/(2*p), df=n-1))
upper = mu[k] + sqrt(S[k,k]/n) * abs(qt(alpha/(2*p), df=n-1))
c(lower = lower,upper = upper)
}
n = nrow(df1)
#Speed
bon(xbar, cov_m,n,0.05,3)
## lower.speed_after upper.speed_after
## 131.2467 135.5994
#Win
bon(xbar, cov_m,n,0.05,4)
## lower.win_after upper.win_after
## 15.50404 20.84590
Akan dibandingkan 2 populasi dari 2 kelas berbeda terkait kecepeatan dan banyaknya kemenangan mereka dalam bermain minesweeper
set.seed(066)
library(MASS)
mu_a <- c(Kecepatan = 114, Win = 25)
mu_b <- c(Kecepatan = 85, Win = 34)
Sigma <- matrix(c(100, 50,
50, 225), nrow = 2, byrow = TRUE)
nA <- 30
nB <- 30
data_A <- mvrnorm(n = nA, mu = mu_a, Sigma = Sigma)
data_B <- mvrnorm(n = nB, mu = mu_b, Sigma = Sigma)
df_A <- data.frame(data_A)
df_A$Group <- "A"
df_B <- data.frame(data_B)
df_B$Group <- "B"
df <- rbind(df_A, df_B)
rownames(df) <- NULL
n1 <- nrow(df_A)
n2 <- nrow(df_B)
cov_m1 <- cov(df_A[, 1:2])
cov_m2 <- cov(df_B[, 1:2])
s_gab <- ((n1 - 1) * cov_m1 + (n2 - 1) * cov_m2) / (n1 + n2 - 2)
s_gab
## Kecepatan Win
## Kecepatan 98.11270 43.47621
## Win 43.47621 197.14996
library(Hotelling)
## Loading required package: corpcor
t2_hotelling = hotelling.test(data_A,data_B,var.equal=TRUE)
t2_hotelling
## Test stat: 171.1
## Numerator df: 2
## Denominator df: 57
## P-value: 0
karena p-value > dari 0.05, maka tak tolak H0
T.ci = function(mu_a, mu_b, s_gab, n1, n2, avec=rep(1,length(mu)), level=0.95){
p = length(mu_a)
mu = mu_a-mu_b
cval = qf(level, p, n1+n2-p-1) * p * (n1+n2-2) / (n1+n2-p-1)
zhat = crossprod(avec, mu)
zvar = crossprod(avec, s_gab %*% avec)* (1/n1+1/n2)
const = sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}
xbar1 = apply(data_A, 2, mean)
xbar1
## Kecepatan Win
## 112.23867 23.28995
xbar2 = apply(data_B, 2, mean)
xbar2
## Kecepatan Win
## 83.57710 33.82005
T.ci(xbar1, xbar2, s_gab, n1,n2, avec=c(1,0),level=0.95)
## lower upper
## 22.17713 35.14601
T.ci(xbar1, xbar2, s_gab, n1,n2, avec=c(0,1),level=0.95)
## lower upper
## -19.722065 -1.338138
bon = function(mu_a, mu_b ,S, n1, n2, alpha, k){
p = length(mu_a)
mu = mu_a-mu_b
lower = mu[k] - sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
upper = mu[k] + sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
ci = c(lower = lower,upper = upper)
names(ci)= c("lower","upper")
ci
}
bon(xbar1, xbar2, s_gab, n1, n2,0.05,1)
## lower upper
## 22.77653 34.54661
Dalam selang interval sudah tidak mencakup angka 0, maka perbedaan rata-rata kecepatan sudah signifikan
bon(xbar1, xbar2, s_gab, n1, n2,0.05,2)
## lower upper
## -18.872389 -2.187815
Dalam selang interval masih mencakup angka 0, maka perbedaan rata-rata kemenangan sudah signifikan.
Ingin dilihat perbedaan pengaruh latar musik pada suatu game kompetitif kepada para player nya. Dengan team 1 akan didengarkan lagu bergenre rock, sedangkan team 2 akan diberi lagu bergenre blues. Akan dilihat rasio KDA dan tingkat stress dari tiap player nya.
set.seed(066)
mu_1 <- c(KDA = 11.5, stress = 80)
mu_2 <- c(KDA = 16.7, stress = 57)
Sigma_1 <- matrix(c(40, -8, -8, 64), nrow=2)
Sigma_2 <- matrix(c(15, 2, 2, 30), nrow=2)
n1 <- 40; n2 <- 45
data_1 <- mvrnorm(n = n1, mu = mu_1, Sigma = Sigma_1)
data_2 <- mvrnorm(n = n2, mu = mu_2, Sigma = Sigma_2)
df_1 <- data.frame(data_1); df_1$Team <- "1"
df_2 <- data.frame(data_2); df_2$Team <- "2"
df <- rbind(df_1, df_2)
colnames(df)[1:2] <- c("Rasio KDA","Stress")
df
## Rasio KDA Stress Team
## 1 9.5249585 99.19148 1
## 2 20.7895009 84.66027 1
## 3 1.7696042 80.61493 1
## 4 15.0352276 79.44401 1
## 5 10.1386440 76.90685 1
## 6 14.7287330 75.46084 1
## 7 19.2760215 75.91079 1
## 8 9.1045264 89.72950 1
## 9 21.8924169 81.63121 1
## 10 11.8564973 80.37426 1
## 11 17.9594550 72.27697 1
## 12 16.4450005 73.07915 1
## 13 16.8589210 78.97012 1
## 14 5.3252692 67.08994 1
## 15 11.9853982 72.09407 1
## 16 3.1728443 79.04490 1
## 17 8.7827973 76.69033 1
## 18 8.7019603 80.26526 1
## 19 16.2911459 82.34614 1
## 20 1.0444974 81.23786 1
## 21 12.5671663 79.73759 1
## 22 18.1710169 82.58117 1
## 23 8.6693313 94.73484 1
## 24 11.6335115 74.49852 1
## 25 20.0105591 74.95468 1
## 26 17.7081678 68.59981 1
## 27 14.5494988 83.90683 1
## 28 16.7772911 85.16636 1
## 29 15.1875863 78.60344 1
## 30 27.2475007 71.78819 1
## 31 9.3116049 95.26646 1
## 32 13.3585379 88.20129 1
## 33 10.4455855 76.66635 1
## 34 4.4757529 82.86870 1
## 35 14.0817542 72.13705 1
## 36 3.7580201 97.81503 1
## 37 2.0001015 73.70760 1
## 38 -0.6484169 87.14392 1
## 39 4.8811692 78.67312 1
## 40 18.4092283 76.75653 1
## 41 21.6674233 63.63698 2
## 42 18.3945329 55.91824 2
## 43 14.1573535 46.21212 2
## 44 14.4913420 52.40305 2
## 45 20.7216249 60.22608 2
## 46 20.2795177 57.23767 2
## 47 23.6353690 60.19521 2
## 48 10.2467077 63.11916 2
## 49 14.1635221 56.77528 2
## 50 13.7407094 63.99251 2
## 51 24.4228019 58.16947 2
## 52 8.9119426 51.93131 2
## 53 14.5066388 65.45059 2
## 54 17.2873058 62.27821 2
## 55 20.1701684 59.18306 2
## 56 16.1592653 59.19153 2
## 57 19.7857226 62.09978 2
## 58 15.7841466 64.36334 2
## 59 11.4233038 56.24699 2
## 60 19.5265935 63.52983 2
## 61 14.3551911 53.00365 2
## 62 12.3435895 56.88541 2
## 63 17.0470972 57.87824 2
## 64 20.7732438 59.57166 2
## 65 16.9090021 57.38680 2
## 66 17.9338452 62.87379 2
## 67 18.8019559 62.60077 2
## 68 14.0310648 57.14269 2
## 69 14.9328719 52.58898 2
## 70 16.5484944 54.72371 2
## 71 17.6690001 60.04477 2
## 72 12.3851713 57.50586 2
## 73 17.7009821 56.50659 2
## 74 15.8705214 62.48347 2
## 75 17.9456523 51.35606 2
## 76 21.9355270 47.95187 2
## 77 14.0612485 43.44054 2
## 78 12.5363974 58.01979 2
## 79 16.5236158 55.65201 2
## 80 15.0476734 64.46301 2
## 81 18.5327387 59.65532 2
## 82 17.4020228 54.50673 2
## 83 23.3692473 49.31472 2
## 84 16.6361392 59.65830 2
## 85 19.2363194 63.88277 2
xbarteam1 = apply(data_1, 2, mean)
xbarteam1
## KDA stress
## 12.08196 80.27066
xbarteam2 = apply(data_2, 2, mean)
xbarteam2
## KDA stress
## 16.88899 57.80573
cov_team1 = cov(data_1)
cov_team1
## KDA stress
## KDA 42.01475 -13.45494
## stress -13.45494 56.70637
cov_team2 = cov(data_2)
cov_team2
## KDA stress
## KDA 12.378680 1.966956
## stress 1.966956 26.288681
n_team1 = nrow(data_1)
n_team2 = nrow(data_2)
library(Hotelling)
t2_hotelling_2 = hotelling.test(data_1,data_2,var.equal=FALSE)
t2_hotelling_2
## Test stat: 253.91
## Numerator df: 2
## Denominator df: 63.4212338437335
## P-value: 0
T.ci = function(mu_1, mu_2, Sigma_1, Sigma_2, n_team1, n_team2, avec=rep(1,length(mu)), level=0.95){
p = length(mu_1)
mu = mu_1-mu_2
cval = qchisq(level, p)
zhat = crossprod(avec, mu)
zvar = crossprod(avec, Sigma_1 %*% avec)/n_team1 + crossprod(avec, Sigma_2 %*% avec)/n_team2
const = sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}
T.ci(xbarteam1, xbarteam2, cov_team1, cov_team2, n_team1,n_team2, avec=c(1,0),level=0.95)
## lower upper
## -7.625079 -1.988984
Tidak mencakup nilai 0, maka rata rata rasio KDA antara team 1 dan team 2 tidak berbeda secara nyata pada taraf nyata 5%.
T.ci(xbarteam1, xbarteam2, cov_team1, cov_team2, n_team1,n_team2, avec=c(0,1),level=0.95)
## lower upper
## 19.00169 25.92817
Tidak mencakup nilai 0, maka rata rata tingkat stress player antara team 1 dan team 2 tidak berbeda secara nyata pada taraf nyata 5%.