Hi
the integer values in the vectors sim and obs are dates
when I set sim <- f(TS0,TS1,TS2,TB0,TB1,TB2) my A,..,F below
then TS0 and TB0 are depend (and so on)
the main thing in f(...) is something like
for (i in c(1:length(temperature))) {
Temp <- temperature[i]
if (DS < 0) {
DS <- DS + max(Temp-TB0,0) / TS0
} else if (DS < 1) {
... date0 <- i
DS <- DS + max(Temp-TB1,0) / TS1
} else if (DS < 2) {
... date1 <- i
DS <- DS + max(Temp-TB2,0) / TS2
} else {
... date2 <- i
break
}
}
this produced a vector sim = c(date0,date1,date2,...)
now I would like to minimize RMSE(sim,obs) or something like that
thx
Christof
for brute force I would do something like
obs <- ...
act <- 1000
for (TS0 in seq(50,100,10))
for (TS1 in seq(750,850,10))
for (TS2 in seq(400,600,10))
for (TB0 in c(5:7))
for (TB1 in c(5:7))
for (TB2 in c(4:9)) {
sim <- foosim(dat,TS0,TS1,TS2,TB0,TB1,TB2)
rmse <- sqrt(mean((sim - obs)^2, na.rm = TRUE))
if (rmse < act) {
print(paste(rmse,TS0,TS1,TS2,TB0,TB1,TB2))
act <- rmse
}
}
Am 23-07-2013 13:20, schrieb Enrico Schumann:
On Tue, 23 Jul 2013, Christof Kluß <ckl...@email.uni-kiel.de> writes:
I have "observations" obs <- (11455, 11536, 11582, 11825, 11900, ...)
and a simulation function f(A,B,C,D,E,F), so sim <- f(A,B,C,D,E,F)
e.g. sim = c(11464, 11554, 11603, 11831, 11907, ...)
now I would like to fit A,B,C,D,E,F such that "obs" and f(A,B,C,D,E,F)
match as well as possible. A,..,F should be integers and have bounds.
How would you solve this problem without bruteforce in an acceptable time?
That depends on what your "simulation function" looks like. Could you
post a (small) self-contained example?
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.