- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

I have been using MKL for a bit now, and I would like to improve the speed for a weighted linear fit. The fitting function is a simple

y = a * x + b

The input is a vector

*e*, which contains the values of equally spaced samples of the function. The values start at 0, and have a distance of 1, i.e. x = {0,1,2,3,...,N-1}. This can be changed if it suits the algorithm better. There is another input

*w*, which is the weighting of each sample point.

The calculation I would like to do is the minimization of the following:

minimize WSS = w_i * ( y_i - ( a * x_i + b ))

^{2}

One way of doing it would be to create the full vandermonde matrix, and then solve the system using the inverse etc, but is there a better way of doing it?

Also, I am solving it a number of times, where the length of the fit is changing based on the data, so I need to create a new matrix each time.

There are a few threads discussing linear regression, but I can't figure them out exactly.

All help is appreciated.

Best regards

Henrik Andresen

Link Copied

3 Replies

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

If you want to avoid the square roots, you can modify an existing source code for uniform weight QR.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Thank you for your answer.

In case I have weight values close to zero, won't this transformation make my fit unstable?

Best regards

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page