Относительно производительности в целом: пытались ли вы сделать свой временной ряд стационарным (посредством разности или преобразования мощности) или нормализовать его перед применением SVR? Это может помочь - иногда они помогают с NNets, применяемыми к временным рядам.
Относительно резюме:
Есть способы сделать перекрестную проверку для временных рядов. Сначала вы могли бы сделать разбивку по временным рядам (доступно в Python Scikit-learn и в R), я предполагаю, что это будет и в Matlab.
[1, 2, 3], [4, 5]
[1, 2, 3, 4], [5, 6]
[1, 2, 3, 4, 5], [6, 7].
Это будет работать для любого метода прогнозирования временных рядов.
Но так как вы используете SVR, вы можете даже использовать обычную перекрестную проверку (которая не будет работать для чего-то вроде ARIMA или Holt-Winters).
Это связано с тем, что в последнее время Бергмейр, Хиндман и Ку показали, что для чисто авторегрессивных моделей, таких как модели AR (p), нейронные сети или регрессия опорных векторов, можно использовать даже нормальное резюме, если Вы форматируете свои тренировочные данные так, чтобы они выглядели как контролируемая проблема машинного обучения, а не проблема временных рядов.
Чтобы понять, как это работает, сначала нужно заметить, что чисто авторегрессионный метод использует только фиксированное количество предыдущих периодов, так что вместо:
[1, 2, 3], [4]
[1, 2, 3, 4], [5]
[1, 2, 3, 4, 5], [6]
[1, 2, 3, 4, 5, 6], [7]
Например, для модели авторегрессии порядка 3 (т.е. 3 лага):
[1, 2, 3], [4]
[2, 3, 4], [5]
[3, 4, 5], [6]
[4, 5, 6], [7]
Тогда вам нужно думать о ваших данных в формате ML, а не в формате временных рядов:
[1, 2, 3 | 4]
[2, 3, 4 | 5]
[3, 4, 5 | 6]
[4, 5, 6 | 7]
Чтобы ваша точка данных была не просто одним значением, например [4], а вектором с 3 входами и одним целевым значением:
[1, 2, 3 | 4]
В этом случае допустимо использовать обычную перекрестную проверку (вместо перекрестной проверки временных рядов), поскольку зависимость больше не является проблемой, и вы можете обучить свою модель:
[2, 3, 4 | 5]
[3, 4, 5 | 6]
[4, 5, 6 | 7]
И тест с:
[1, 2, 3 | 4]
затем обучите модель:
[1, 2, 3 | 4]
[3, 4, 5 | 6]
[4, 5, 6 | 7]
И тест с:
[2, 3, 4 | 5]
И так далее ...
См. «Примечание о достоверности перекрестной проверки для оценки авторегрессионного прогнозирования временных рядов», Кристоф Бергмейр, Роб Дж. Хиндман и Бонсу Кооб, для получения подробной информации.