Учитывая данные, которые выглядят следующим образом:
x<-c(0.287,0.361,0.348,0.430,0.294)
y<-c(105,230,249,758,379)
Я пытаюсь подогнать к этим данным несколько разных методов. Для этого вопроса я смотрю на полиномиальные подгонки 2-го порядка против подгонки Лесса. Чтобы получить более гладкую кривую, я хотел бы расширить данные x, чтобы дать мне больше точек для прогнозирования. Итак, для моей кривой Лёсса я делаю следующее:
Loess_Fit<-loess(y ~ x)
MakeSmooth<-seq(min(x), max(x), (max(x)-min(x))/1000)
plot(x,y)
#WithoutSmoothing
lines(x=sort(x), y=predict(Loess_Fit)[order(x)], col="red", type="l")
#With Smoothing
lines(x=sort(MakeSmooth), y=predict(Loess_Fit,MakeSmooth)[order(MakeSmooth)], col="blue", type="l")
Когда я пытаюсь сделать то же самое с полиномиальной подгонкой 2-го порядка, я получаю сообщение об ошибке.
Poly2<-lm(y ~ poly(x,2,raw=TRUE))
plot(x,y)
#WithoutSmoothing
lines(x=sort(x), y=predict(Poly2)[order(x)], col="red", type="l")
#With Smoothing
lines(x=sort(MakeSmooth), y=predict(Poly2,MakeSmooth)[order(MakeSmooth)], col="blue", type="l")
Очевидно, что между Poly2 и Loess_Fit есть какая-то разница, но я не знаю, в чем разница. Есть ли способ сгладить посадку Poly2, как я сделал с Loess_Fit?