TPG Pertemuan 4

Denanda Aufadlan Tsaqif

2024-09-04

Perbandingan Dua Vektor Nilai Tengah Sampel Berpasangan

Input Data

library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
dataset <- read_excel("Data Prak 4.xlsx")
dataset <- dataset[-1]
dataset
## # A tibble: 15 × 4
##    Kata_Formal Kata_Kerja_Formal Kata_Informal Kata_Kerja_Informal
##          <dbl>             <dbl>         <dbl>               <dbl>
##  1         137                15           148                  20
##  2         164                25           159                  24
##  3         224                27           144                  19
##  4         208                33           103                  18
##  5         178                24           121                  17
##  6         128                20            89                  11
##  7         154                18           119                  17
##  8         158                16           123                  13
##  9         102                21            76                  16
## 10         214                25           217                  29
## 11         209                24           148                  22
## 12         151                16           151                  21
## 13         123                13            83                   7
## 14         161                22           135                  20
## 15         175                23           178                  15

Menghitung Selisih Essay Formal dan Informal

d_kata = dataset[,1]-dataset[,3]
d_kata_kerja = dataset[,2]-dataset[,4]

X = data.frame("Selisih Kata" = d_kata$Kata_Formal,
               "Selisih Kata Kerja" = d_kata_kerja$Kata_Kerja_Formal)

Menghitung vektor rataan dan matriks covarians

xbar = apply(X, 2, mean)
xbar
##       Selisih.Kata Selisih.Kata.Kerja 
##          32.800000           3.533333
cov_m = cov(X)
cov_m
##                    Selisih.Kata Selisih.Kata.Kerja
## Selisih.Kata           1096.029          139.90000
## Selisih.Kata.Kerja      139.900           31.55238

Uji T2 Hotelling Dua Populasi Sampel Berpasangan

\[H_{0}:\mu_{d}=\begin{bmatrix} 0\\ 0 \end{bmatrix}\]

\[H_{1}:\mu_{d}\neq \begin{bmatrix} 0\\ 0 \end{bmatrix}\]

library(MVTests)
## Warning: package 'MVTests' was built under R version 4.3.3
## 
## Attaching package: 'MVTests'
## The following object is masked from 'package:datasets':
## 
##     iris
mean0 = c(0,0)
result = OneSampleHT2(X,mu0=mean0,alpha=0.05)
summary(result)
##        One Sample Hotelling T Square Test 
## 
## Hotelling T Sqaure Statistic = 15.19123 
##  F value = 7.053 , df1 = 2 , df2 = 13 , p-value: 0.00843 
## 
##                    Descriptive Statistics
## 
##       Selisih.Kata Selisih.Kata.Kerja
## N         15.00000          15.000000
## Means     32.80000           3.533333
## Sd        33.10632           5.617151
## 
## 
##                  Detection important variable(s)
## 
##                         Lower    Upper Mu0 Important Variables?
## Selisih.Kata        8.3272804 57.27272   0               *TRUE*
## Selisih.Kata.Kerja -0.6189537  7.68562   0                FALSE

Kesimpulan : Tolak H0 pada taraf nyata 5% karena p-value = 0.008 < alpha
Artinya : Dengan tingkat kepercayaan 95%, dapat disimpulkan bahwa terdapat perbedaan kata dan kata kerja antara essay formal dengan essay informal.
Jika dilihat dari rata-rata selisih kata antara essay formal dengan essay informal dan rata-rata selisih kata kerja antara essay formal dengan essay informal di mana rata-rata selisih kata antara essay formal dengan essay informal lebih besar maka essay formal lebih baik daripada essay informal.

Selang Kepercayaan Simultan

result$CI
##                         Lower    Upper Mu0 Important Variables?
## Selisih.Kata        8.3272804 57.27272   0               *TRUE*
## Selisih.Kata.Kerja -0.6189537  7.68562   0                FALSE

Selang Kepercayaan Bonferroni

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(X)
#Kata
bon(xbar, cov_m,n,0.05,1)
## lower.Selisih.Kata upper.Selisih.Kata 
##           11.34816           54.25184
#Kata Kerja
bon(xbar, cov_m,n,0.05,2)
## lower.Selisih.Kata.Kerja upper.Selisih.Kata.Kerja 
##               -0.1064007                7.1730674

