Linear_model.Коэффициенты LinearRegression() отличаются от модели Statsmodels.сводка

#statistics #regression #statsmodels #linearmodels

#Статистика #регрессия #statsmodels #линейные модели

Вопрос:

 import statsmodels.api as sm 


x1 = np.array([3,4,6,8,9])
x2 = np.array([1,1,3,6,4])
x3 = np.array([2,2,5,6,9])
y =  np.array([2,3,6,5,8])

xn1 = x1.reshape(-1,1)
xn2 = x2.reshape(-1,1)
xn3 = x3.reshape(-1,1)

X = np.concatenate((xn1,xn2,xn3),axis=1)

yn1 = y.reshape(-1,1)

reg = linear_model.LinearRegression()
reg.fit(X,y)
print(reg.coef_)
print(reg.intercept_)

model = sm.OLS(y,X).fit() 
print(model.summary())
 

результат линейной регрессии [ 0.66424419 -0.48982558 0.48401163]

тогда как вывод из statsmodel выглядит следующим образом

 x1, coeff = 0.6455, std err = 0.425
x2, coeff =-0.4823, std err =0.388
x3, coeff = 0.4948, std err =0.412
 

итак, цифры не совпадают, в чем причина, пожалуйста, сообщите экспертам.

Комментарии:

1. Вывод из из sklearn import linear_model и вывод из import statsmodels.api, поскольку sm не соответствует линейным коэффициентам. В чем разница

2. у вас нет перехвата в версии statsmodels, на один параметр меньше