Calculate the best score according to a given evaluation method
Find.Optim.Stat is an internal biomod2 function
to find the threshold to convert continuous values into binary ones leading
to the best score for a given evaluation metric.
Find.Optim.Stat(Stat='TSS',
Fit,
Obs,
Nb.thresh.test = 100,
Fixed.thresh = NULL)Stat |
either 'ROC', TSS', 'KAPPA', 'ACCURACY', 'BIAS', 'POD', 'FAR', 'POFD', 'SR', 'CSI', 'ETS', 'HK', 'HSS', 'OR' or 'ORSS' |
Fit |
vector of fitted values (continuous) |
Obs |
vector of observed values (binary) |
Nb.thresh.test |
integer, the numer of thresholds tested over the range of fitted value |
Fixed.thresh |
integer, if not |
Please refer to BIOMOD_Modeling to get more information about this metrics.
If you give a Fixed.thresh, no optimisation will be done. Only the score for this threshold will be returned.
A 1 row x 4 column matrix :
best.iter: the best score obtained for chosen statistic
cutoff: the associated cut-off used for transform fitted vector into binary
sensibility: the sensibility with this threshold
specificity: the specificity with this threshold
Damien Georges
a <- sample(c(0,1),100, replace=TRUE)
##' random drawing
b <- runif(100,min=0,max=1000)
Find.Optim.Stat(Stat='TSS',
Fit=b,
Obs=a)
##' biased drawing
BiasedDrawing <- function(x, m1=300, sd1=200, m2=700, sd2=200){
return(ifelse(x<0.5, rnorm(1,m1,sd1), rnorm(1,m2,sd2)))
}
c <- sapply(a,BiasedDrawing)
Find.Optim.Stat(Stat='TSS',
Fit=c,
Obs=a,
Nb.thresh.test = 100)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.