Линейная регрессия в MATLAB без fitlm - PullRequest
0 голосов
/ 09 июля 2020

Мне поручено выполнить прогнозный анализ. Это требует выполнения линейной регрессии для нескольких (~ 10) переменных-предикторов и создания перехватов для всех и константы. поэтому окончательное уравнение будет иметь следующий формат y = c + c1x1 + c2x2 + c3x3....

Теперь я знаю, что вы можете использовать функцию fitlm в MATLAB, которая доступна в инструментах статистики и машинного обучения, однако на данный момент я не знаю, можем ли мы буду покупать его. Как мне выполнить для них линейную регрессию?

Ответы [ 2 ]

0 голосов
/ 10 июля 2020

From: https://www.mathworks.com/help/matlab/data_analysis/linear-regression.html

Вы можете записать свои переменные-предикторы в виде матрицы X, используя X = [ones(length(x1),1),x1,x2,x3,...,xn] и сформулируя переменные ответа Y как уравнение Y = XB и создав матрицу обратная операция с использованием mldivide as B = X\Y для нахождения ваших коэффициентов регрессии.

0 голосов
/ 09 июля 2020

Вы можете использовать решение линейных наименьших квадратов в закрытой форме.

C = inv (transpose (X) * X) * transpose (X) * y

В приведенном выше примере make первая строка X все единицы, а следующие строки x1, x2, ...

C будут содержать соответствующие константы. Первая запись в C - c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...