J'ai deux tracés 3D, dont un a été réalisé en utilisant des valeurs ajustées en utilisant la bibliothèque p3d
(côté gauche). Dans la seconde j'ai utilisé predict
puis interp
commande du paquet akima
et tracé en utilisant persp
(côté droit). Les images ne montrent pas le même angle, mais c'est la meilleure façon de montrer que l'une est plate et l'autre courbe.Différence entre les tracés 3D utilisant les valeurs ajustées et prédites
Je voudrais savoir pourquoi le graphique montrant les valeurs ajustées a une courbe et l'autre avec des valeurs prédites ne l'ont pas.
premier code graphique:
library(p3d)
Init3d(family="serif", cex = 1)
Plot3d(TCL ~ reLDM+yr, nest6)
Axes3d()
fit = lm(TCL ~ reLDM+yr+I(yr^2)+I(reLDM*yr)+I(reLDM*yr^2), nest6)
Fit3d(fit)
Deuxième code graphique:
library(akima)
x <- nest6$reLDM
y <- nest6$yr
y2 <- y^2
z <- nest6$TCL
m <- lm(z ~ x*y+y2+x:y2)
i <- 25
xtemp <- seq(min(x),max(x),length.out=i)
xrange <- rep(xtemp,times=i)
ytemp <- seq(min(y),max(y),length.out=i)
yrange <- rep(ytemp,each=i)
y2temp <- seq(min(y2),max(y2),length.out=i)
y2range <- rep(y2temp,each=i)
newdata <- data.frame(x=xrange,y=yrange,y2=y2range)
zhat <- predict(m,newdata=newdata)
xyz <- interp(xrange,yrange,zhat)
jet.colors <- colorRampPalette(c("yellow", "red", "blue"))
nbcol <- 500
color <- jet.colors(nbcol)
nrz <- length(xyz[[1]])
ncz <- length(xyz[[2]])
z<-xyz[[3]]
zfacet <- z[-1, -1] + z[-1, -ncz] + z[-nrz, -1] + z[-nrz, -ncz]
facetcol <- cut(zfacet, nbcol)
quartz()
persp(xyz,xlab="x",ylab="y",zlab="z", cex.lab = 1,cex.axis = 1,
theta = 35, phi = 50,col=color[facetcol], border="grey40", ticktype = "detailed", zlim=c(1,7))
Vous trouverez l'ensemble de données dans ce lien, le gros donc il n'a pas été possible de le poster ici: https://www.dropbox.com/s/czdascoq02alm46/TCL16_26.csv?dl=0
Mon modèle a été fait en utilisant lm(), j'ai lu dans un article qu'il n'y a pas de différence entre les fonctions ajustées et prédites dans un modèle de régression linéaire simple. Cependant, en akima j'utilise la commande interp dont je comprends qu'elle estime les valeurs entre deux points de données connus (remplit essentiellement les lacunes de données manquantes).
Une autre différence que j'ai trouvée est que le graphique des valeurs prédites utilise de nouvelles données de la plage de valeurs maximale et minimale dans l'ensemble de données d'origine. Pour les valeurs ajustées, il y a une valeur par observation.
J'ai des problèmes à expliquer cela à mon superviseur, il pense que ce n'est pas une raison suffisante. Quelle serait une meilleure explication pourquoi la courbe manque dans le second graphique?