Anda di halaman 1dari 11

RIFDHA HANUN

10611710000011
Kelas PD 2 B
TUGAS MISSING VALUE
PENGOLAHAN DATA 2

Data yang digunakan adalah data time series dengan jumlah missing value sebanyak 138
dari 2161 data. Cara penanganan missing value pada tugas kali ini menggunakan imputasi
dengan menggunakan nilai mean, moving average, dan group berdasarkan waktu yang dapat
dilihat pada Lampiran 1.

Berdasarkan hasil dari hasil praktikum pada Lampiran 1 dapat dilanjutkan dengan
mencari nilai eror (MSE) dari data tersebut dengan menggunakan ARIMA dengan PACF
adalah lag 1 dengan model yang digunakan adalah ARIMA (1,0,0). Nilai MSE yang didapatkan
dapat dilihat sebagai berikut.
Tabel 1. Nilai MSE

Metode Nilai MSE


Mean 3.132521
Moving Average 3.105125
Group 3.128826
Tabel 1 menunjukkan bahwa nilai MSE terkecil adalah dengan menggunakan metode
moving averga yaitu sebesar 3,105, yang artinya metode terbaik yang cocok digunakan dalam
melakukan imputasi missing value pada data time series adalah metode moving average.
RIFDHA HANUN
10611710000011
Kelas PD 2 B
Lampiran 1. Hasil Missing Value
a. Imputasi dengan Nilai Mean

No Date Data Nilai Mean


1 21/01/2021 14:00 NA 16,337
2 21/01/2021 15:00 NA 16,337
3 21/01/2021 16:00 NA 16,337
4 21/01/2021 17:00 NA 16,337
5 21/01/2021 18:00 NA 16,337
...

...

...

...
39 21/04/2021 14:00 NA 16,337
b. Imputasi dengan Nilai Moving Average
Datetime Moving Average Datetime Moving Average Datetime Moving Average
21/01/2021 16:00 17,368 14/02/2021 18:00 17,000 25/03/2021 04:00 14,918
23/01/2021 03:00 17,272 15/02/2021 08:00 16,963 25/03/2021 06:00 14,860
24/01/2021 07:00 16,133 15/02/2021 23:00 17,197 25/03/2021 14:00 15,687
24/01/2021 09:00 15,987 16/02/2021 15:00 16,685 27/03/2021 10:00 15,354
25/01/2021 23:00 26,010 17/02/2021 00:00 16,468 29/03/2021 22:00 15,778
26/01/2021 09:00 16,253 17/02/2021 06:00 16,299 30/03/2021 03:00 15,398
26/01/2021 11:00 17,073 18/02/2021 00:00 16,803 01/04/2021 09:00 15,149
26/01/2021 13:00 17,552 18/02/2021 02:00 16,809 02/04/2021 01:00 15,509
26/01/2021 20:00 16,989 20/02/2021 16:00 16,562 02/04/2021 02:00 15,505
27/01/2021 19:00 17,233 20/02/2021 19:00 16,762 02/04/2021 03:00 15,507
28/01/2021 17:00 17,334 21/02/2021 08:00 16,825 02/04/2021 04:00 15,506
29/01/2021 05:00 16,413 22/02/2021 03:00 16,608 02/04/2021 05:00 15,506
29/01/2021 20:00 16,350 24/02/2021 20:00 16,883 02/04/2021 06:00 15,506
30/01/2021 13:00 16,435 27/02/2021 00:00 17,438 02/04/2021 07:00 15,506
31/01/2021 19:00 16,721 28/02/2021 10:00 17,038 02/04/2021 08:00 15,506
31/01/2021 22:00 16,542 01/03/2021 05:00 16,577 02/04/2021 09:00 15,506
01/02/2021 18:00 17,180 01/03/2021 20:00 16,996 02/04/2021 10:00 15,506
02/02/2021 20:00 17,373 01/03/2021 22:00 17,054 02/04/2021 11:00 15,506
04/02/2021 00:00 17,160 03/03/2021 03:00 17,019 02/04/2021 12:00 15,506
04/02/2021 11:00 17,148 03/03/2021 11:00 17,253 02/04/2021 13:00 15,506
04/02/2021 16:00 17,894 03/03/2021 18:00 17,851 02/04/2021 14:00 15,506
04/02/2021 18:00 17,665 06/03/2021 03:00 16,728 02/04/2021 15:00 15,506
05/02/2021 02:00 17,107 06/03/2021 17:00 16,888 02/04/2021 16:00 15,506
08/02/2021 21:00 17,063 08/03/2021 15:00 16,421 02/04/2021 17:00 15,506
09/02/2021 04:00 16,768 10/03/2021 04:00 16,031 02/04/2021 18:00 15,506
09/02/2021 13:00 16,788 12/03/2021 16:00 17,177 02/04/2021 19:00 15,506
11/02/2021 10:00 16,747 13/03/2021 07:00 16,038 02/04/2021 20:00 15,506
11/02/2021 14:00 17,389 13/03/2021 09:00 16,025 02/04/2021 21:00 15,506
12/02/2021 07:00 17,038 13/03/2021 18:00 16,543 02/04/2021 22:00 15,506
13/02/2021 22:00 16,867 14/03/2021 23:00 16,216 02/04/2021 23:00 15,506
RIFDHA HANUN
10611710000011
Kelas PD 2 B
Datetime Moving Average
08/04/2021 02:00 15,523
08/04/2021 12:00 16,258
08/04/2021 13:00 16,323
10/04/2021 14:00 16,082
11/04/2021 00:00 15,619
12/04/2021 00:00 15,161
13/04/2021 11:00 15,486
13/04/2021 12:00 15,555
13/04/2021 13:00 15,521
13/04/2021 14:00 15,538
13/04/2021 15:00 15,529
15/04/2021 23:00 15,009
16/04/2021 07:00 14,758
17/04/2021 19:00 17,378
19/04/2021 08:00 14,940
20/04/2021 17:00 16,865
20/04/2021 19:00 16,538
20/04/2021 21:00 16,197
RIFDHA HANUN
10611710000011
Kelas PD 2 B

