#################################### # 第4章 モデリング #################################### # AICによるBox-Cox変換パラメータの選択 par(mar=c(2,2,2,1)+0.1) data(WHARD) boxcox(WHARD) # AIC'の値のプロット z <- boxcox(WHARD) x <- seq(-1,1,length=21) plot(x,z$aic.z,col="blue",type="b",pch=20) # 補正前のAICの値 plot(z$aic,col="red",type="b",pch=20) # Sunspotデータとその対数変換 data(Sunspot) plot(Sunspot,ylim=c(0,200)) plot(Sunspot,log="y") # Box-Cox変換 boxcox(Sunspot) # # AIC'の値のプロット z <- boxcox(Sunspot) x <- seq(1,-1,length=21) plot(x,z$aic.z,col="blue",type="b",pch=20) plot(x,z$aic.z,col="blue",type="b",pch=20,ylim=c(2430,2490)) # 分布形状データ x <- c(-7.99,-4.01,-1.56,-0.99,-0.93,-0.80,-0.77,-0.71,-0.42,-0.02,0.65,0.78,0.80,1.14,1.15,1.24,1.29,2.91,4.84,6.82) y <- rep(0,length=20) plot(x,y,ann=F,bty="l",pch=19,yaxt="n") # 分布の同一性 x1 <- c(0.26,-1.33,1.07,1.78,-0.16,0.03,-0.79,-1.55,1.27,0.56,-0.95,0.60,0.27,1.67,0.60,-0.42,1.87,0.65,-0.75,1.52) x2 <- c(1.70,0.84,1.34,0.11,-0.88,-1.43,3.52,2.69,2.51,-1.83) y1 <- rep(0,length=20) y2 <- rep(1,length=10) plot(x1,y1,ann=F,bty="l",pch=19,yaxt="n",ylim=c(-1,2),xlim=c(-2,2)) par(new=T) plot(x2,y2,ann=F,bty="l",pch=19,yaxt="n",ylim=c(-1,2),xlim=c(-2,2),col=2) #################################### # 第5章 最小二乗法 #################################### # # 多項式回帰(データの作成とモデルの推定) x <- seq(0,1,length=21) y <- c(0.125, 0.156, 0.193, -0.032, -0.075, -0.064, 0.006, -0.135, 0.105, 0.131, 0.154, 0.114, -0.094, 0.215, 0.035, 0.327, 0.061, 0.383, 0.357, 0.605, 0.499) plot(x,y,pch=19,ylim=c(-0.2,0.6)) polreg(y,7) # # test data 2 x <- seq(0,1,length=20) z <- c(0.854,0.786,0.706,0.763,0.772,0.693,0.805,0.739,0.760,0.764,0.810,0.791,0.798,0.841,0.882,0.879,0.863,0.934,0.971,0.985) plot(x,z,pch=19,ylim=c(0.6,1.0)) polreg(z,9) # maxtempデータに三角関数モデルをあてはめる data(Temperature) # Highest Temperature Data of Tokyo lsqr(Temperature) # # AIC'の値のプロット z <- lsqr(Temperature) x <- seq(0,21,length=22) plot(x,z$aic,col="blue",type="b",pch=19) plot(x,z$aic,col="blue",type="b",pch=19,ylim=c(2430,2490)) #maxtempデータに多項式回帰モデル(最大次数7)をあてはめる par(mar=c(2,2,3.5,1)+0.1) data(Temperature) # Highest Temperature Data of Tokyo polreg(Temperature, 13) # # AIC'の値のプロット z <- polreg(Temperature,13) x <- seq(0,12,length=14) plot(x,z$aic,col="blue",type="b",pch=19) plot(x,z$aic,col="blue",type="b",pch=19,ylim=c(2450,2520)) # # Whardデータに多項式回帰モデル(最大次数14)をあてはめる data(WHARD) # Wholesale hardware data y <- log10(WHARD) polreg(y, 14)