Я рисовал результаты логистической регрессии, но вместо ожидаемой S-образной кривой получил вот такую прямую:
Это был код, который я использовал:
Я создал диапазон данных из исходной оси X, преобразовал их во фрейм данных, а затем предсказал и нарисовал линии.
model = glm(SHOT_RESULT~SHOT_DISTANCE,family='binomial',data = df_2shot)
summary(model)
#Eqn : P(SHOT_RESULT = True) = 1 / (1 + e^-(0.306 - 0.0586(SHOT_DISTANCE)))
r = range(df_2shot$SHOT_DISTANCE) # draws a curve based on prediction
x_range = seq(r[1],r[2],1)
x_range = as.integer(x_range)
y = predict(model,data.frame(SHOT_DISTANCE = x_range),type="response")
plot(df_2shot$SHOT_DISTANCE, df_2shot$SHOT_RESULT, pch = 16,
xlab = "SHOT DISTANCE", ylab = "SHOT RESULT")
lines(x_range,y)
Примечание: я следовал этому руководству: http://www.theanalysisfactor.com/r-glm-plotting/
Любые идеи будут оценены! Благодарю вас! :)