Search code examples
rgenetic-algorithmparametric-equations

R using rgp symbolicRegression for equation discovery


I am trying to use the package rgp for equations discovery

library(rgp)
x = c (1:100)
y =  5*x+3*sin(x)+4*x^2+75
data1 = data.frame(x,y)
newFuncSet <- functionSet("+","-","*")
result1 <- symbolicRegression(y ~ x, data = data1, functionSet = newFuncSet,       stopCondition = makeStepsStopCondition(2000))
plot(data1$y, col=1, type="l"); points(predict(result1, newdata = data1), col=2, type="l")
model <- result1$population[[which.min(result1$fitnessValues)]]

However, I keep getting an error message.I would be grateful for your help in pointing out the errors I have made above.

Useful references (it would be great to have this in R):

https://www.researchgate.net/publication/237050734_Improving_Genetic_Programming_Based_Symbolic_Regression_Using_Deterministic_Machine_Learning


Solution

  • The problem is that R treats the x vector as integers and has some problems with types further. Try to use type x into numeric specifically:

    x <- as.numeric(1:100)
    

    It worked for me.