[R] regression problem
Patrick Burns
pburns at pburns.seanet.com
Fri Mar 26 17:31:52 CET 2004
The function has a "coefsum" argument but never uses it.
The objective is supposed to be:
sum((y - x %*% coef)^2) + abs(sum(coef) - coefsum) * penalty
Patrick Burns wrote:
> Assuming that you want to estimate via least squares, you can
> do something like this:
>
> reg.coefsum <- function(x, y, start=coef(lm.fit(x, y)), coefsum=0,
> penalty=1000) {
> subfun.objective <- function(coef){
> sum((y - x %*% coef)^2) + abs(sum(coef)) * penalty
> }
> opt <- optim(start, subfun.objective, method='BFGS')
> ans <- list(coefficients=opt$par)
> ans
> }
>
> You can enhance the return value and make other improvements,
> like check that the coefficient sum is accurate enough for you.
>
> Patrick Burns
>
> Burns Statistics
> patrick at burns-stat.com
> +44 (0)20 8525 0696
> http://www.burns-stat.com
> (home of S Poetry and "A Guide for the Unwilling S User")
>
> pnick at virgilio.it wrote:
>
>> i need to know how to estimate a linear regression whose coefficients
>> sum
>> to zero
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide!
>> http://www.R-project.org/posting-guide.html
>>
>>
>>
>>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>
More information about the R-help
mailing list