Как построить кривую полиномиальной регрессии в R

Как построить кривую полиномиальной регрессии в R

Полиномиальная регрессия — это метод регрессии, который мы используем, когда связь между переменной-предиктором и переменной- ответом нелинейна.

В этом руководстве объясняется, как построить кривую полиномиальной регрессии в R.

Связанный: 7 наиболее распространенных типов регрессии

Пример: построение кривой полиномиальной регрессии в R

В следующем коде показано, как подобрать модель полиномиальной регрессии к набору данных, а затем построить кривую полиномиальной регрессии по необработанным данным на диаграмме рассеяния:

#define data
x <- runif(50, 5, 15)
y <- 0.1\*x^3 - 0.5 \* x^2 - x + 5 + rnorm(length(x),0,10) 

#plot x vs. y
plot(x, y, pch= 16 , cex= 1.5 ) 

#fit polynomial regression model
fit <- lm(y ~ x + I(x^2) + I(x^3))

#use model to get predicted values
pred <- predict(fit)
ix <- sort(x, index. return = T )$ix

#add polynomial curve to plot
lines(x[ix], pred[ix], col='red', lwd= 2 )
построить кривую полиномиальной регрессии в R

Мы также можем добавить подобранное уравнение полиномиальной регрессии к графику, используя функцию text() :

#define data
x <- runif(50, 5, 15)
y <- 0.1\*x^3 - 0.5 \* x^2 - x + 5 + rnorm(length(x),0,10) 

#plot x vs. y
plot(x, y, pch=16, cex=1.5) 

#fit polynomial regression model
fit <- lm(y ~ x + I(x^2) + I(x^3))

#use model to get predicted values
pred <- predict(fit)
ix <- sort(x, index. return = T )$ix

#add polynomial curve to plot
lines(x[ix], pred[ix], col='red', lwd= 2 )

#get model coefficients
coeff <- round(fit$coefficients , 2)

#add fitted model equation to plot
text(9, 200 , paste("Model:", coeff[1], " +", coeff[2],
 "\*x", "+", coeff[3], "\*x^2", "+", coeff[4], "\*x^3"), cex= 1.3 )

Обратите внимание, что аргумент cex управляет размером шрифта текста. Значение по умолчанию равно 1, поэтому мы решили использовать значение 1,3 , чтобы текст было легче читать.

Дополнительные ресурсы

Введение в полиномиальную регрессию
Как подогнать полиномиальную кривую в Excel
Как выполнить полиномиальную регрессию в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.