我有一个关于时间序列和 SVM 的问题。我问过强大的互联网,但不幸的是,信息很少,而且主要与交易数据有关。
我的情况如下:目前我尝试从 Arima 预测转向更复杂的模型。目前我尝试理解和实现一个 SVM 模型。我找到了一些关于亚洲汽车在美国市场的月销量数据。现在我用这些数据做实验。
首先,我通过两种不同的例程使用 SVR / SVM 进行时间序列预测。接下来,我在相同的数据上实现了一个绝对简单的 auto.arima。最后我比较了这 3 种方法的残差。
我的问题是:这些实现我是否朝着正确的方向前进?如何改进 SVM 模型?除了财务数据,还有更多关于预测的信息吗?
让我们从一个小的变通方法开始构建我的输入矩阵(来自 goodcarbadcar.net 的数据):
library(zoo)
library(e1071)
library(quantmod)
library(kernlab)
library(caret)
library(forecast)
Date <-c( "2010-01-01", "2010-02-01", "2010-03-01", "2010-04-01", "2010-05-01", "2010-06-01", "2010-07-01", "2010-08-01", "2010-09-01",
"2010-10-01", "2010-11-01", "2010-12-01", "2011-01-01", "2011-02-01", "2011-03-01", "2011-04-01", "2011-05-01", "2011-06-01",
"2011-07-01", "2011-08-01", "2011-09-01", "2011-10-01", "2011-11-01", "2011-12-01", "2012-01-01", "2012-02-01", "2012-03-01",
"2012-04-01", "2012-05-01", "2012-06-01", "2012-07-01", "2012-08-01", "2012-09-01", "2012-10-01", "2012-11-01", "2012-12-01",
"2013-01-01", "2013-02-01", "2013-03-01", "2013-04-01", "2013-05-01", "2013-06-01", "2013-07-01", "2013-08-01", "2013-09-01",
"2013-10-01", "2013-11-01", "2013-12-01", "2014-01-01", "2014-02-01", …Run Code Online (Sandbox Code Playgroud) 我有一个元组和单个浮点数的列表
\nv = [(1., 2., 3.), (4., 5.), 6., 7.]\nRun Code Online (Sandbox Code Playgroud)\n现在我想用旧的列表理解来压平它
\n[item for sublist in v for item in sublist]\nRun Code Online (Sandbox Code Playgroud)\n但是,由于单个浮点不可迭代,因此会发生错误。展开这个混合列表的最有效方法是什么?我尝试遍历列表并使用,isininstance()但再一次,该列表不可迭代。
编辑:到目前为止的时间比较
\n