Perbandingan Dua Vektor Nilai Tengah Sampel Saling Bebas Ragam Sama

Input Data

library(readxl)
dataset2 <- read_excel("Data Prak 4.xlsx",sheet="Soal 2")
dataset2 <- dataset2[-1]
dataset2
## # A tibble: 20 × 4
##    TWK_CAT TIU_CAT TWK_MANUAL TIU_MANUAL
##      <dbl>   <dbl>      <dbl>      <dbl>
##  1      54      77         58         84
##  2      76      58         49         60
##  3      55      58         83         69
##  4      79      63         55         60
##  5      84      37         85         89
##  6      60      45         90         68
##  7      73      60         42         36
##  8      81      56         85         57
##  9      65      80         80         46
## 10      54      42         89         51
## 11      67      42         40         65
## 12      51      64         71         64
## 13      56      62         81         82
## 14      50      41         40         50
## 15      58      43         80         77
## 16      82      46         75         35
## 17      61      48         41         55
## 18      60      43         54         61
## 19      45      56         48         50
## 20      80      38         69         43
# Memisahkan Data dari Populasi 1 dan 2
data_cat = dataset2[,1:2]
data_cat
## # A tibble: 20 × 2
##    TWK_CAT TIU_CAT
##      <dbl>   <dbl>
##  1      54      77
##  2      76      58
##  3      55      58
##  4      79      63
##  5      84      37
##  6      60      45
##  7      73      60
##  8      81      56
##  9      65      80
## 10      54      42
## 11      67      42
## 12      51      64
## 13      56      62
## 14      50      41
## 15      58      43
## 16      82      46
## 17      61      48
## 18      60      43
## 19      45      56
## 20      80      38
data_man = dataset2[,3:4]
data_man
## # A tibble: 20 × 2
##    TWK_MANUAL TIU_MANUAL
##         <dbl>      <dbl>
##  1         58         84
##  2         49         60
##  3         83         69
##  4         55         60
##  5         85         89
##  6         90         68
##  7         42         36
##  8         85         57
##  9         80         46
## 10         89         51
## 11         40         65
## 12         71         64
## 13         81         82
## 14         40         50
## 15         80         77
## 16         75         35
## 17         41         55
## 18         54         61
## 19         48         50
## 20         69         43

Menghitung vektor rataan dan matriks covarians

xbar1 = apply(data_cat, 2, mean)
xbar1
## TWK_CAT TIU_CAT 
##   64.55   52.95
xbar2 = apply(data_man, 2, mean)
xbar2
## TWK_MANUAL TIU_MANUAL 
##      65.75      60.10
cov_m1 = cov(data_cat)
cov_m1
##           TWK_CAT   TIU_CAT
## TWK_CAT 151.10263 -26.28684
## TIU_CAT -26.28684 154.15526
cov_m2 = cov(data_man)
cov_m2
##            TWK_MANUAL TIU_MANUAL
## TWK_MANUAL  333.77632   81.86842
## TIU_MANUAL   81.86842  230.41053
n1 = nrow(data_cat)
n2 = nrow(data_man)

# S Gabungan
s_gab = ((n1-1)*cov_m1+(n2-1)*cov_m2)/(n1+n2-2)
s_gab
##           TWK_CAT   TIU_CAT
## TWK_CAT 242.43947  27.79079
## TIU_CAT  27.79079 192.28289

Uji Hipotesis

\[H_{0}:\mu_{1}=\mu_{2}\]

\[H_{1}:\mu_{1}\neq \mu_{2}\]

library(Hotelling)
## Loading required package: corpcor
t2_homogen = hotelling.test(data_cat,data_man,var.equal=TRUE)
t2_homogen
## Test stat:  2.6599 
## Numerator df:  2 
## Denominator df:  37 
## P-value:  0.286

