|
非参数回归的R代码:
install.packages("SemiPar")
library(SemiPar);
data(age.income);
attach(age.income);
X=age;
Y=log.income;
plot(X,Y); #画原始数据的散点图
X2=X^2; X3=X^3; X4=X^4;
fit1<-lm(Y~X)
lines(X,fit1$fitted.values,lty=1,col=1,lwd=3)
fit2<-lm(Y~X+X2)
lines(X,fit2$fitted.values,lty=2,col=2,lwd=3)
fit3<-lm(Y~X+X2+X3)
lines(X,fit3$fitted.values,lty=3,col=3,lwd=3)
fit4<-lm(Y~X+X2+X3+X4)
lines(X,fit4$fitted.values,lty=4,col=4,lwd=3)
legend(20,15.1,c("线性","二次","三次","四次"),lty=c(1,2,3,4),col=c(1,2,3,4))
library(locfit);
data(ethanol);
attach(ethanol);
summary(ethanol)
Y=NOx;
X=E;
Y=Y[order(X)]
X=sort(X)
plot(X,Y);
plot(X,Y); #画原始数据的散点图
X2=X^2; X3=X^3; X4=X^4;
fit1<-lm(Y~X)
lines(X,fit1$fitted.values,lty=1,col=1,lwd=3)
fit2<-lm(Y~X+X2)
lines(X,fit2$fitted.values,lty=2,col=2,lwd=3)
fit3<-lm(Y~X+X2+X3)
lines(X,fit3$fitted.values,lty=3,col=3,lwd=3)
fit4<-lm(Y~X+X2+X3+X4)
lines(X,fit4$fitted.values,lty=4,col=4,lwd=3)
legend(0.53,4,c("线性","二次","三次","四次"),lty=c(1,2,3,4),col=c(1,2,3,4))
|