Latest update on 2012年3月5日 (月) at 10:54:46.
x <- 1:10
y <- c(1,2,4,8,8,6,4,3,2,1)
plot(x, y) # 上に凸の2次曲線風の散布図
(r1 <- lm(y ~ I(x*x) + x)) # 多項式回帰
func <- function(pp, x) { pp[1] + pp[2]*x^2 + pp[3]*x } # 2次曲線の定義
curve(func(coef(r1), x), 1, 10, add=TRUE, lty=1, col="blue") # 青実線で多項式回帰の近似曲線描画
func2 <- function(pp, data) { sum((func(pp, data[,1])-data[,2])^2) } # 残差2乗和を計算する関数定義
ip <- c(1,1,1) # 恣意的な初期パラメータ設定
(r2 <- optim(ip, func2, gr=NULL, data=cbind(x,y), method="BFGS")) # 残差2乗和を最小化するパラメータ推定
curve(func(r2$par, x), 1, 10, add=TRUE, lty=2, col="red") # 赤破線で残差2乗和を最小化する曲線描画
▼前【2126】(週明け(2012年2月27日) ) ▲次【2128】(奴が帰ってきた日(2012年2月29日) ) ●Top
△Read/Write COMMENTS