Optimizing a multivariable function parameters using a random method, genetic algorithm and simulated annealing in R
[This article was first published on Computational Biology Blog in fasta format, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Say that you are implementing a non-linear regression analysis, which is shortly described by wikipedia as:
“In statistics, nonlinear regression is a form of regression analysis in which observational data are modeled by a function which is a nonlinear combination of the model parameters and depends on one or more independent variables.”
For the training set, we have the following:
And the function to optimize the parameters is:
Which leads us to the following equality:
In other words, we want to optimize the value of theta in order to minimize the sum of the error among y and predicted.y:
Given theta (each parameter a0,..a3 has a range from 0 to 15):
And the error function:
finally, the goal function:
In other words, the goal function searches for the value of theta that minimizes the error.
COMPUTATIONS BEGIN
This is the scatter plot of the training set:
Here is the implementation in R, you can download the file clicking here
Here is a result plot using the genetic algorithm:
Benjamin
To leave a comment for the author, please follow the link and comment on their blog: Computational Biology Blog in fasta format.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.