Я пытаюсь подогнать полиномы разных порядков к набору данных и построить полученные кривые на диаграмме рассеяния. Мой полином первого порядка выглядит нормально:
но когда я добавляю термины более высокого порядка, появляется куча чепухи (для меня). Есть идеи, почему это так?
Вот моя кривая третьей степени:
Там есть смутно выглядящая полиномиальная вещь третьей степени, но ее точка пересечения по оси y, кажется, составляет около 5, тогда как сводка полинома дает точку пересечения 3,5:
Вот соответствующий код:
PS1 <- read.csv("PhrynoSpermo.csv")
phryno <- PS1$Phrynosoma.solare[1:330]
spermo <- PS1$Spermophilus.tereticaudus[1:330]
plot(spermo, phryno, pch=20, ylab="P. solare", xlab = "S. tereticaudus")
fit1 <- lm(phryno~spermo)
fit2 <- lm(phryno~poly(spermo,2))
fit3 <- lm(phryno~poly(spermo,3))
fit4 <- lm(phryno~poly(spermo,4))
lines(spermo,predict(fit1),col="red")
lines(spermo,predict(fit2),col="green")
lines(spermo,predict(fit3),col="blue")
lines(spermo,predict(fit4),col="purple")
И я понимаю, что ни один из них не подходит очень хорошо, но я просто хочу понять, что происходит.