nls関数とoptim関数の結果の比較



optim関数に関する記事は本日の下の方こちら

nls関数に関する記事は昨日こちら

指数関数近似にて、図の黒がデータ、赤がnlsのデフォルト実行結果、青がoptimのデフォルト実行結果(みづらい向きには、ファイルをローカルに保存すると多少改善します)

y=a¥times e^{-b ¥times x}+cのa,b,cの推定結果は

nlsが、0.3169606 0.2442861 3.560916

optimが、0.3169682 0.2442764 3.5609289

実行ログ


> plot(datax,datay,cex=.01,xlim=c(-0.2,2.5),ylim=c(-0.1,1.3),col="black")
> par(new=T)
> estx<-c(-50:125)/50
> esty<-(1-0.3169606)*(1-0.2442861)*exp(-3.560916*estx)+0.3169606
> plot(estx,esty,cex=.5,col="red",xlim=c(-0.2,2.5),ylim=c(-0.1,1.3))
> par(new=T)
> estx<-c(-50:125)/50
> estx<-estx+0.005
> esty<-(1-0.3169682)*(1-0.2442764)*exp(-3.5609289*estx)+0.3169682
> plot(estx,esty,cex=.5,col="blue",xlim=c(-0.2,2.5),ylim=c(-0.1,1.3))