Prediksi Skor/Rating Program TV (Time Series) dengan Decision Tree Regressor
Danaher et. al. (2011) mengatakan bahwa untuk membeli slot iklan komersial di TV dibutuhkan sebuah media planner yang mampu meramal skor program atau saluran TV hingga 6 bulan kedepan, tergantung seberapa lama slot iklan tersebut tersedia oleh pihak penyedia (stasiun TV).
Selain klasifikasi, regresi merupakan bagian dari supervised machine learning yang sering digunakan di berbagai bidang. Berbeda dengan klasifikasi yang memiliki label berupa bilangan diskret, regresi memiliki label atau target yang umumnya berupa bilangan kontinu. Akibatnya, pengukuran efektivitas model prediksi pada regresi bukanlah berdasarkan pada seberapa maksimum akurasi yang dapat dihasilkan, melainkan seberapa minimum error yang dapat dihasilkan.
Salah satu manfaat penerapan permodelan regresi adalah untuk memprediksi data harian atau yang biasa dikenal dengan time series. Sebagai contoh, trader saham menggunakan permodelan regresi untuk memprediksi harga saham di masa mendatang. Epidemiologist biasanya menggunakan permodelan regresi untuk memprediksi jumlah korban dari suatu penyakit pandemik di masa mendatang. Di dunia media dan agensi, permodelan regresi bisa digunakan untuk memprediksi skor/rating sebuah program TV di masa mendatang untuk kemudian ditawarkan ke client agar bersedia memasang iklan di program yang diprediksi memiliki skor yang bagus.
Permodelan untuk Skor Program TV
Skor program TV dibutuhkan dalam proses media planning, yaitu sebuah proses dimana pihak pemasaran (marketer) atau agensi iklan (ads agency) akan menentukan kapan, dimana, dan seberapa sering iklan komersial suatu produk/jasa akan dijalankan demi mencapai hasil yang optimum. Saat ini media planning sangatlah dibutuhkan, karena perusahaan akan selalu berusaha menekan budget pemasaran seminimum mungkin, sedangkan disaat yang sama harga pemasangan iklan di stasiun televisi sangatlah tinggi. Danaher et. al. (2011) mengatakan bahwa untuk membeli slot iklan komersial di TV dibutuhkan sebuah media planner yang mampu meramal skor program atau saluran TV hingga 6 bulan kedepan, tergantung seberapa lama slot iklan tersebut tersedia oleh pihak penyedia (stasiun TV).
Sereday and Cui (2017) menyatakan ada banyak algoritme yang dapat digunakan dalam membuat permodelan regresi untuk memprediksi skor program TV, diantaranya: regresi linier, penalized regression, decision forests, support vector machines, neural networks, dan gradient boosting machine (GBM). Beragam data yang umum digunakan untuk memprediksi skor suatu program seperti program characteristic (genre, sub-genre), program performance (data historis skor), promotional support (biaya pemasaran, total promosi), audience engagement (brand saluran penayang), dan social behavior (popularitas program di media sosial).
Tahapan Permodelan
Artikel kali ini akan membahas permodelan regresi dengan algoritme decision tree regressor, yaitu bentuk sederhana dari decision forest/random forest. Ada empat tahap utama permodelan regresi untuk memprediksi skor program TV (untuk source code bisa diakses disini), yaitu:
- Data pre-processing & exploration phase
- Feature Engineering phase.
- Modeling phase.
- Evaluation phase.
Penjelasan lebih detail terkait setiap tahapan bisa dilihat di artikel sebelumnya disini.
Data Pre-Processing & Exploration
Tahapan Data Pre-processing dilakukan untuk “membersihkan data” sebelum masuk ke proses permodelan dengan harapan hasil yang dikeluarkan lebih valid dan reliable. Langkah-langkah yang dilakuka pada tahap pre-processing diantaranya:
- Membuang data yang tidak digunakan (unused data)
- Memeriksa dan mengimputasi missing value
Disamping itu, perlu juga untuk melakukan Data Exploration dengan melihat sebaran data yang ada. Dengan begitu, kita bisa memutuskan split point dalam membuat data train dan data test.
Feature Engineering
Tahapan Feature Engineering berguna untuk membuat fitur/kolom baru dari fitur existing. Ada dua jenis feature engineering yang akan dilakukan
- Time Series Feature Engineering (Mulla, 2019), yaitu membuat fitur numerik dari data tanggal(date), seperti hour, day of week, quarter, month, year, day of year, day of month, dan week of year
- Categorical Feature Engineering, yaitu melakukan proses one hot encoding dari data kategorik (misal: genre program), sehingga akan terbentuk fitur-fitur baru sejumlah kategori yang ada, dengan angka 1 merepresentasikan kategori yang sesuai untuk program tersebut dan 0 untuk kategori lainnya yang tidak sesuai.
Fitur-fitur yang dihasilkan dari tahap feature engineering akan digabungkan untuk masuk ke tahap modeling.
Modeling
Tahapan Modeling adalah tahap membangun model regresi berdasarkan data train (training) yang kemudian dievaluasi pada data test (testing). Proses training dilakukan dengan menggunakan algoritme Decision Tree Regressor dan proses Randomized Cross-Validation untuk menentukan kombinasi hyperparameter terbaik yang mampu meminimumkan mean squared error (MSE). Adapun hyperparamater yang diujicobakan adalah sebagai berikut:
Proses testing dilakukan untuk menguji apakah model yang dihasilkan pada proses training sudah valid dan reliable. Hal ini dapat dilakukan dengan mengevaluasi model sesuai dengan metrik-metrik evaluasi yang telah ditetapkan.
Evaluation
Seperti yang telah dijelaskan sebelumnya, metrik yang digunakan untuk memutuskan model regresi mana yang terbaik adalah dengan memilih model yang menghasilkan error (selisih antara nilai prediksi dengan nilai sebenarnya) yang paling minimum. Ukuran yang biasa digunakan untuk menghitung error dari hasil prediksi adalah Root Mean Square Error (RMSE), Mean Absolute Error (MAE), dan Mean Absolute Percentage Error (MAPE).
- RMSE dihitung dengan menjumlahkan kuadarat selisih antara nilai skor prediksi dengan nilai skor sebenarnya, membaginya dengan jumlah data (seperti menghitung rata-rata), lalu kemudian mengakarkannya.
- MAE dihitung dengan menjumlahkan nilai mutlak (absolute) dari selisih antara nilai skor prediksi dengan nilai skor sebenarnya lalu membaginya dengan jumlah data (seperti menghitung rata-rata).
- MAPE dihitung dengan menjumlahkan nilai mutlak dari selisih antara nilai skor prediksi dengan nilai skor sebenarnya yang juga dikalikan 100 per nilai sebenarnya (seperti menghitung persentase), kemudian membaginya dengan jumlah data (seperti menghitung rata-rata).
Berbeda dengan RMSE dan MAE yang memberikan hasil berupa bilangan desimal, MAPE akan memberikan hasil berupa persentase (%), sehingga lebih mudah untuk digunakan sebagai tolak ukur bagus atau tidaknya suatu model. Moreno et. al. (2013) memberikan interpretasi dari nilai MAPE pada tabel berikut:
Disamping mengevaluasi model, kita juga dapat mengevaluasi seberapa penting fitur-fitur yang kita gunakan saat proses modeling melalui plot feature importance, sehingga kita dapat mengetahui hal-hal apa saja yang sangat berpengaruh dalam memprediksi skor program TV. Dengan begitu, kita dapat mengganti fitur yang memiliki nilai feature importance rendah dengan fitur baru pada iterasi selanjutnya. Informasi feature importance juga penting untuk menentukan hal-hal apa yang perlu diprioritaskan (ditandai dengan nilai feature importance yang tinggi) dalam memilih program TV yang akan dijadikan spot penayangan iklan.
Jika model sudah disetujui, langkah selanjutnya melakukan deployment model sehingga bisa menghasilkan prediksi skor untuk program TV kedepannya.
(Tulisan berikut merupakan sebagian resume dari karya tulis penulis yang dipresentasikan di ICMSDS 2020 yang dipublikasikan disini)
REFERENSI
Danaher J.P., Dagger T.S, Smith M.S., “Forecasting Television Rating”. International Journal of Forecasting.Vol. 27, 2011: 1215–1240.
Sereday S., Cui J. “Using Machine Learning to Predict Future TV Ratings”. Nielsen Journal of Measurement. Vol. 1, no. 3, 2017: 1–12.
Mulla, R. “ Time Series forecasting with XGBoost”, (https://www.kaggle.com/robikscube/tutorial-time-series-forecasting-with-xgboost, diakses 19 April 2020).
Moreno J.J.P., Pol A.P., Abad A.S., Blasco B.C. “Using the R-MAPE Index as a Resistant Measure of Forecast Accuracy”. Psicothema. Vol. 25 no.4, 2013: 500–506.