How to specify a specific constant for a multiple linear regression?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Khaled Ahmat
el 14 de Oct. de 2017
Respondida: Khaled Ahmat
el 17 de Oct. de 2017
I would like to know if it is possible to specify a certain constant to a multiple linear regression abd how?
2 comentarios
jean claude
el 14 de Oct. de 2017
would you clarify your question with an example that we can help ?
Respuesta aceptada
Image Analyst
el 14 de Oct. de 2017
See John's answer. https://www.mathworks.com/matlabcentral/answers/274980-linear-fit-to-data-with-intercept-at-origin#answer_214651
You can fit y-43 instead of y, then do the fit and add back in the 43 to get yFitted .
4 comentarios
Jan
el 15 de Oct. de 2017
@Khaled Ahmat: Please use flags only to inform editors and admins about contributions, which might conflict with the terms of use e.g. by rudeness. Thanks.
Más respuestas (4)
Khaled Ahmat
el 15 de Oct. de 2017
3 comentarios
Image Analyst
el 15 de Oct. de 2017
But we already solved that in the first answer. If you don't know how to do it, then just attach vectors x1, x2, x3, and y in a .mat file.
Khaled Ahmat
el 15 de Oct. de 2017
2 comentarios
Image Analyst
el 16 de Oct. de 2017
Not familiar with regress(). Why didn't you use the method of John D'Errico?
Image Analyst
el 17 de Oct. de 2017
I'm not sure I've got the columns correct for x1, x2, x3, and y, but this is essentially how you'd do it (again, thanks to John D'Errico):
% Read in data file.
data = importdata('Data_case1.txt')
% Extract columns into separate variables.
% Make sure the column numbers are the correct ones!!!!
x1 = data(:, 1);
x2 = data(:, 2);
x3 = data(:, 3);
y = data(:, 4);
% Construct x matrix
x = [x1, x2, x3];
% Construct y
y = y - 30;
% Get the cofficients:
coefficients = x \ y; % Estimate Parameter: x*coefficients = y
% Get fitted values for y. Be sure to add back in the 30 we subtracted!
y_estimated = x*coefficients + 30;
% Print them out
fprintf(' x1 x2 x3 y y_estimated\n');
for row = 1 : length(x1)
fprintf('%8.4f, %8.4f, %8.4f, %8.4f, %8.4f\n', ...
x1(row), x2(row), x3(row), y(row), y_estimated(row));
end
0 comentarios
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!