многомерная линейная регрессия для y = A * x + B - PullRequest
0 голосов
/ 14 декабря 2018

Существует ли какой-либо стандартный метод / функция, который существует для решения этой проблемы с учетом набора значений для y и x?

Для одномерных переменных y и x, по-видимому, существует, но для ND-переменных y и x мы имели бы матрицу A NxN и вектор B Nx1.

Единственные решения, которые я видел, предполагают, что у является одномерным, что явно не полезно.

В настоящее время моим единственным решением было сделать N ^ 2 линейных полиноминальных подгонок для получения наборов коэффициентов в форме

y (j) = a_jk x (k) + b_jk

, а затем получить вектор B, взяв среднее значение b_jk.Я не уверен, что это оптимальное решение проблемы.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Cris Luengo, действительно правильно в комментариях.Функция mldivide удваивается как решатель наименьших квадратов

Если A - прямоугольная матрица m-на-n с m ~ = n, а B - матрица с m строками, то A \ Bвозвращает решение системы наименьших квадратов для системы уравнений A * x = B

Так что если у вас есть уравнение

y == A * x + B

, то сначала вы должны будете вычесть Bс обеих сторон, а затем применить mldivide, так что-то вроде

xhat = A\(y-B);
0 голосов
/ 14 декабря 2018

Одним из способов было бы использование наименьших квадратов для нахождения A и B, чтобы минимизировать

Q = Sum{ (A*x[i]+B - y[i])'*(A*x[i] + B - y[i])}

(Здесь 'обозначает транспонирование, и я предполагаю, что у вас есть векторы x [0] .. x [N-1] и y [0] .. y [N-1])

Хотя вы можете сделать это с помощью стандартного линейного решателя наименьших квадратов, есть еще один способ:

Вычислить среднееxbar x и средний ybar y, т.е.

xbar = Sum{ x[i]}/N
ybar = Sum{ y[i]}/N

. Вычислить следующие матрицы

C = Sum{ (x[i]-xbar)*(x[i]-xbar)'}
D = Sum{ (y[i]-ybar)*(x[i]-xbar)'}

. Вычислить A и B

A = D*inv(C)
B = A*xbar-ybar

. Обратите внимание, чтомы можем вычислить только A, если C обратимо.Это означает, что векторы x [] должны охватывать пространство, в котором они лежат. Если они этого не делают, то A не определяется однозначно.

Доказательство того, что приведенный выше рецепт решает проблему, не являетсяэто освещение;дайте мне знать, если хотите это увидеть.

...