Всего на сайте:
282 тыс. 988 статей

Главная | Математика

Нелинейные (полиномиальные) модели  Просмотрен 100

По виду графика остатков мы предполагаем, что имеет место нелинейная зависимость от NAP, которую мы будем моделировать полиномом степени 3=2+1, поскольку на графике предположительно имеется два экстремума. Для надежности возьмем еще и полиномы степени 2 и 4.

M1a<-lm(abundance~poly(NAP,2),data=p)

M1b<-lm(abundance~poly(NAP,3),data=p)

M1c<-lm(abundance~poly(NAP,4),data=p)

anova(M0,M1a,M1b,M1c)

 

Analysis of Variance Table

 

Model 1: abundance ~ NAP

Model 2: abundance ~ poly(NAP, 2)

Model 3: abundance ~ poly(NAP, 3)

Model 4: abundance ~ poly(NAP, 4)

Res.Df RSS Df Sum of Sq F Pr(>F)

1 43 1006821

2 42 958034 1 48787 2.1162 0.1535

3 41 936230 1 21804 0.9458 0.3366

4 40 922151 1 14079 0.6107 0.4391

 

Результаты дисперсионного анализа показывают, что добавление нелинейности не делает модель лучше, все уровни значимости значительно превышают 5%.

Построим графики для наших моделей

new.data<-data.frame(NAP=seq(min(p$NAP),max(p$NAP),len=200))

M1a.prd<-predict(M1a,newdata=new.data)

M1b.prd<-predict(M1b,newdata=new.data)

M1c.prd<-predict(M1c,newdata=new.data)

plot(abundance~NAP,data=p,type="p",pch=20,cex=1.5)

abline(M0,col="gray",lwd=3)

points(new.data$NAP,M1a.prd,type="l",col="red",lwd=3)

points(new.data$NAP,M1b.prd,type="l",col="blue",lwd=3)

points(new.data$NAP,M1c.prd,type="l",col="darkgreen",lwd=3)

legend("topleft",c("M0","M1a","M1b","M1c"),fill=c("gray","red","blue","darkgreen"))

Увеличим вертикальное разрешение, чтобы лучше увидеть графики

Предыдущая статья:РЕГРЕССИОННЫЕ МОДЕЛИ ЗАВИСИМОСТЕЙ МЕЖДУ КОЛИЧЕСТВЕННЫМИ ПЕРЕМЕННЫМИ Следующая статья:Гребневая регрессия
page speed (0.0126 sec, direct)