# ==============================================================================
# Nama  : Aila Rahima Qanita Heruningtyas
# NRP   : 5003251056
# Kelas : D
# ==============================================================================
#SOAL NO 1

x <- c(12, 45, 52, 58, 61, 63, 67, 70, 72, 75, 78, 82, 88, 95, 310)

winsorized_mean <- function(x, alpha){
  n <- length(x)
  sortedx <- sort(x)
  k <- floor(n*alpha)
  
  y <- sortedx
  
  if (k > 0){
    y[1:k] <- sortedx[k+1]
    y[(n-k+1):n] <- sortedx[n-k]
  }
  
  total <- 0
  for (i in 1:n){
    total <- total +y[i]
  }
  winsorizedmean <- total/n
  return(winsorizedmean)
}
#Hitung ordinary mean (alpha=0)
winsorized_mean(x, 0)
## [1] 81.86667
#Hitung winsorized mean 20%
winsorized_mean(x, 0.2)
## [1] 69.73333
#Data visualization menggunakan boxplot
boxplot(x,
main = "BOXPLOT DATA x",
col = "pink"
        )

Analisis : Berdasarkan gambar boxplot diatas terlihat median disekitar 70. Dengan nilai dari perhitungan ordinary mean 81.86667, winsorized mean 20% sebesar 69.73333 dan terdapat outliner jauh di atas yaitu 310. Selain itu, sebaran utama pada data relatif rapat.

Interpretasi : Berdasarkan perhitungan di atas ordinary mean menjadi jauh lebih besar dari seharusnya karena dipengaruhi outliner (310). Dengan menggunakan winsorized mean akan memberikan nilai tengah yang lebih stabil dibandingkan dengan ordinary mean.

#SOAL NO 2

df <- read.csv("D:/ITS/SEMESTER 2/KOMPUTASI SATISTIKA/data_quiz1.csv")
X <- as.matrix(df[, c("x1", "x2", "x3")])
w <- df$w

weighted_corr <- function(X, w) {
  n <- length(w)
  W <- diag(w)
  nw <- 0
  for(i in 1:n){
    nw <- nw + w[i]
  }
  vec1 <- matrix(1,n,1)
  x_bar_w <- t(X)%*%W%*%vec1 / nw
  D <- X - (vec1%*%t(x_bar_w))
  S_w <- t(D)%*%W%*%D / nw
  s_w <- sqrt(diag(S_w))
  V <- diag(s_w)
  R_w <- solve(V)%*%S_w%*%solve(V)
  
  
  return(list(
    W = W,
    x_bar_w = x_bar_w,
    S_w = S_w,
    s_w = s_w,
    R_w = R_w
  ))
}
hasil <- weighted_corr(X,w)

#Hasil vektor mean tertimbang
hasil$x_bar_w
##        [,1]
## x1 73.88530
## x2 65.39059
## x3 17.00938
#Hasil matriks varians-kovarians tertimbang
hasil$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
#Hasil vektor standar deviasi tertimbang
hasil$s_w
##       x1       x2       x3 
## 6.177671 6.411527 4.598649
#Hasil matriks korelasi tertimbang
hasil$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
#Data Visualization menggunakan scatter plot
pairs(X,
main = "SCATTER PLOT MATRIX X",
pch  = 18,
col  = "pink",
cex  = 1.5
      )

#Data Visual dari x1 vs x2
plot(X[,1], X[,2],
main = "x1 vs x2",
pch  = 17,
col  = "darkgreen",
cex  = 1.5
     )

#Data visual dari x2 vs x3
plot(X[,2], X[,3],
main = "x2 vs x3",
pch  = 17,
col  = "blue",
cex  = 1.5
     )

#Data visual dari x1 vs x3
plot(X[,1], X[,3],
main = "x1 vs x3",
pch  = 17,
col  = "yellow",
cex  = 1.5
     )

Analisis : Berdasarkan visual scatter plot diatas didapatkan:

  1. x1 vs x2 memiliki korelasi negatif sangat kuat berbentuk garis menurun. Dibuktikan dengan hasil perhitungan matriks korelasi antara x1 dan x2 adalah -0.9531095.

  2. x2 vs x3 memiliki korelasi positif sangat kuat berbentuk garis naik. Dibuktikan dengan hasil perhitungan matriks korelasi antara x2 dan x3 adalah 0.9891979.

  3. x1 vs x3 memiliki korelasi negatif sangat kuat berbentuk garis turun. Dibuktikan dengan hasil perhitungan matriks korelasi antara x1 dan x3 adalah -0.9558207.

Yang artinya x1,x2,x3 memiliki hubungan linear yang kuat.

Interpretasi : x1 memiliki hubungan yang berlawanan dengan x2 dan x3. Pada x2 dan x3 memiliki hubungan yang sangat kuat positif tetapi hubungan bisa menjadi multikolinearitas akibat x2 dan x3 hampir sama.