Обычные наименьшие квадраты в statsmodels: нашей модели нужен перехват - PullRequest
0 голосов
/ 02 ноября 2019

Я начинаю узнавать о линейной регрессии, и в самом начале меня озадачили. Я думаю, что моя проблема не концептуально, а в реализации. Я не понимаю, почему, согласно документации , мне нужно добавить дополнительный столбец с перехватом значения 1, когда пытаюсь уместить линию регрессии.

#Artificial data:
nsample = 100
x = np.linspace(0, 10, 100)
X = np.column_stack((x, x**2))
beta = np.array([1, 0.1, 10])
e = np.random.normal(size=nsample)

#Our model needs an intercept so we add a column of 1s:
X = sm.add_constant(X)
y = np.dot(X, beta) + e

#Fit and summary:
model = sm.OLS(y, X)
results = model.fit()
print(results.summary())

Isn 't перехват определяется данными? Почему мне нужно указать, что это такое? Или это больше похоже на параметр, где отсутствие перехвата или перехвата = 0 означает, что линия регрессии проходит через начало координат, и в противном случае она рассчитывается? Зачем мне указывать перехват, отличный от 0 или 1, например 100000?

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