Как бороться с квадратичной моделью, которая имеет слишком много подгоночных значений? - PullRequest
0 голосов
/ 03 ноября 2019

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

Я построил диаграмму рассеяния с эпизодами по оси x и временем экрана по оси y, это работало нормально.

Затем я создаю модель следующим образом:

#ordering
gottemp <- got[order(got$episodes),]

#plotting
plot(screentime~episodes, data = gottemp, xlab ="Number of episodes", ylab = "Screentime (minutes)", col=c("blue","red")[gender], pch=c(1,2)[gender])
legend("topleft",pch = c(1,2),col=c("blue","red"),c("female","male"))
title("Plot of Screentimes vs Number of Episodes")

#creating 3model and plotting line
model <- lm(screentime~episodes+I(episodes^2), data = got)
lines(fitted(model))

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

1 Ответ

0 голосов
/ 03 ноября 2019

Что-то вроде

nd <- data.frame(episodes=seq(min(episodes), max(episodes), length=51)
nd$screentime <- predict(model, newdata=nd)
with(nd, lines(episodes, screentime))

должно делать то, что вы хотите. Возможно, где-то есть дубликат ...

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