==============================================================================
Nama : Frans Mappetua Ambarita
NRP : 5003251052
Kelas : Statistika D
==============================================================================
Soal 1
#1
x <- c(12, 45, 52, 58, 61, 63, 67, 70, 72, 75, 78, 82, 88, 95, 310)
X <- sort(x)
# --- [a] Buatlah fungsi winsorized_mean(x, alpha) ---
winsorized_mean <- function(x, alpha){
n = length(x)
k = floor(n*alpha)
sum = 0
for(i in 1:n){
if(i<=k) {
sum = sum + x[k+1]
} else if(k<i && i<=n-k) {
sum = sum + x[i]
} else if(i>n-k) {
sum = sum + x[n-k]
} else {
print("Error")
}
}
return(sum/n)
}
# ordinary mean
winsorized_mean(X,0)
## [1] 81.86667
# Winsorized mean 20%
winsorized_mean(X,0.2)
## [1] 69.73333
#Visualisasi Data No. 1
plot(X,
main="Grafik catatan output produksi harian dari 15 mesin",
xlab= "Mesin ke-",
ylab= "Output Produksi Harian",
pch = 19,
col = "steelblue",
cex = 1.5
)
#perbandingan ordinary mean dan winsorized mean
ord_mean <- winsorized_mean(X,0)
win_mean <- winsorized_mean(X,0.2)
plot(X, rep(1, length(X)),
main = "Perbandingan Ordinary Mean dan Winsorized Mean",
xlab = "Output Produksi Harian",
ylab = "",
pch = 19,
col = "gray40",
ylim = c(0.5, 1.5)
)
#garis merah putus-putus untuk Ordinary Mean
abline(v = ord_mean, col = "red", lwd = 2, lty = 2)
#garis biru untuk Winsorized Mean
abline(v = win_mean, col = "blue", lwd = 2, lty = 1)
Interpretasi Hasil Visualisasi: Pada plot perbandingan
di atas, titik-titik abu-abu mewakili output produksi. Garis putus-putus
berwarna merah menunjukkan letak Ordinary Mean, sedangkan garis biru
solid menunjukkan letak Winsorized Mean 20%. Terlihat bahwa garis merah
sangat terpengaruh oleh titik outlier (310) dan bergeser jauh ke kanan.
Sebaliknya, garis biru tetap berada di pusat distribusi data yang
normal, membuktikan bahwa Winsorized Mean adalah ukuran yang kebal
(robust).
Soal 2
#2
# --- Baca data CSV ---
df <- read.csv("C:/Users/frans/OneDrive/Documents/R work/data_quiz1.csv")
X <- as.matrix(df[, c("x1", "x2", "x3")])
w <- df$w
# --- [a] Buatlah fungsi weighted_corr(X, w) ---
weighted_corr <- function(X, w){
n = length(w)
W = diag(w)
satu = c(rep(1,n))
sum=0
for (i in 1:n){
sum = sum + w[i]
}
nw = sum
xbar = (t(X)%*%W%*%satu)/nw
D = X-satu%*%t(xbar)
Sw = t(D)%*%W%*%D/nw
sw = sqrt(diag(Sw))
Rw = solve(diag(sw))%*%Sw%*%solve(diag(sw))
return(list(
W = W,
x_bar_w = xbar,
S_w = Sw,
s_w = sw,
R_w = Rw
))
}
# --- [b] Aplikasikan fungsi pada data ---
# Panggil fungsi
result <- weighted_corr(X,w)
result
## $W
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
## [1,] 14.34 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [2,] 0.00 14.19 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [3,] 0.00 0.00 12.49 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [4,] 0.00 0.00 0.00 11.45 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [5,] 0.00 0.00 0.00 0.00 17.45 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [6,] 0.00 0.00 0.00 0.00 0.00 15.24 0.00 0.00 0.00 0.00 0.00 0.00
## [7,] 0.00 0.00 0.00 0.00 0.00 0.00 34.73 0.00 0.00 0.00 0.00 0.00
## [8,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.97 0.00 0.00 0.00 0.00
## [9,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 33.13 0.00 0.00 0.00
## [10,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 35.93 0.00 0.00
## [11,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.55 0.00
## [12,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16.54
## [13,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [14,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [15,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [16,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [17,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [18,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [19,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [20,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [21,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [22,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [23,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [24,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [25,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [26,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [27,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [28,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [29,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [30,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [31,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [32,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [33,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [34,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [35,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [36,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [37,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [38,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24]
## [1,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [2,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [3,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [4,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [5,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [6,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [7,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [8,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [9,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [10,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [11,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [12,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [13,] 17.25 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [14,] 0.00 14.93 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [15,] 0.00 0.00 7.24 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [16,] 0.00 0.00 0.00 9.85 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [17,] 0.00 0.00 0.00 0.00 11.1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [18,] 0.00 0.00 0.00 0.00 0.0 12.89 0.00 0.00 0.00 0.00 0.00 0.00
## [19,] 0.00 0.00 0.00 0.00 0.0 0.00 11.14 0.00 0.00 0.00 0.00 0.00
## [20,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 7.06 0.00 0.00 0.00 0.00
## [21,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 13.96 0.00 0.00 0.00
## [22,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 23.13 0.00 0.00
## [23,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 19.74 0.00
## [24,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 17.53
## [25,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [26,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [27,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [28,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [29,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [30,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [31,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [32,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [33,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [34,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [35,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [36,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [37,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [38,] 0.00 0.00 0.00 0.00 0.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
## [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36]
## [1,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [2,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [3,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [4,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [5,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [6,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [7,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [8,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [9,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [10,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [11,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [12,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [13,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [14,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [15,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [16,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [17,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [18,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [19,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [20,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [21,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [22,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [23,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [24,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [25,] 12.56 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [26,] 0.00 13.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [27,] 0.00 0.00 12.28 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [28,] 0.00 0.00 0.00 7.95 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [29,] 0.00 0.00 0.00 0.00 20.84 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [30,] 0.00 0.00 0.00 0.00 0.00 0.67 0.00 0.00 0.00 0.00 0.0 0.00
## [31,] 0.00 0.00 0.00 0.00 0.00 0.00 0.33 0.00 0.00 0.00 0.0 0.00
## [32,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.11 0.00 0.00 0.0 0.00
## [33,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.55 0.00 0.0 0.00
## [34,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.39 0.0 0.00
## [35,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.2 0.00
## [36,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.36
## [37,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [38,] 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0 0.00
## [,37] [,38]
## [1,] 0.00 0.00
## [2,] 0.00 0.00
## [3,] 0.00 0.00
## [4,] 0.00 0.00
## [5,] 0.00 0.00
## [6,] 0.00 0.00
## [7,] 0.00 0.00
## [8,] 0.00 0.00
## [9,] 0.00 0.00
## [10,] 0.00 0.00
## [11,] 0.00 0.00
## [12,] 0.00 0.00
## [13,] 0.00 0.00
## [14,] 0.00 0.00
## [15,] 0.00 0.00
## [16,] 0.00 0.00
## [17,] 0.00 0.00
## [18,] 0.00 0.00
## [19,] 0.00 0.00
## [20,] 0.00 0.00
## [21,] 0.00 0.00
## [22,] 0.00 0.00
## [23,] 0.00 0.00
## [24,] 0.00 0.00
## [25,] 0.00 0.00
## [26,] 0.00 0.00
## [27,] 0.00 0.00
## [28,] 0.00 0.00
## [29,] 0.00 0.00
## [30,] 0.00 0.00
## [31,] 0.00 0.00
## [32,] 0.00 0.00
## [33,] 0.00 0.00
## [34,] 0.00 0.00
## [35,] 0.00 0.00
## [36,] 0.00 0.00
## [37,] 3.36 0.00
## [38,] 0.00 1.94
##
## $x_bar_w
## [,1]
## x1 73.88530
## x2 65.39059
## x3 17.00938
##
## $S_w
## x1 x2 x3
## x1 38.16362 -37.75105 -27.15386
## x2 -37.75105 41.10767 29.16587
## x3 -27.15386 29.16587 21.14757
##
## $s_w
## x1 x2 x3
## 6.177671 6.411527 4.598649
##
## $R_w
## [,1] [,2] [,3]
## [1,] 1.0000000 -0.9531095 -0.9558207
## [2,] -0.9531095 1.0000000 0.9891979
## [3,] -0.9558207 0.9891979 1.0000000
# Tampilkan vektor mean tertimbang
print("Vektor Mean Tertimbang")
## [1] "Vektor Mean Tertimbang"
result$x_bar_w
## [,1]
## x1 73.88530
## x2 65.39059
## x3 17.00938
# Tampilkan matriks varians-kovarians tertimbang
print("Matriks varians-kovarians tertimbang")
## [1] "Matriks varians-kovarians tertimbang"
result$S_w
## x1 x2 x3
## x1 38.16362 -37.75105 -27.15386
## x2 -37.75105 41.10767 29.16587
## x3 -27.15386 29.16587 21.14757
# Tampilkan vektor standar deviasi tertimbang
print("Vektor standar deviasi tertimbang")
## [1] "Vektor standar deviasi tertimbang"
result$s_w
## x1 x2 x3
## 6.177671 6.411527 4.598649
# Tampilkan matriks korelasi tertimbang
print("Matriks korelasi tertimbang")
## [1] "Matriks korelasi tertimbang"
result$R_w
## [,1] [,2] [,3]
## [1,] 1.0000000 -0.9531095 -0.9558207
## [2,] -0.9531095 1.0000000 0.9891979
## [3,] -0.9558207 0.9891979 1.0000000
Visualisasi Data No. 2
library(corrplot)
## corrplot 0.95 loaded
matriks_korelasi <- result$R_w
colnames(matriks_korelasi) <- c("Udara (x1)", "Air (x2)", "RTH (x3)")
rownames(matriks_korelasi) <- c("Udara (x1)", "Air (x2)", "RTH (x3)")
corrplot(matriks_korelasi,
method = "color",
type = "upper",
addCoef.col = "black",
tl.col = "black",
tl.srt = 45,
mar = c(0,0,1,0),
title = "Korelasi Kualitas Lingkungan Jatim (Weighted by Area)")
Interpretasi Hasil Visualisasi: Dari plot matriks
korelasi di atas, terdapat hubungan antara ketiga variabel kualitas
lingkungan setelah diberi bobot luas wilayah:
Udara (x1) dan Air (x2): Korelasinya negatif kuat (-0.953) yang berarti daerah yang kualitas udaranya bagus cenderung memiliki kualitas air yang lebih rendah, dan sebaliknya.
Air (x2) dan Ruang Terbuka Hijau(x3): Korelasinya positif sangat kuat (0.989), artinya semakin banyak Ruang Terbuka Hijau (RTH) di suatu daerah, kualitas airnya juga semakin bagus. Hubungannya sangat searah dan hampir sempurna.
Udara (x1) dan Ruang Terbuka Hijau (x3): Korelasinya negatif kuat (-0.956), daerah dengan RTH tinggi cenderung mempunyai indeks kualitas udara yang lebih rendah.
Jadi, pembobotan menggunakan luas wilayah ini penting karena membuat daerah yang luas, seperti kabupaten besar, menjadi lebih berpengaruh ke hasil rata-rata korelasinya dibandingkan kota-kota kecil.