Pendahuluan

Dokumen ini berisi analisis tiga studi kasus statistika menggunakan metode ANOVA, regresi linear berganda, dan time series.

Studi Kasus 1: ANOVA Two-Way

# package yang digunakan
library(readxl)

# Studi kasus nomor 1
# menggunakan anova two-way

# 1. INPUT & PREPROCESSING DATA
# Import data
data_no_1 <- read_xlsx("/Users/M.Fabian.R.D/Desktop/SEMESTER 6/KONSULTASI STATISTIKA/PERTEMUAN 5/Data Studi Kasus-Konsultasi Statistika.xlsx", sheet = 1)

# Ubah ke faktor
data_no_1$Perlakuan <- as.factor(data_no_1$Perlakuan)
data_no_1$Waktu <- as.factor(data_no_1$Waktu)

# Warna
model_warna <- aov(Warna ~ Perlakuan * Waktu, data = data_no_1)
summary(model_warna)
##                 Df Sum Sq Mean Sq F value   Pr(>F)    
## Perlakuan        3 1.9578  0.6526  23.071 4.71e-06 ***
## Waktu            1 0.0852  0.0852   3.012    0.102    
## Perlakuan:Waktu  3 0.0545  0.0182   0.643    0.599    
## Residuals       16 0.4526  0.0283                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Aroma
model_aroma <- aov(Aroma ~ Perlakuan * Waktu, data = data_no_1)
summary(model_aroma)
##                 Df Sum Sq Mean Sq F value   Pr(>F)    
## Perlakuan        3 1.9388  0.6463  16.838 3.32e-05 ***
## Waktu            1 0.0400  0.0400   1.043    0.322    
## Perlakuan:Waktu  3 0.0126  0.0042   0.109    0.953    
## Residuals       16 0.6141  0.0384                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Rasa
model_rasa <- aov(Rasa ~ Perlakuan * Waktu, data = data_no_1)
summary(model_rasa)
##                 Df Sum Sq Mean Sq F value   Pr(>F)    
## Perlakuan        3 1.7342  0.5781  19.532 1.35e-05 ***
## Waktu            1 0.0840  0.0840   2.839    0.111    
## Perlakuan:Waktu  3 0.0258  0.0086   0.290    0.832    
## Residuals       16 0.4735  0.0296                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Tekstur
model_tekstur <- aov(Tekstur ~ Perlakuan * Waktu, data = data_no_1)
summary(model_tekstur)
##                 Df Sum Sq Mean Sq F value Pr(>F)    
## Perlakuan        3 2.3145  0.7715  20.831  9e-06 ***
## Waktu            1 0.0353  0.0353   0.952  0.344    
## Perlakuan:Waktu  3 0.1548  0.0516   1.393  0.281    
## Residuals       16 0.5926  0.0370                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Studi kasus nomor 2

menggunakan analsis regresi berganda

# INPUT & PREPROCESSING DATA
# Import data
data_no_2 <- read_xlsx("/Users/M.Fabian.R.D/Desktop/SEMESTER 6/KONSULTASI STATISTIKA/PERTEMUAN 5/Data Studi Kasus-Konsultasi Statistika.xlsx", sheet = 2)

# Pengerjaan soal 
# Gabungkan data menjadi 1 (Langkah 1)

# X1 (Disiplin Kerja)
data_no_2$X1 <- rowMeans(data_no_2[, c("X1.1","X1.2","X1.3","X1.4")])

# X2 (Emotional Quotient)
data_no_2$X2 <- rowMeans(data_no_2[, c("X2.1","X2.2","X2.3","X2.4","X2.5")])

# X3 (Kepuasan Kerja)
data_no_2$X3 <- rowMeans(data_no_2[, c("Z1.1","Z1.2","Z1.3")])  # ini asumsi X3 ya (dari tabel kamu)

# Y (Kinerja)
data_no_2$Y <- rowMeans(data_no_2[, c("Y1.1","Y1.2","Y1.3")])

# (Langkah 2) 
model_no_2 <- lm(Y ~ X1 + X2 + X3, data = data_no_2)
summary(model_no_2)
## 
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data_no_2)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.49480 -0.23221 -0.00473  0.21474  1.00696 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   1.8712     0.5325   3.514 0.000987 ***
## X1            0.1284     0.1121   1.146 0.257650    
## X2            0.1987     0.1449   1.371 0.176753    
## X3           -0.1073     0.1516  -0.708 0.482429    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5036 on 47 degrees of freedom
## Multiple R-squared:  0.1258, Adjusted R-squared:  0.06996 
## F-statistic: 2.254 on 3 and 47 DF,  p-value: 0.09439
# (Langkah 3) Anova
anova_no_2 <- aov(model_no_2)
summary(anova_no_2)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## X1           1  0.821  0.8209   3.237 0.0784 .
## X2           1  0.767  0.7667   3.023 0.0886 .
## X3           1  0.127  0.1271   0.501 0.4824  
## Residuals   47 11.919  0.2536                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Studi kasus nomor 3

