data <- data.frame(
Kabupaten = c("Merauke", "Jayawijaya", "Jayapura", "Nabire", "Kepulauan Yapen",
"Biak Numfor", "Paniai", "Puncak Jaya", "Mimika", "Boven Digoel",
"Mappi", "Asmat", "Yahukimo", "Pegunungan Bintang", "Tolikara",
"Sarmi", "Keerom", "Waropen", "Supiori", "Mamberamo Raya",
"Nduga", "Lanny Jaya", "Mamberamo Tengah", "Yalimo", "Puncak",
"Dogiyai", "Intan Jaya", "Deiyai", "Kota Jayapura"),
IPM = c(70.09, 58.03, 71.69, 68.83, 67.66, 72.19, 56.31, 48.37, 74.19, 61.53,
58.15, 50.55, 49.37, 45.44, 49.50, 63.63, 66.40, 64.94, 62.30, 51.78,
31.55, 47.86, 47.57, 48.34, 43.04, 54.84, 47.79, 49.46, 79.94),
Laju = c(0.07, -2.10, -4.57, 1.04, -2.16, -4.63, 2.50, -1.11,
15.62, -0.25, 1.01, 4.09, 3.48, 2.87, 5.03, 4.38,
2.49, -0.28, 3.26, 4.77, 4.49, 5.82, 4.40, 5.27,
2.66, 3.23, 2.01, 3.56, -0.51))
X <- as.matrix(data[,c("IPM", "Laju")])
X
## IPM Laju
## [1,] 70.09 0.07
## [2,] 58.03 -2.10
## [3,] 71.69 -4.57
## [4,] 68.83 1.04
## [5,] 67.66 -2.16
## [6,] 72.19 -4.63
## [7,] 56.31 2.50
## [8,] 48.37 -1.11
## [9,] 74.19 15.62
## [10,] 61.53 -0.25
## [11,] 58.15 1.01
## [12,] 50.55 4.09
## [13,] 49.37 3.48
## [14,] 45.44 2.87
## [15,] 49.50 5.03
## [16,] 63.63 4.38
## [17,] 66.40 2.49
## [18,] 64.94 -0.28
## [19,] 62.30 3.26
## [20,] 51.78 4.77
## [21,] 31.55 4.49
## [22,] 47.86 5.82
## [23,] 47.57 4.40
## [24,] 48.34 5.27
## [25,] 43.04 2.66
## [26,] 54.84 3.23
## [27,] 47.79 2.01
## [28,] 49.46 3.56
## [29,] 79.94 -0.51
library(MVN)
result <- mvn(X, mvnTest = "royston", multivariatePlot = "qq")
result$multivariateNormality
## Test H p value MVN
## 1 Royston 10.14344 0.00623429 NO
Berdasarkan chi-square plot di atas, terdapat satu titik yang keberadaannya jauh dari garis lurus (y=x) sehingga mengindikasi adanya data outlier multivariate. Outlier multivariat yang berpengaruh dapat mengakibatkan data tidak menyebar secara multivariate normal. Dengan Uji Royston, dengan tingkat signifikansi 5% belum terdapat cukup bukti untuk menunjukkan bahwa data berdistribusi normal multivariat.
mahal_dist <- mahalanobis(X, colMeans(X), cov(X))
outliers <- which(mahal_dist > qchisq(0.95, df = ncol(X)))
print(data[outliers,])
## Kabupaten IPM Laju
## 9 Mimika 74.19 15.62
Dari output di atas didapatkan data yang merupakan outlier multivariat menggunakan nilai statistik Mahalanobis Distance adalah amatan ke-9 yaitu Kabupaten Mimika.
Y <- X[-outliers, ]
result1 <- mvn(Y, mvnTest = "royston", multivariatePlot = "qq")
result1$multivariateNormality
## Test H p value MVN
## 1 Royston 3.431584 0.1248133 YES
Data menjadi berdistribusi normal multivariat setelah data outlier multivariat dibuang. Artinya, outlier tersebut berpengaruh. Dengan Uji Royston, dengan tingkat signifikansi 5% terdapat cukup bukti untuk menunjukkan bahwa data berdistribusi normal multivariat.
mu_0 <- c(63.94, 4.7)
T.test <- function(X, mu=0){
X <- as.matrix(Y)
n <- nrow(Y)
p <- ncol(Y)
df2 <- n - p
if(df2 < 1L) stop("Need nrow(X) > ncol(X).")
if(length(mu) != p) mu <- rep(mu[1], p)
xbar <- colMeans(Y)
S <- cov(Y)
T2 <- n * t(xbar - mu) %*% solve(S) %*% (xbar - mu)
Fstat <- T2 / (p * (n-1) / df2)
pval <- 1 - pf(Fstat, df1=p, df2=df2)
data.frame(T2=as.numeric(T2), Fstat=as.numeric(Fstat),
df1=p, df2=df2, p.value=as.numeric(pval), row.names="")
}
T.test (Y, mu_0)
## T2 Fstat df1 df2 p.value
## 112.3645 54.10141 2 26 5.416916e-10
Hipotesis
\(H_0\): \(\mu\)=\(μ_0\) (semua elemen μ sama dengan \(μ_0\))
\(H_1\): \(\mu\)≠\(μ_0\) (minimal terdapat satu elemen μ yang tidak sama dengan \(μ_0\))
Tingkat Signifikansi
α=5%
Statistik Uji
\(T^2\)=n(ybar- \(μ_0\))’ \(S^-\) (ybar - \(μ_0\))=112,3645
p-value≈0
Keputusan
Tolak \(H_0\) karena p-value <α
Kesimpulan
Dengan Tingkat signifikansi 5%, terdapat cukup bukti untuk menunjukkan bahwa minimal terdapat satu elemen μ yang tidak sama dengan \(μ_0\). Atau dapat dikatakan bahwa minimal salah satu antara rata-rata IPM atau laju pertumbuhan ekonomi sebenarnya yang tidak sama dengan target rata-rata IPM dan laju pertumbuhan ekonomi dalam RPJMN 2020-2024 di Provinsi Papua.
library(car)
n <- nrow(Y)
p <- ncol(Y)
ybar <- colMeans(Y)
S <- cov(Y)
alpha<-0.05
tconst <- sqrt((p/n)*((n-1)/(n-p)) * qf(1-alpha,p,n-p))
id <- c(1,2)
plot(ellipse(center=ybar[id], shape=S[id,id],
radius=tconst, draw=F),type="n", xlab="IPM", ylab="Laju", xlim=c(50,65), ylim=c(0,8), main="95% Confidence Region Ellipsoid")
lines(ellipse(center=ybar[id], shape=S[id,id],
radius=tconst, lwd=3), xlab="IPM", ylab="Laju")
points(63.94, 4.7,col="red", pch=16)
text(63.94+0.5, 4.7,expression(mu[0]))
text(ybar[1]+0.5,ybar[2],expression(bar(x)))
Dengan Tingkat kepercayaan 95% menunjukkan bahwa berada di luar daerah penerimaan , sehingga hal ini memperkuat hasil pengujian hipotesis di atas.
T.ci <- function(mu, Sigma, n, avec=rep(1,length(mu_0)), level=0.95){
p <- length(mu_0)
if(nrow(Sigma)!=p) stop("Need length(mu) == nrow(Sigma).")
if(ncol(Sigma)!=p) stop("Need length(mu) == ncol(Sigma).")
if(length(avec)!=p) stop("Need length(mu) ==
length(avec).")
if(level <=0 | level >= 1) stop("Need 0 < level < 1.")
cval <- qf(level, p, n-p) * p * (n-1) / (n-p)
zhat <- crossprod(avec, mu)
zvar <- crossprod(avec, Sigma %*% avec) / n
const <- sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}
T.ci(mu=ybar, Sigma=S, n=n, avec=c(1,0))
## lower upper
## 51.18288 62.18497
T.ci(mu=ybar, Sigma=S, n=n, avec=c(0,1))
## lower upper
## 0.3697426 3.2602574
Berdasarkan simultan confidence interval di atas, terlihat bahwa nilai \(\mu_0\) dari IPM dan Laju Pertumbuhan Ekonomi tidak berada dalam interval tersebut. Artinya, tidak ada elemen \(\mu\) yang sama dengan \(\mu_0\).
Hasil pembangunan di Provinsi Papua pada Tahun 2020 tersebut belum mencapai target yang ditetapkan. Hal ini dikarenakan, baik rata-rata IPM maupun laju pertumbuhan ekonomi sebenarnya, tidak sama dengan target rata-rata IPM dan laju pertumbuhan ekonomi dalam RPJMN 2020-2024 di Provinsi Papua.