Fiz um teste rápido aqui e percebi uma diferença na previsão dos dois pacotes em alguns conjuntos de dados. No exemplo abaixo, usando o conjunto 1 os resultados são diferentes, mas no conjunto 2 eles são iguais. Percebi que o gamma e os SV são também diferentes em ambos conjuntos. Depurei um pouco aqui e no conjunto 1 não há suportes de subida, que você usa para computar o gamma.
library(mlRFinance)
library(Matrix)
Conjunto dados 1: Previsao mlRFinance diferente do libsvm
Pedro,
Fiz um teste rápido aqui e percebi uma diferença na previsão dos dois pacotes em alguns conjuntos de dados. No exemplo abaixo, usando o conjunto 1 os resultados são diferentes, mas no conjunto 2 eles são iguais. Percebi que o gamma e os SV são também diferentes em ambos conjuntos. Depurei um pouco aqui e no conjunto 1 não há suportes de subida, que você usa para computar o gamma.
library(mlRFinance) library(Matrix)
Conjunto dados 1: Previsao mlRFinance diferente do libsvm
dados<-matrix(c(-1,-3,1, 0,2,1, -7,2,2, 2,1.5,1.5, 3,4,4, 10,15,18, 5,16,40, 15,5,5, 7,17,4.5 ),byrow=TRUE,nrow=9,ncol=3)
Conjunto dados 2: Previsao mlRFinance igual do libsvm
dados<-matrix(c(-1,1,1, 0,2,1, 1,2,2, 2,1.5,1.5, 3,4,4, 4,4,5, 5,5,4, 6,5,5, 7,4.5,4.5 ),byrow=TRUE,nrow=9,ncol=3)
X=dados[,c(2,3)] Y=dados[,1]
csvrl1=CSVRL1(y = Y,X = X,C = 10,epsilon = 0.5,kernel = "Polynomial",parms = c(1,0)) Yp=PredictedCSVRL1(CSVRL1 =csvrl1,y = Y,X = X,Xprev=X)
install.packages("e1071") library(e1071)
svm.model <- e1071::svm(X, y=Y, type="eps-regression",scale=FALSE,cost = 10,kernel="linear", probability = TRUE,epsilon=0.5) svm.pred <- predict(svm.model,newdata = X,probability = TRUE)
Estatísticas mlRFinance x e1071 ("libsvm")
Pacote "mlRFinance"
SV
csvrl1$SupportVectors
gamma
csvrl1$gamma
"previsao:"
Yp
Pacote "e1071"
SV
svm.model$coefs
gamma
svm.model$gamma
previsao:
svm.pred