c. Imputasi dengan Nilai Group Berdasarkan Waktu


Datetime Moving Average Datetime Moving Average Datetime Moving Average
21/01/2021 16:00 16,645 14/02/2021 18:00 16,443 25/03/2021 04:00 16,682
23/01/2021 03:00 16,015 15/02/2021 08:00 16,050 25/03/2021 06:00 16,834
24/01/2021 07:00 16,012 15/02/2021 23:00 16,148 25/03/2021 14:00 16,735
24/01/2021 09:00 16,207 16/02/2021 15:00 16,834 27/03/2021 10:00 16,207
25/01/2021 23:00 16,148 17/02/2021 00:00 16,095 29/03/2021 22:00 16,623
26/01/2021 09:00 16,207 17/02/2021 06:00 16,022 30/03/2021 03:00 16,374
26/01/2021 11:00 16,623 18/02/2021 00:00 16,095 01/04/2021 09:00 16,443
26/01/2021 13:00 16,735 18/02/2021 02:00 16,106 02/04/2021 01:00 16,106
26/01/2021 20:00 16,394 20/02/2021 16:00 16,645 02/04/2021 02:00 16,015
27/01/2021 19:00 16,429 20/02/2021 19:00 16,429 02/04/2021 03:00 16,035
28/01/2021 17:00 16,536 21/02/2021 08:00 16,050 02/04/2021 04:00 16,030
29/01/2021 05:00 16,030 22/02/2021 03:00 16,015 02/04/2021 05:00 16,022
29/01/2021 20:00 16,394 24/02/2021 20:00 16,394 02/04/2021 06:00 16,012
30/01/2021 13:00 16,735 27/02/2021 00:00 16,095 02/04/2021 07:00 16,393
31/01/2021 19:00 16,429 28/02/2021 10:00 16,393 02/04/2021 08:00 16,682
31/01/2021 22:00 16,287 01/03/2021 05:00 16,030 02/04/2021 09:00 16,035
01/02/2021 18:00 16,443 01/03/2021 20:00 16,394 02/04/2021 10:00 16,022
02/02/2021 20:00 16,394 01/03/2021 22:00 16,287 02/04/2021 11:00 16,879
04/02/2021 00:00 16,095 03/03/2021 03:00 16,015 02/04/2021 12:00 16,393
04/02/2021 11:00 16,623 03/03/2021 11:00 16,623 02/04/2021 13:00 16,287
04/02/2021 16:00 16,645 03/03/2021 18:00 16,443 02/04/2021 14:00 16,015
04/02/2021 18:00 16,443 06/03/2021 03:00 16,015 02/04/2021 15:00 16,207
05/02/2021 02:00 16,106 06/03/2021 17:00 16,536 02/04/2021 16:00 16,089
08/02/2021 21:00 16,374 08/03/2021 15:00 16,834 02/04/2021 17:00 16,106
09/02/2021 04:00 16,035 10/03/2021 04:00 16,035 02/04/2021 18:00 16,015
09/02/2021 13:00 16,735 12/03/2021 16:00 16,645 02/04/2021 19:00 16,035
11/02/2021 10:00 16,393 13/03/2021 07:00 16,012 02/04/2021 20:00 16,030
11/02/2021 14:00 16,879 13/03/2021 09:00 16,207 02/04/2021 21:00 16,022
12/02/2021 07:00 16,012 13/03/2021 18:00 16,443 02/04/2021 22:00 16,012
13/02/2021 22:00 16,287 14/03/2021 23:00 16,148 02/04/2021 23:00 16,050
RIFDHA HANUN
10611710000011
Kelas PD 2 B
Datetime Moving Average
08/04/2021 02:00 16,207
08/04/2021 12:00 16,393
08/04/2021 13:00 16,623
10/04/2021 14:00 16,682
11/04/2021 00:00 16,735
12/04/2021 00:00 16,879
13/04/2021 11:00 16,834
13/04/2021 12:00 16,645
13/04/2021 13:00 16,536
13/04/2021 14:00 16,443
13/04/2021 15:00 16,429
15/04/2021 23:00 16,394
16/04/2021 07:00 16,374
17/04/2021 19:00 16,287
19/04/2021 08:00 16,148
20/04/2021 17:00 16,095
20/04/2021 19:00 16,089
20/04/2021 21:00 16,106
RIFDHA HANUN
10611710000011
Kelas PD 2 B
Lampiran 2. Output Software