menggunakan analsis deret waktu

# INPUT & PREPROCESSING DATA
# Import data
data_no_3 <- read_xlsx("/Users/M.Fabian.R.D/Desktop/SEMESTER 6/KONSULTASI STATISTIKA/PERTEMUAN 5/Data Studi Kasus-Konsultasi Statistika.xlsx", 
                       sheet = 3)

# Ambil kolom inflasi saja (Langkah 1)
inflasi <- as.numeric(gsub("%", "", data_no_3$`Data Inflasi`))

# Ubah ke time series (UNIVARIATE)
ts_inflasi <- ts(inflasi, start = c(2003,1), frequency = 12)

# Plot data
plot(ts_inflasi, main = "Data Inflasi Bulanan", ylab = "Inflasi", xlab = "Tahun")

# UJI STASIONER (ADF TEST) (Langkah 2)
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
adf.test(ts_inflasi)
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_inflasi
## Dickey-Fuller = -3.5936, Lag order = 5, p-value = 0.03499
## alternative hypothesis: stationary
# Jika tidak stasioner → differencing
ts_diff <- diff(ts_inflasi)
adf.test(ts_diff)
## Warning in adf.test(ts_diff): p-value smaller than printed p-value
## 
##  Augmented Dickey-Fuller Test
## 
## data:  ts_diff
## Dickey-Fuller = -5.6998, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
# PEMODELAN ARIMA (Langkah 3)
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3
model_arima <- auto.arima(ts_inflasi)
summary(model_arima)
## Series: ts_inflasi 
## ARIMA(2,1,0)(0,0,1)[12] with drift 
## 
## Coefficients:
##          ar1      ar2     sma1   drift
##       0.1362  -0.1451  -0.8150  -3e-04
## s.e.  0.0678   0.0680   0.0548   2e-04
## 
## sigma^2 = 6.291e-05:  log likelihood = 730.31
## AIC=-1450.62   AICc=-1450.33   BIC=-1433.76
## 
## Training set error measures:
##                       ME        RMSE         MAE       MPE     MAPE      MASE
## Training set 0.000142688 0.007839273 0.004000209 -1.026325 7.018252 0.1334602
##                     ACF1
## Training set 0.005910675
# FORECAST 12 BULAN KE DEPAN (Langkah 4)
forecast_1tahun <- forecast(model_arima, h = 12)

# Plot hasil forecast
plot(forecast_1tahun, main = "Forecast Inflasi 1 Tahun ke Depan")

# Tampilkan hasil
forecast_1tahun
##          Point Forecast         Lo 80      Hi 80        Lo 95      Hi 95
## Jan 2021     0.01866747  0.0085016348 0.02883331  0.003120167 0.03421477
## Feb 2021     0.01632108  0.0009343061 0.03170785 -0.007210958 0.03985311
## Mar 2021     0.01500957 -0.0034861993 0.03350534 -0.013277269 0.04329641
## Apr 2021     0.01308146 -0.0078911978 0.03405412 -0.018993453 0.04515638
## May 2021     0.01268192 -0.0105626224 0.03592647 -0.022867542 0.04823139
## Jun 2021     0.01462941 -0.0107129541 0.03997177 -0.024128390 0.05338721
## Jul 2021     0.01879307 -0.0084826628 0.04606881 -0.022921565 0.06050771
## Aug 2021     0.01997370 -0.0091030219 0.04905042 -0.024495309 0.06444271
## Sep 2021     0.02068821 -0.0100841974 0.05146063 -0.026374128 0.06775056
## Oct 2021     0.02109605 -0.0112839027 0.05347599 -0.028424812 0.07061690
## Nov 2021     0.02026387 -0.0136475820 0.05417532 -0.031599220 0.07212696
## Dec 2021     0.02018462 -0.0151920547 0.05556130 -0.033919337 0.07428858
# EVALUASI MODEL (MAE & MAPE) (langkah 5)

# Fitted value
fitted_val <- fitted(model_arima)

# MAE
MAE <- mean(abs(ts_inflasi - fitted_val), na.rm = TRUE)

# MAPE
MAPE <- mean(abs((ts_inflasi - fitted_val) / ts_inflasi), na.rm = TRUE) * 100

# Output
MAE
## [1] 0.004000209
MAPE
## [1] 7.018252