PedroBSB / mlRFinance

Machine Learning functions for Finance
11 stars 21 forks source link

Diferença previsão "SVR" LibSVM x mlRFinance #22

Open vilhena1 opened 6 years ago

vilhena1 commented 6 years ago

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

PedroBSB commented 6 years ago

Obrigado @vilhena1 ! Farei a análise para saber exatamente o que está acontecendo.