optim_pheno | R Documentation |
Interface of optimization functions for double logistics and other parametric curve fitting functions.
optim_pheno(
prior,
sFUN,
y,
t,
tout,
method,
w,
nptperyear,
ylu,
iters = 2,
wFUN = wTSM,
lower = -Inf,
upper = Inf,
constrain = TRUE,
verbose = FALSE,
...,
use.cpp = FALSE
)
prior |
A vector of initial values for the parameters for which optimal
values are to be found. |
sFUN |
The name of fine curve fitting functions, can be one of |
y |
Numeric vector, vegetation index time-series |
t |
Numeric vector, |
tout |
Corresponding doy of prediction. |
method |
The name of optimization method to solve fine fitting, one of
|
w |
(optional) Numeric vector, weights of |
nptperyear |
Integer, number of images per year, passed to |
ylu |
|
iters |
How many times curve fitting is implemented. |
wFUN |
weights updating function, can be one of 'wTSM', 'wChen' and 'wBisquare'. |
lower , upper |
vectors of lower and upper bounds, replicated to be as long as
|
constrain |
boolean, whether to use parameter constrain |
verbose |
Whether to display intermediate variables? |
... |
other parameters passed to |
use.cpp |
(unstable, not used) boolean, whether to use c++ defined fine
fitting function? If |
A fFIT()
object, with the element of:
tout
: The time of output curve fitting time-series.
zs
: Smoothed vegetation time-series of every iteration.
ws
: Weights of every iteration.
par
: Final optimized parameter of fine fitting.
fun
: The name of fine fitting.
fFIT()
, stats::nlminb()
# library(magrittr)
# library(purrr)
# simulate vegetation time-series
t <- seq(1, 365, 8)
tout <- seq(1, 365, 1)
FUN = doubleLog_Beck
par = c( mn = 0.1 , mx = 0.7 , sos = 50 , rsp = 0.1 , eos = 250, rau = 0.1)
par0 = c( mn = 0.15, mx = 0.65, sos = 100, rsp = 0.12, eos = 200, rau = 0.12)
y <- FUN(par, t)
methods = c("BFGS", "ucminf", "nlm", "nlminb")
opt1 <- I_optim(par0, doubleLog_Beck, y, t, methods) # "BFGS", "ucminf", "nlm",
# opt2 <- I_optimx(prior, fFUN, y, t, tout, )
sFUN = "doubleLog.Beck" # doubleLog.Beck
r <- optim_pheno(par0, sFUN, y, t, tout, method = methods[4],
nptperyear = 46, iters = 2, wFUN = wTSM, verbose = FALSE, use.julia = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.