MATLAB Answers

a simple question about linear regression

3 views (last 30 days)
Fred on 2 Mar 2014
Commented: Image Analyst on 2 Mar 2014
Hi, I have a n*2 matrix named Y which has two columns; the first column is my observation values and the second column is the probability associated with the observation value in the same row of the first column. Now If I have a set of probabilities let's call it Z(n*1) how can I fined a value for each probability with linear regression of Y values?


Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 2 Mar 2014
Edited: Image Analyst on 2 Mar 2014
Try this (untested)
% Find regression formula:
value = Y(:, 1); % Value
p = Y(:, 2); % Probability
coefficients = polyfit(value, p, 3); % Fit 2rd order polynomial
% Now get estimate for some values Z
% Z is a n by 1 array of a bunch of values.
estimated_p = polyval(coefficients, Z)
If you want interpolation instead of regression, you can use interp1(). Just say what you want.

  1 Comment

Image Analyst
Image Analyst on 2 Mar 2014
Note, in case you didn't know, because a lot of people don't, even a 3rd or 10th order polynomial is a linear regression because it's linear in the coefficients , which is what counts, rather than linear in the x value.

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Translated by