Tôi đang giải quyết vấn đề phân loại chuỗi thời gian trong đó đầu vào là dữ liệu sử dụng giọng nói theo chuỗi thời gian (tính bằng giây) trong 21 ngày đầu tiên của tài khoản điện thoại di động. Biến mục tiêu tương ứng là liệu tài khoản đó có bị hủy trong phạm vi 35-45 ngày hay không. Vì vậy, nó là một vấn đề phân loại nhị phân.
Tôi đang nhận được kết quả rất kém từ tất cả các phương pháp mà tôi đã thử cho đến nay (ở các mức độ khác nhau). Đầu tiên tôi đã thử phân loại k-NN (với nhiều sửa đổi khác nhau) và nhận được kết quả cực kỳ tồi tệ. Điều này dẫn tôi trích xuất các tính năng từ chuỗi thời gian - nghĩa là trung bình, phương sai, tối đa, tối thiểu, tổng số ngày không, tổng số ngày không, khác biệt giữa trung bình nửa đầu và trung bình nửa thứ hai, v.v. và các tính năng dự đoán nhất dường như là tổng số số không ngày và tổng số ngày không (sử dụng một số thuật toán phân loại). Điều này thực hiện tốt nhất nhưng hiệu suất vẫn không được tốt lắm.
Chiến lược tiếp theo của tôi là vượt qua các trường hợp tiêu cực trong tập huấn luyện của tôi vì có rất ít trong số đó. Điều này dẫn đến dự đoán hủy bỏ chính xác hơn nhưng với chi phí cho nhiều kết quả sai.
Tôi bắt đầu nghĩ rằng có lẽ chính dữ liệu sử dụng chuỗi thời gian chỉ đơn giản là không mang tính dự đoán (mặc dù thông thường nói rằng nó nên như vậy). Có lẽ có một số biến tiềm ẩn mà tôi không xem xét. Nhìn vào dữ liệu cũng cho thấy một số hành vi kỳ lạ. tức là một số ví dụ cho thấy rất ít hoặc giảm mức sử dụng (hoặc đôi khi không có gì cả) và không hủy bỏ, và một số ví dụ cho thấy sự gia tăng trong việc sử dụng mà hủy bỏ. Có lẽ hành vi mâu thuẫn này không tạo ra ranh giới quyết định rất rõ ràng cho một bộ phân loại.
Một nguồn có thể có lỗi khác là thực tế là nhiều ví dụ đào tạo rất thưa thớt (tức là nhiều ngày với 0 lần sử dụng). Một ý tưởng mà tôi chưa thử là chia chuỗi thời gian thành các phân đoạn và tạo ra một số tính năng theo cách đó, nhưng tôi không có hy vọng cao.