# Re: [R] Optimization

From: Spencer Graves <spencer.graves_at_pdf.com>
Date: Tue 05 Sep 2006 - 05:30:44 EST

Have you considered talking logarithms of the expression you mentioned:

log(Yield) = a1*log(A)+b1*log(B)+c2*log(C)+...

where a1 = a/(a+b+...), etc. This model has two constraints not present in ordinary least squares: First, the intercept is assumed to be zero. Second, the coefficients in this log formulation must sum to 1. If I were you, I might use something like "lm" to test them both.

To explain how, I'll modify the notation, replacing A by X1, B by X2, ..., up to Xkm1 (= X[k-1]) and Xk for k different environmental variables. Then I might try something like the following:

```      fit0 <- lm(log(Yield) ~ log(X1) + ... + log(Xk)-1 )
fit1 <- lm(log(Yield) ~ log(X1) + ... + log(Xk) )
fit.1 <- lm(log(Yield/Xk) ~ log(X1/Xk) + ... + log(Xkm1/Xk) )
fit.0 <- lm(log(Yield/Xk) ~ log(X1/Xk) + ... + log(Xkm1/Xk)-1 )

anova(fit1, fit0) would test the no-constant model, and if I
```
haven't made a mistake in this, anova(fit0, fit.0) and anova(fit1, fit.1) would test the constraint that all the coefficients should sum to 1.

If you would like further help from this listserve, please provide commented, minimal, self-contained, reproducible code to help potential respondents understand your question and concerns (as suggested in the posting guide "www.R-project.org/posting-guide.html").

```      Hope this helps.
Spencer Graves

```

Simone Vincenzi wrote:
> Dear R-list,
> I'm trying to estimate the relative importance of 6 environmental variables
> in determining clam yield. To estimate clam yield a previous work used the
> function Yield = (A^a*B^b*C^c...)^1/(a+b+c+...) where A,B,C... are the
> values of the environmental variables and the weights a,b,c... have not been
> calibrated on data but taken from literature. Now I'd like to estimate the
> weights a,b,c... by using a dataset with 110 observations of yield and
> values of the environmental variables. I'm wondering if it is feasible or if
> the number of observation is too low, if some data transformation is needed
> and which R function is the most appropriate to try to estimate the weights.
> Any help would be greatly appreciated.
>
> Simone Vincenzi
>
> _________________________________________
> Simone Vincenzi, PhD Student
> Department of Environmental Sciences
> University of Parma
> Parco Area delle Scienze, 33/A, 43100 Parma, Italy
> Phone: +39 0521 905696
> Fax: +39 0521 906611
> e.mail: svincenz@nemo.unipr.it
>
>
>
> --
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help