Linear regression in R

1. Jul 14, 2008

Mosis

I'm interested in fitting a line to some data. There is a built-in function in R lm() that gives me both the best-fit slope and intercept, however, I would like to determine the best fit intercept GIVEN a specified value of the slope. Is there an easy way to do this?

I apologize if this is in the wrong forum. I know it's not exactly "programming" but I don't know a more appropriate place to post this.

2. Jul 14, 2008

TheoMcCloskey

$$y = \alpha + \beta \cdot x$$

where $\beta$ is a given (non-parameter) and $\alpha$ is a parameter.

If that's the case, then the Error function (for linear least squares) is

$$E = \sum^n_i (y_i - (\alpha+\beta \cdot x_i))^2$$

Since the model only has one free parameter, the solution is rather easy. Take the derivative of E with respect to this parameter $\alpha$ and set it equal to zero. The following results:

$$n \cdot \alpha = \sum y_i - \beta \cdot \sum x_i$$

or

$$\alpha = \bar y - \beta \cdot \bar x$$

where the bar values represent averages, eg, $\bar x$ = the averages of the x values, etc.

3. Jul 14, 2008

Mosis

actually, I've tried something different. I'm ultimately interested in fitting some data with a power-law of the form ax^b, where b is the known parameter. One approach is to consider linear regression on the log transform, whereby b will be the known slope and loga will be the unknown parameter. Instead I considered S = sum (y_i - a(x_i)^b)^2. Differentiating wrt a and setting the expression equal to 0 gives me sum((x_i)^b(y_i - A(x_i)^b) = 0, and Maple can easily solve for A given the data.

Is this the correct approach?

4. Jul 15, 2008

TheoMcCloskey

Yes, that's an acceptable approach. Note that the solution for "A" is now

$$A = \frac {\sum y_i \cdot x_i^b}{\sum (x_i^b)^2}$$