[AIVIVN-bandwidth_prediction] 2nd place solution

bandwidth_prediction

#1

Chào mọi người,

Mình xin chia sẽ baseline cho bài này. Mình đã sử dụng các model như Linear Regression, Gradient Boosting Regressor, FNN, FBProphet. Vì không có thời gian, cũng như hạn chế về tài nguyên CPU nên mình chỉ dừng lại ở việc dùng model có kết quả tốt nhất đó là FNN.

Với FNN mình chuyển 1 bài dạng time-series thành 1 bài toán regression FNN bằng việc tạo ra các điểm dữ liệu liên quan ở input feature.

  • HOUR_ID:
  • ZONE_CODE: with Label Encoder
  • DayOfWeek: Day of week
  • DayOfMonth: Day of month
  • DayOfYear: Day of year
  • Before2Month: Data collected from the last 2 months
  • Before1Month: Data collected from the last previous months
  • Before3Week: Data collected from the last 3 weeks
  • Before2Week: Data collected from the last 2 weeks
  • Before1Week: Data collected from the last week

Vì thời gian yêu cầu dự đoán trong vòng 1 tháng, khoảng thời gian khá dài. Nên mình sử dụng ngoại suy từ dữ liệu train. Mình predict trước 1 tuần. rồi dùng dữ liệu predict đó để bổ sung input feature cho dự đoán tuần tiếp theo. Kết quả đạt được:

  • Using FNN - Feed Forward Neural Network (LR/GBR): public score: 79.71 - private score: 79.52
  • Using FB Prophet: Fail

Chi tiết các bạn xem ở đây: PredictTrafficOfServer


Tổng kết cuộc thi “Dự đoán lưu lượng server" trên AIviVN
#2

Chào bạn, Mình có đọc qua code của bạn và thấy hình như bạn chỉ train một lần đầu tiên cho tuần đầu tiên, sau đó predict rồi gộp dữ liệu mới vào dữ liệu củ, sau đó predict tiếp chứ không train lại. Cho mình hỏi tại sao bạn không train lại mô hình khi có dữ liệu mới? Thanks


#3

Code của mình sẽ tạo ra các input feature để train vs tập dữ liệu train. Feature xa nhất của dữ liệu mình dùng là before1week. Nên mình sẽ predict 1 tuần tiếp theo, sau đó bổ sung dữ liệu đã predict để tạo input feature để predict tiếp. Vì bài toán của mình yêu cầu dự đoán trong vòng 1 tháng. Nên các kết quả dự đoán được là từ model chứ ko phải là ground truth, nên việc train lại đối vs dữ liệu predict là ko hợp lý. Nên mình chỉ predict thôi chứ ko train lại từ kết quả predict trươc.