data_tugas <- read_excel("C:/Users/RIFDHA HANUN/Downloads/data-tugas.xlsx",


col_types = c("numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric"))
datahanun<-data_tugas
View(datahanun)
ind <- sample(2161, 100)
datahanun$Y[ind] <- datahanun$Y[ind] = NA
df_train <- datahanun[1:2156,]
df_test <- datahanun[2157:2161,]
summary(is.na(datahanun$Y))
Mode FALSE TRUE
logical 2023 138

IMPUTASI DENGAN MEAN


df_copy_train <- df_train
df_copy_train$Y[is.na(df_copy_train$Y)] <- mean(df_copy_train$Y, na.rm=T) # Mean Imputation
pacf(df_copy_train$Y)

model1 <- arima(df_copy_train$Y, order=c(1,0,0), include.mean = F, method="ML")


forecast_yhat <- predict(model1, 5)
mse_testing <- mean(sum((df_test$Y - forecast_yhat$pred)^2))
mse_testing
[3,132521]
RIFDHA HANUN
10611710000011
Kelas PD 2 B
plot(x=df_test$Datetime, y=df_test$Y)

plot(x=df_test$Datetime, y=forecast_yhat$pred)

matplot(cbind(df_test$Y, forecast_yhat$pred), type='b', pch=19, ylab="Predict")


legend("topleft", legend=c("Test", "Forecast"), col=1:2, pch=19)
RIFDHA HANUN
10611710000011
Kelas PD 2 B
IMPUTASI DENGAN MOVING AVERAGE
pacf(df_copy_train$Y1)

forecast_yhat2 <- predict(model2, 5)


mse_testing2 <- mean(sum((df_test$Y1 - forecast_yhat2$pred)^2))
mse_testing2
[3.105125]
plot(x=df_test$Time,y=df_test$Y1)
RIFDHA HANUN
10611710000011
Kelas PD 2 B
plot(x=df_test$Time, y=forecast_yhat2$pred)

matplot(cbind(df_test$Y1, forecast_yhat2$pred), type='b', pch=19, ylab="Predict")


legend("topleft", legend=c("Test", "Forecast"), col=1:2, pch=19)
RIFDHA HANUN
10611710000011
Kelas PD 2 B
IMPUTASI DENGAN MOVING AVERAGE BERDASARKAN
GRUPNYA
pacf(df_copy_train$Y2)

model3 <- arima(df_copy_train$Y2, order=c(1,0,0), include.mean = F, method="ML")


forecast_yhat3 <- predict(model3, 5)
mse_testing3 <- mean(sum((df_test$Y2 - forecast_yhat3$pred)^2))
mse_testing3
[3.128826]
plot(x=df_test$Time,y=df_test$Y2)
RIFDHA HANUN
10611710000011
Kelas PD 2 B
plot(x=df_test$Time, y=forecast_yhat3$pred)

matplot(cbind(df_test$Y2, forecast_yhat3$pred), type='b', pch=19, ylab="Predict")


legend("topleft", legend=c("Test", "Forecast"), col=1:2, pch=19)

Anda mungkin juga menyukai