Nama: Muhammad Sharqarchie Bayanaka NRP: 5003251098 Kelas: D
#Nomor 1
sorting_function = function(data){
temp = 0
n = length(data)
for(i in 1:(n-1)){
for(j in (i+1):n){
if(data[j] < data[i]){
temp = data[j]
data[j] = data[i]
data[i] = temp
}
}
}
return(data)
}
winsorized_mean = function(x, alpha){
n = length(x)
k = floor(n * alpha)
sorted = sorting_function(x)
sum = 0
for(i in 1:n){
if(i <= k){
sum = sum + sorted[k+1]
}else if(i > k && i <= (n-k)){
sum = sum + sorted[i]
}else if(i > (n-k)){
sum = sum + sorted[n-k]
}
}
return(sum/n)
}
x = c(12, 45, 52, 58, 61, 63, 67, 70, 72, 75, 78, 82, 88, 95, 310)
b1 = winsorized_mean(x, 0)
b2 = winsorized_mean(x, 0.2)
b1
[1] 81.86667
b2
[1] 69.73333
outlier_detection = function(x, alpha){
x_copy = x
sorted = sorting(x_copy)
n = length(x_copy)
outlier_n = floor(n * alpha)
tanpa_outlier = sorted[(outlier_n + 1) : (n - outlier_n)]
return(tanpa_outlier)
}
c1 = outlier_detection(x, 0)
c2 = outlier_detection(x, 0.2)
c1
[1] 12 45 52 58 61 63 67 70 72 75 78 82 88 95 310
c2
[1] 58 61 63 67 70 72 75 78 82
#Visualisasi
par(mfrow = c(1,3))
boxplot(x,
main = "Data Asli",
ylab = "Output Produksi",
col = "green",
ylim = c(0, 320))
abline(h = b1, col = "red", lty = 2, lwd = 2)
boxplot(c1,
main = "alpha = 0",
ylab = "Output Produksi",
col = "blue",
ylim = c(0, 320))
abline(h = b1, col = "red", lty = 2, lwd = 2)
boxplot(c2,
main = "alpha = 0.2",
ylab = "Output Produksi",
col = "salmon",
ylim = c(0, 320))
abline(h = b2, col = "red", lty = 2, lwd = 2)
Dapat dilihat perbedaan boxplot dari tiap kondisi. Boxplot hijau memvisualisasikan data dengan outlier hasil produksi, dimana nilai 310 merupakan nilai outlier akibat kerusakan mesin. Dalam boxplot digambarkan sebagai titik terjauh diatas boxplot. Garis putus-putus berwarna merah menggambarkan mean dari tiap-tiap kondisi.
Pada kondisi pertama (data asli), mean bernilai 81.867 yang tertarik ke atas akibat dari masuknya outlier 310 kedalam perhitungan mean. Hal ini mengakibatkan mean tidak akurat dan dapat menimbulkan kesalahan dalam pengambilan keputusan kedepannya.
Pada kondisi kedua (alpha = 0), hasil ini sama seperti kondisi pertama karena tidak terdapat outlier yang dibuang (alpha = 0), sehingga mean masih bernilai 81.867 karena outlier 310 masih masuk dan mempengaruhi perhitungan.
Pada kondisi ketiga (alpha = 0.2), 20% outlier atas dan bawah dibuang, alhasil mean turun menjadi 69.73 dan mendekati median. Perhitungan mean menjadi lebih akurat dan dapat mendukung keputusan kedepannya.
#Nomor2
df = read.csv("C:/Users/ASUS/OneDrive/Documents/Statistics/Quiz 1 Komstat/data_quiz1.csv")
df
mat_x = matrix(x1, x2, x3)
Error: object 'x1' not found
kota = df$kota
x1 = df$x1
x2 = df$x2
x3 = df$x3
w = df$w
weighted_corr = function(X, w){
n = nrow(X)
mat_w = t(w)
mat_W = diag(w)
n_w = 0
ones = matrix(1, nrow = n, ncol = 1)
for(i in 1:length(w)){
n_w = n_w + w[i]
}
xbar_w = (1/n_w) * t(X) %*% mat_W %*% ones
D = X - ones %*% t(xbar_w)
S_w = (1/n_w) * t(D) %*% mat_W %*% D
s_w = sqrt(diag(S_w))
V = diag(s_w)
R_w = solve(V) %*% S_w %*% solve(V)
return(list(mat_W,
xbar_w,
S_w,
s_w,
R_w))
}
mat_x = cbind(x1, x2, x3)
weighted_corr(mat_x, w)
[[1]]
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 14.34 0.00 0.00 0.00 0.00 0.00
[2,] 0.00 14.19 0.00 0.00 0.00 0.00
[3,] 0.00 0.00 12.49 0.00 0.00 0.00
[4,] 0.00 0.00 0.00 11.45 0.00 0.00
[5,] 0.00 0.00 0.00 0.00 17.45 0.00
[6,] 0.00 0.00 0.00 0.00 0.00 15.24
[7,] 0.00 0.00 0.00 0.00 0.00 0.00
[8,] 0.00 0.00 0.00 0.00 0.00 0.00
[9,] 0.00 0.00 0.00 0.00 0.00 0.00
[10,] 0.00 0.00 0.00 0.00 0.00 0.00
[11,] 0.00 0.00 0.00 0.00 0.00 0.00
[12,] 0.00 0.00 0.00 0.00 0.00 0.00
[13,] 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
[15,] 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
[17,] 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
[19,] 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
[21,] 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
[23,] 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
[25,] 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
[,7] [,8] [,9] [,10] [,11] [,12]
[1,] 0.00 0.00 0.00 0.00 0.00 0.00
[2,] 0.00 0.00 0.00 0.00 0.00 0.00
[3,] 0.00 0.00 0.00 0.00 0.00 0.00
[4,] 0.00 0.00 0.00 0.00 0.00 0.00
[5,] 0.00 0.00 0.00 0.00 0.00 0.00
[6,] 0.00 0.00 0.00 0.00 0.00 0.00
[7,] 34.73 0.00 0.00 0.00 0.00 0.00
[8,] 0.00 17.97 0.00 0.00 0.00 0.00
[9,] 0.00 0.00 33.13 0.00 0.00 0.00
[10,] 0.00 0.00 0.00 35.93 0.00 0.00
[11,] 0.00 0.00 0.00 0.00 15.55 0.00
[12,] 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
[14,] 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
[16,] 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
[18,] 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
[20,] 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
[22,] 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
[24,] 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
[26,] 0.00 0.00 0.00 0.00 0.00 0.00
[,13] [,14] [,15] [,16] [,17] [,18]
[1,] 0.00 0.00 0.00 0.00 0.0 0.00
[2,] 0.00 0.00 0.00 0.00 0.0 0.00
[3,] 0.00 0.00 0.00 0.00 0.0 0.00
[4,] 0.00 0.00 0.00 0.00 0.0 0.00
[5,] 0.00 0.00 0.00 0.00 0.0 0.00
[6,] 0.00 0.00 0.00 0.00 0.0 0.00
[7,] 0.00 0.00 0.00 0.00 0.0 0.00
[8,] 0.00 0.00 0.00 0.00 0.0 0.00
[9,] 0.00 0.00 0.00 0.00 0.0 0.00
[10,] 0.00 0.00 0.00 0.00 0.0 0.00
[11,] 0.00 0.00 0.00 0.00 0.0 0.00
[12,] 0.00 0.00 0.00 0.00 0.0 0.00
[13,] 17.25 0.00 0.00 0.00 0.0 0.00
[14,] 0.00 14.93 0.00 0.00 0.0 0.00
[15,] 0.00 0.00 7.24 0.00 0.0 0.00
[16,] 0.00 0.00 0.00 9.85 0.0 0.00
[17,] 0.00 0.00 0.00 0.00 11.1 0.00
[18,] 0.00 0.00 0.00 0.00 0.0 12.89
[19,] 0.00 0.00 0.00 0.00 0.0 0.00
[20,] 0.00 0.00 0.00 0.00 0.0 0.00
[21,] 0.00 0.00 0.00 0.00 0.0 0.00
[22,] 0.00 0.00 0.00 0.00 0.0 0.00
[23,] 0.00 0.00 0.00 0.00 0.0 0.00
[24,] 0.00 0.00 0.00 0.00 0.0 0.00
[25,] 0.00 0.00 0.00 0.00 0.0 0.00
[26,] 0.00 0.00 0.00 0.00 0.0 0.00
[,19] [,20] [,21] [,22] [,23] [,24]
[1,] 0.00 0.00 0.00 0.00 0.00 0.00
[2,] 0.00 0.00 0.00 0.00 0.00 0.00
[3,] 0.00 0.00 0.00 0.00 0.00 0.00
[4,] 0.00 0.00 0.00 0.00 0.00 0.00
[5,] 0.00 0.00 0.00 0.00 0.00 0.00
[6,] 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
[8,] 0.00 0.00 0.00 0.00 0.00 0.00
[9,] 0.00 0.00 0.00 0.00 0.00 0.00
[10,] 0.00 0.00 0.00 0.00 0.00 0.00
[11,] 0.00 0.00 0.00 0.00 0.00 0.00
[12,] 0.00 0.00 0.00 0.00 0.00 0.00
[13,] 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
[15,] 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
[17,] 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
[19,] 11.14 0.00 0.00 0.00 0.00 0.00
[20,] 0.00 7.06 0.00 0.00 0.00 0.00
[21,] 0.00 0.00 13.96 0.00 0.00 0.00
[22,] 0.00 0.00 0.00 23.13 0.00 0.00
[23,] 0.00 0.00 0.00 0.00 19.74 0.00
[24,] 0.00 0.00 0.00 0.00 0.00 17.53
[25,] 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
[,25] [,26] [,27] [,28] [,29] [,30]
[1,] 0.00 0.00 0.00 0.00 0.00 0.00
[2,] 0.00 0.00 0.00 0.00 0.00 0.00
[3,] 0.00 0.00 0.00 0.00 0.00 0.00
[4,] 0.00 0.00 0.00 0.00 0.00 0.00
[5,] 0.00 0.00 0.00 0.00 0.00 0.00
[6,] 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
[8,] 0.00 0.00 0.00 0.00 0.00 0.00
[9,] 0.00 0.00 0.00 0.00 0.00 0.00
[10,] 0.00 0.00 0.00 0.00 0.00 0.00
[11,] 0.00 0.00 0.00 0.00 0.00 0.00
[12,] 0.00 0.00 0.00 0.00 0.00 0.00
[13,] 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
[15,] 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
[17,] 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
[19,] 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
[21,] 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
[23,] 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
[25,] 12.56 0.00 0.00 0.00 0.00 0.00
[26,] 0.00 13.01 0.00 0.00 0.00 0.00
[,31] [,32] [,33] [,34] [,35] [,36]
[1,] 0.00 0.00 0.00 0.00 0.0 0.00
[2,] 0.00 0.00 0.00 0.00 0.0 0.00
[3,] 0.00 0.00 0.00 0.00 0.0 0.00
[4,] 0.00 0.00 0.00 0.00 0.0 0.00
[5,] 0.00 0.00 0.00 0.00 0.0 0.00
[6,] 0.00 0.00 0.00 0.00 0.0 0.00
[7,] 0.00 0.00 0.00 0.00 0.0 0.00
[8,] 0.00 0.00 0.00 0.00 0.0 0.00
[9,] 0.00 0.00 0.00 0.00 0.0 0.00
[10,] 0.00 0.00 0.00 0.00 0.0 0.00
[11,] 0.00 0.00 0.00 0.00 0.0 0.00
[12,] 0.00 0.00 0.00 0.00 0.0 0.00
[13,] 0.00 0.00 0.00 0.00 0.0 0.00
[14,] 0.00 0.00 0.00 0.00 0.0 0.00
[15,] 0.00 0.00 0.00 0.00 0.0 0.00
[16,] 0.00 0.00 0.00 0.00 0.0 0.00
[17,] 0.00 0.00 0.00 0.00 0.0 0.00
[18,] 0.00 0.00 0.00 0.00 0.0 0.00
[19,] 0.00 0.00 0.00 0.00 0.0 0.00
[20,] 0.00 0.00 0.00 0.00 0.0 0.00
[21,] 0.00 0.00 0.00 0.00 0.0 0.00
[22,] 0.00 0.00 0.00 0.00 0.0 0.00
[23,] 0.00 0.00 0.00 0.00 0.0 0.00
[24,] 0.00 0.00 0.00 0.00 0.0 0.00
[25,] 0.00 0.00 0.00 0.00 0.0 0.00
[26,] 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
[ reached 'max' / getOption("max.print") -- omitted 12 rows ]
[[2]]
[,1]
x1 73.88530
x2 65.39059
x3 17.00938
[[3]]
x1 x2 x3
x1 38.16362 -37.75105 -27.15386
x2 -37.75105 41.10767 29.16587
x3 -27.15386 29.16587 21.14757
[[4]]
x1 x2 x3
6.177671 6.411527 4.598649
[[5]]
[,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
urut_x1 = order(x1)
urut_x2 = order(x2)
urut_x3 = order(x3)
par(mfrow = c(1,3))
barplot(x1[urut_x1],
names.arg = kota[urut_x1],
main = "Indeks Kualitas Udara per Kabupaten/Kota di Jawa Timur",
xlab = "Nilai Indeks",
col = "skyblue",
horiz = TRUE,
las = 1,
cex.names = 0.6)
abline(v = hasil$xbar_w[1], col = "red", lty = 2, lwd = 2)
barplot(x2[urut_x2],
names.arg = kota[urut_x2],
main = "Indeks Kualitas Air per Kabupaten/Kota di Jawa Timur",
xlab = "Nilai Indeks",
col = "lightgreen",
horiz = TRUE,
las = 1,
cex.names = 0.6)
abline(v = hasil$xbar_w[2], col = "red", lty = 2, lwd = 2)
barplot(x3[urut_x3],
names.arg = kota[urut_x3],
main = "Rasio Ruang Terbuka Hijau per Kabupaten/Kota di Jawa Timur",
xlab = "Nilai Indeks",
col = "salmon",
horiz = TRUE,
las = 1,
cex.names = 0.6)
abline(v = hasil$xbar_w[3], col = "red", lty = 2, lwd = 2)
par(mfrow = c(1,1))
Terdapat tiga variabel yang divisualisasikan berdasarkan data yang diberikan pada file data_quiz1.csv. barplot biru memvisualisasikan variabel x1, yaitu Indeks Kualitas Udara di Kabupaten/Kota di Jawa Timur, barplot hijau memvisualisasikan variabel x2, yaitu Indeks Kualitas Air di Kabupaten/Kota di Jawa Timur, dan barplot merah memvisualisasikan variabek x3, yaitu Rasio Ruang Terbuka Hijau di Kabupaten/Kota di Jawa Timur.
Untuk Indeks Kualitas Udara di Kabupaten/Kota di Jawa Timur dapat dilihat pada barplot biru, daerah dengan Kualitas udara terbaik diraih oleh Kabupaten Pacitan dan Kota Batu, sedangkan Kota Malang dan Kota Surabaya menjadi kota dengan indeks kualitas udara terburuk di Jawa Timur, hal ini tidak mengejutkan, pasalnya dua kota ini merupakan pusat industri dan perkotaan di Jawa Timur, banyak kendaraan bermotor yang menghuni atau berlalu lalang di dalam kedua kota tersebut yang mengakibatkan buruknya indeks kualitas udara.
Berbalik dari Indeks Kualitas Udara, Indeks Kualitas Air menunjukkan bahwa Kota Surabaya dan Kota Malang menempati urutan teratas dalam kabupaten/kota terbaik dalam kualitas air. Sedangkan, Kabupaten Pacitan yang meraih posisi teratas dalam Indeks Kualitas udara merosot jauh ke posisi terakhir dalam Indeks Kualitas Air. Hal ini menunjukkan, bahwa kemajuan dalam suatu kabupaten/kota mempengaruhi kualitas air di kabupaten/kota tersebut. Kota Surabaya dan Kota Malang memiliki infrastruktur yang lebih baik, termasuk infrastruktur pengelolaan air, hal ini menggambarkan seberapa berpengaruhnya kemajuan suatu kota/kabupaten dalam mendukung kualitas air di kota/kabupaten tersebut.
Secara umum, rasio ruang terbuka hijau di kota/kabupaten di Jawa Timur masih tergolong rendah, kota-kota besar seperti Surabaya, Malang serta Mojokerto mendominasi peringkat teratas dalam rasio ruang terbuka hijau, sedangkan kabupaten Sumenep, Pacitan dan Magetan menghuni peringkat bawah dalam rasio ruang terbuka hijau. Dari posisi teratas dapat kita tarik kesimpulan bahwa, kemajuan ataupun urbanisasi suatu kota pasti akan diimbangin dengan pembangunan infrastruktur termasuk di dalamnya infrastruktur ruang terbuka hijau guna menopang aktivitas polusi yang dihasilkan oleh masyarakat di kota tersebut.