Когда я изучаю Python SKlearn, первым примером, с которым я сталкиваюсь, является Generalized Linear Models.R lm versus Python sklearn linear_model
Кодекс самого первого примера:
from sklearn import linear_model
reg = linear_model.LinearRegression()
reg.fit([[0, 0], [1, 1], [2,2]], [0, 1,2])
reg.fit
reg.coef_
array([ 0.5, 0.5])
Здесь я предполагаю, [[0, 0], [1, 1], [2,2]]
представляет собой data.frame содержащий x1 = c(0,1,2)
и x2 = c(0,1,2)
и y = c(0,1,2)
, а также.
Сразу же я начинаю думать, что array([ 0.5, 0.5])
- это коэффициенты для x1
и x2
.
Но существуют ли стандартные ошибки для этих оценок? Как насчет t тестов p значений, R2 и других цифр?
Тогда я пытаюсь сделать то же самое в R.
X = data.frame(x1 = c(0,1,2),x2 = c(0,1,2),y = c(0,1,2))
lm(data=X, y~x1+x2)
Call:
lm(formula = y ~ x1 + x2, data = X)
#Coefficients:
#(Intercept) x1 x2
# 1.282e-16 1.000e+00 NA
Очевидно x1
и x2
полностью линейно зависимы, так что МНК потерпит неудачу. Почему SKlearn все еще работает и дает такие результаты? Я получаю sklearn не так? Благодарю.
возможно http://stats.stackexchange.com/вопросы/116825/другое-выход-для-R-Lm-и-питон-statsmodel-ОЛС-для-линейной регрессии- – hrbrmstr