Kesimpulan : Gagal tolak H0 pada taraf nyata 5% karena p-value = 0.286 > alpha
Artinya : Pada Saat ragam Populasi Tes CPNS Manual diasumsikan sama dengan Ragam Populasi Tes CPNS CAT, maka dapat disimpulkan belum cukup bukti menolak Ho. Dengan kata lain, nilai Tes CPNS manual tidak berbeda dengan tes CPNS Cat dengan uji taraf nyata 5%.

Selang Kepercayaan Simultan

T.ci = function(mu1, mu2, S_gab, n1, n2, avec=rep(1,length(mu)), level=0.95){
p = length(mu1)
mu = mu1-mu2
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)
}

#TWK
T.ci(xbar1, xbar2, s_gab, n1,n2, avec=c(1,0),level=0.95)
##     lower     upper 
## -13.92559  11.52559
#TIU
T.ci(xbar1, xbar2, s_gab, n1,n2, avec=c(0,1),level=0.95)
##      lower      upper 
## -18.483041   4.183041

Selang Kepercayaan Bonferroni

bon = function(mu1, mu2 ,S, n1, n2, alpha, k){
 p = length(mu1)
 mu = mu1-mu2
 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
}

#TWK

bon(xbar1, xbar2, s_gab, n1, n2,0.05,1)
##     lower     upper 
## -12.69081  10.29081
#TIU
bon(xbar1, xbar2, s_gab, n1, n2,0.05,2)
##      lower      upper 
## -17.383384   3.083384

Perbandingan Dua Vektor Nilai Tengah Sampel Saling Bebas Ragam Tidak Sama

Input Data

library(readxl)
dataset <- read_excel("Data Prak 4.xlsx",sheet="Soal 2")
dataset <- dataset[-1]

# Memisahkan Data dari Populasi 1 dan 2
data_cat = dataset[,1:2]
data_man = dataset[,3:4]

Menghitung vektor rataan dan matriks covarians

xbar1 = apply(data_cat, 2, mean)
xbar1
## TWK_CAT TIU_CAT 
##   64.55   52.95
xbar2 = apply(data_man, 2, mean)
xbar2
## TWK_MANUAL TIU_MANUAL 
##      65.75      60.10
cov_m1 = cov(data_cat)
cov_m1
##           TWK_CAT   TIU_CAT
## TWK_CAT 151.10263 -26.28684
## TIU_CAT -26.28684 154.15526
cov_m2 = cov(data_man)
cov_m2
##            TWK_MANUAL TIU_MANUAL
## TWK_MANUAL  333.77632   81.86842
## TIU_MANUAL   81.86842  230.41053
n1 = nrow(data_cat)
n2 = nrow(data_man)

Uji Hipotesis

\[H_{0}:\mu_{1}=\mu_{2}\]

\[H_{1}:\mu_{1}\neq \mu_{2}\]

library(Hotelling)
t2_not_homogen = hotelling.test(data_cat,data_man,var.equal=FALSE)
t2_not_homogen
## Test stat:  2.6599 
## Numerator df:  2 
## Denominator df:  34.1358976944273 
## P-value:  0.287

Kesimpulan : Gagal tolak H0 pada taraf nyata 5% karena p-value = 0.287 > alpha
Artinya : Pada Saat ragam Populasi Tes CPNS Manual diasumsikan tidak sama dengan Ragam Populasi Tes CPNS CAT, maka dapat disimpulkan belum cukup bukti menolak Ho. Dengan kata lain, nilai Tes CPNS manual tidak berbeda dengan tes CPNS Cat dengan uji taraf nyata 5%.

Selang Kepercayaan Simultan

T.ci = function(mu1, mu2, S1, S2, n1, n2, avec=rep(1,length(mu)), level=0.95){
p = length(mu1)
mu = mu1-mu2
cval = qchisq(level, p)
zhat = crossprod(avec, mu)
zvar = crossprod(avec, S1 %*% avec)/n1 + crossprod(avec, S2 %*% avec)/n2
const = sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}

#TWK
T.ci(xbar1, xbar2, cov_m1, cov_m2, n1,n2, avec=c(1,0),level=0.95)
##     lower     upper 
## -13.25225  10.85225
#TIU
T.ci(xbar1, xbar2, cov_m1, cov_m2, n1,n2, avec=c(0,1),level=0.95)
##      lower      upper 
## -17.883388   3.583388