設問1
フィッティングのための初期値を求める。
t <- c(2.1, 4.1, 6.1, 8.1, 10.1, 14.1, 18.1, 22.1, 30.1, 45.2, 60.2,
120.3, 180.5, 241.8, 470, 948, 1423, 2187, 2831, 4305)
conc <- c(20.5, 17.5, 14.5, 12.5, 13.0, 12.0, 11.0, 9.1, 9.6, 5.6, 4.9,
3.2, 2.0, 1.8, 0.90, 0.85, 0.70, 0.45, 0.43, 0.39)
logc <- log(conc)
lm(logc[15:20] ~ t[15:20])
Call:
lm(formula = logc[15:20] ~ t[15:20])
Coefficients:
(Intercept) t[15:20]
-0.0399743 -0.0002441
exp(-0.0399)
[1] 0.9608855
beta <- function(t){exp(-0.0399743-t)}
ac <- conc[1:14] - beta(conc[1:14])
lm(ac ~ t[1:14])
Call:
lm(formula = ac ~ t[1:14])
Coefficients:
(Intercept) t[1:14]
13.19420 -0.06273
設問2
2,3exp式でフィッティングし、あてはめの良さをくらべる。
e2 <- nls(conc ~ a*exp(-alpha*t)+b*exp(-beta*t),
start=list(a=16,alpha=0.028,b=2,beta=0.000637))
e3 <- nls(conc ~ a*exp(-alpha*t)+b*exp(-beta*t)+c*exp(-gamma*t),
start=list(a=16,alpha=0.13,b=8.4,beta=0.0114,c=0.96,gamma=0.000239))
あてはめのよさは赤池の情報量基準で。Rの場合はAIC関数でよい。
AIC(e2) # [1] 56.79388
AIC(e3) # [1] 44.93942
というわけで、exp3式のほうがあてはまりがよい。
設問3
skip