How to specify a specific constant for a multiple linear regression?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Khaled Ahmat
am 14 Okt. 2017
Beantwortet: Khaled Ahmat
am 17 Okt. 2017
I would like to know if it is possible to specify a certain constant to a multiple linear regression abd how?
2 Kommentare
Akzeptierte Antwort
Image Analyst
am 14 Okt. 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 Kommentare
Jan
am 15 Okt. 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.
Weitere Antworten (4)
Khaled Ahmat
am 15 Okt. 2017
3 Kommentare
Image Analyst
am 15 Okt. 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
am 15 Okt. 2017
2 Kommentare
Image Analyst
am 16 Okt. 2017
Not familiar with regress(). Why didn't you use the method of John D'Errico?
Image Analyst
am 17 Okt. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Linear and Nonlinear Regression finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!