Множественная регрессия Matlab - PullRequest
0 голосов
/ 23 июля 2011

У меня есть этот набор переменных:

N = 250;

% independent variables[0..10]
x_1 = rand(N,1) * 10;
x_2 = rand(N,1) * 10;

y = ones(N,1); % regresssion variable

y((x_1 + x_2 + rand(N,1) * 2) <= 11) = 2;

Я хочу сделать регрессию с двумя переменными в Matlab, но не знаю, как это сделать, может кто-нибудь мне помочь?Результатом линейной или полиномиальной регрессии должна быть линия между этими двумя классами, хранящаяся в y.

1 Ответ

1 голос
/ 23 июля 2011

Одна или несколько «независимых» переменных, это одно и то же. Просто в качестве примера несколько способов решения:

>>> X= [x_1 x_2];
>>> X\ y
ans =
   0.10867
   0.11984

>>> pinv(X)* y
ans =
   0.10867
   0.11984

Подробнее о \ и pinv .

У Matlab есть много других способов решения наименьших квадратов. Вы можете подробнее остановиться на вашем конкретном случае, чтобы найти наиболее подходящий. В любом случае, приведенная выше документация является хорошей отправной точкой для вас.

Редактировать
Некоторая общая информация о least squares стоит прочитать: wiki и mathworks

...