From: <ctu_at_bigred.unl.edu>

Date: Thu, 29 May 2008 14:30:31 -0500

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Thu 29 May 2008 - 19:52:13 GMT

Date: Thu, 29 May 2008 14:30:31 -0500

Hi,

I think Ray has answered this question in the previous e-mail.
Because optim can only use one single parameter thus you can not have
the parameters: theta, theta1 and x at the same time.

such as:

f1<-function(theta)

{theta[1]+theta[2]}

f2<-function(theta)

{f1(theta)*3}

f3<-function(theta)

{f1(theta)-f2(theta)}

optim(par=c(1,1), f3)

Chunhao

Quoting threshold <r.kozarski_at_gmail.com>:

*>
*

> Hi, thanks for your replay the previous post of mine. Let me ask you one more

*> question similar to the previous one, based on a naive example:
**>
**> f1<-function(theta, theta1)
**> {theta[1]+theta[2]+theta1[1]}
**>
**> f2<-function(theta, x, theta1)
**> {f1(theta, theta1)*exp(x)*theta1[2]}
**>
**> function to be optimized with respect to theta1:
**> f3<-function(theta1)
**> {f1(theta, theta1)-f2(theta,x,theta1)}
**> optim(par=c(1,1), f3)
**>
**> If I do so I get:
**> Error in f1(theta, theta1) : argument "theta1" is missing, with no default
**> What I did wrong? I guess I miss something basic...
**> Thanks in advance, robert
**>
**>
**>
**>
**>
**> Ray Brownrigg-2 wrote:
**>>
**>> On Wed, 23 Apr 2008, threshold wrote:
**>>> Hi, here comes my problem, say I have the following functions (example
**>>> case) #------------------------------------------------------------
**>>> function1 <- function (x, theta)
**>>> {a <- theta[1] ( 1 - exp(-theta[2]) ) * theta[3] )
**>>> b <- x * theta[1] / theta[3]^2
**>>> return( list( a = a, b = b )) }
**>>> #-----------------------------------------------------------
**>>> function2<-function (x, theta)
**>>> {P <- function1(x, theta)
**>>> c <- P$a * x * exp(-theta[2])
**>>> d <- P$b * exp(x)
**>>> q <- theta[1] / theta[3]
**>>> res <- c + d + q; res}
**>>>
**>>> # Function to be optimized
**>>> function3 <- function(theta1,theta2,theta3) {
**>>> n <- length(data)
**>>> -sum( function2(x = data[2:n], theta = c(theta1, theta2, theta3) ))}
**>>> # 'data' is my input ts class object
**>>> #--------------------------------------------------------------------------
**>>> ------------
**>>>
**>>> Then I want to maximize function3 with respect to theta(s) (given some
**>>> starting values)
**>>>
**>>> fit<-optim(par=c(theta1=1, theta2=1.2, theta3=.2), fn=function3)
**>>>
**>>> I get the following:
**>>> Error in function1(x, theta) :
**>>> argument "theta2" is missing, with no default
**>>>
**>>> Where I made a mistake? I will appreciate any help ...
**>>>
**>>> r
**>>
**>> Your function to be optimised must be a function of a single parameter
**>> (which
**>> may be a vector).
**>>
**>> So you should have something like:
**>> # Function to be optimized
**>> function3 <- function(thetas) {
**>> n <- length(data)
**>> -sum( function2(x = data[2:n], theta = thetas))
**>> }
**>>
**>> [Not tested, your provided code has typos].
**>>
**>> Ray
**>>
**>> ______________________________________________
**>> R-help_at_r-project.org mailing list
**>> https://stat.ethz.ch/mailman/listinfo/r-help
**>> PLEASE do read the posting guide
**>> http://www.R-project.org/posting-guide.html
**>> and provide commented, minimal, self-contained, reproducible code.
**>>
**>>
**>
**> --
**> View this message in context:
**> http://www.nabble.com/optimization-setup-tp16825410p17543578.html
**> Sent from the R help mailing list archive at Nabble.com.
**>
**> ______________________________________________
**> R-help_at_r-project.org mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
**> and provide commented, minimal, self-contained, reproducible code.
**>
*

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Thu 29 May 2008 - 19:52:13 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Thu 29 May 2008 - 20:32:15 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*