Statsmodels OLS дает результаты, отличные от матричной алгебрыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Statsmodels OLS дает результаты, отличные от матричной алгебры

Сообщение Anonymous »

Мне нужно выполнить регрессию OLS на Python с использованием numpy и матричной алгебры.
Я использовал следующий код:

Код: Выделить всё

import numpy as np
coeff = np.linalg.inv(X.T@X)@X.T@y
где X — матрица независимых переменных, а y — вектор зависимых переменных.
Я сравнил эти результаты с оценками, полученными с помощью статистических моделей OLS, следующим образом:

Код: Выделить всё

import numpy as np
import statsmodels.api as sm
model = sm.OLS(y, X)
results = model.fit()
coeff = results.params
По какой-то причине я получаю разные результаты, и мне интересно, почему. Я также пытался написать форму матричной алгебры по-другому, но, похоже, она всегда дает другие результаты, чем статистические модели OLS.
Вот пример, который приводит к другим результатам:

Код: Выделить всё

    data = np.array([
[1, 2, 3, 14],
[2, 4, 5, 25],
[3, 6, 7, 36],
[4, 8, 9, 47],
[5, 10, 11, 58]
])

# Independent variables (X) - First three columns
X = data[:, :-1]

# Dependent variable (Y) - Last column
y = data[:, -1]
statsmodels OLS создает вектор коэффициентов, в то время как форма матричной алгебры приводит к ошибке, поскольку матрица X.T@X не является обратимой. Фактический набор данных, для которого мне нужен подход матричной алгебры, значительно больше, поэтому я предпочел включить этот меньший пример. В моем конкретном случае матрица X.T@X является обратимой, но коэффициенты значительно отличаются от коэффициентов OLS статистических моделей. Я предполагаю, что это зависит от обратного X.T@X и другой процедуры оценки коэффициентов между двумя подходами, отсюда и мой вопрос.

Подробнее здесь: https://stackoverflow.com/questions/766 ... ix-algebra
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»