optim.thresh: Estimation of Optimal Threshold Values
Description
optim.thresh estimates optimal threshold values
given eight methods.
Note: this method will
exclude any missing data.
Usage
optim.thresh(obs, pred, threshold = 101)
Arguments
obs
a vector of observed values which must be 0
for absences and 1 for occurrences
pred
a vector of the same length as obs
representing the predicted values. Values must be between
0 & 1 representing a likelihood.
threshold
a single integer value representing the
number of equal interval threshold values between 0 & 1
Value
Returns a list of the optimal thresholds for the different
methods. If the list item is a single value, that is the
optimal threshold but if two values are reported for the
method, this represents the range in thresholds that are
equal for that threshold selection method.
The
returned list includes the single or range in thresholds
selected using the following methods:
min.occurence.predictionis the minimum prediction
for the occurrence (presence) records
mean.occurence.predictionis the mean prediction for
the occurrence (presence) records
'10.percent.omission'is the threshold value or
range in values that excludes approx. 10 percent of the
occurrence records
'sensitivity=specificity'is the
threshold value or range in values where sensitivity is
equal to sensitivity
'max.sensitivity+specificity'is the threshold value
or range in values that maximizes sensitivity plus
specificity
maxKappais the threshold value or
range in values with the maximum Kappa statistic
max.prop.correctis the threshold value or range in
values with the maximum proportion of presence and absence
records correctly identified
min.ROC.plot.distanceis the threshold value or
range in values where the ROC curve is closest to point
(0,1) (or perfect fit)
#create some dataobs = c(sample(c(0,1),20,replace=TRUE),NA); obs = obs[order(obs)]
pred = runif(length(obs),0,1); pred = pred[order(pred)]
#calculate the optimal thresholdsoptim.thresh(obs,pred)