Если бы это был ответ, где-то я не мог найти, не стесняйтесь, форум ударил меня.Регрессия матриц с наименьшими квадратами
Я рассчитываю рассчитать линейную регрессию наименьших квадратов из матрицы N на M и набор известных решений наземной правды в матрице N-1. Оттуда я хотел бы получить наклон, перехват и остаточную ценность каждой регрессии. Основная идея заключается в том, что я знаю, что фактическая ценность этого должна быть предсказана для каждого образца в строке N, и я хотел бы определить, какой набор прогнозируемых значений в столбце M наиболее точным, используя остатки.
Я не описываю матрицы хорошо, так вот рисунок:
(N,M) matrix with predicted values for each row N
in each column of M...
##NOTE: Values of M and N are not actually 4 and 3, just examples
4 columns in "M"
[1, 1.1, 0.8, 1.3]
[2, 1.9, 2.2, 1.7] 3 rows in "N"
[3, 3.1, 2.8, 3.3]
(1,N) matrix with actual values of N
[1]
[2] Actual value of each sample N, in a single column
[3]
Итак, еще раз, для ясности, я ищу, чтобы вычислить lstsq регрессии между каждой колонкой (N, M) матрицы и матрицы (1, N).
Например, регрессии между
[1] and [1]
[2] [2]
[3] [3]
затем регрессии между
[1] and [1.1]
[2] [1.9]
[3] [3.1]
и так далее, вывода наклона, перехват и стандартная ошибка (средний остаточный) для каждой регрессии, рассчитанной.
До сих пор в документации numpy/scipy и вокруг «сети» я нашел примеры, вычисляющие только одну колонку за раз. Я думал NumPy имел возможность вычислять регрессию на каждой колонке в комплекте со стандартным
np.linalg.lstsq(arrayA,arrayB)
Но что возвращает ошибку
ValueError: array dimensions must agree except for d_0
мне нужно разделить столбцы в свои массивы делать, затем вычислить по одному? Есть ли параметр или матрица, которую мне нужно использовать, чтобы numpy вычислить регрессии по каждому столбцу независимо?
Я чувствую, что должно быть проще? Я просмотрел все это, и я не могу найти никого, кто бы делал что-то подобное.
Вы говорите, что ваши матрицы (N, M) (1, N). Lstsq ожидает (N, M) и (N), вы пытались использовать транспонирование arrayB?Я получаю от вас несколько другое исключение (LinAlgError: Несовместимые измерения), я использую Python2.7, с numpy1.6 – Dhara