Return minimum value in given array. Behavior undefined if array length = 0.
Return maximum value in given array. Behavior undefined if array length must = 0.
range step first last returns array [|first; first +. step; ... |], where last element will be less than or equal to
first > last,
step subtracted and last element must be greater than or equal to
last. In either case,
step must be positive.
Pseudomedian is the median of all pairwise averages of values in given array (not including self-pairs). Behavior undefined if array length = 0.
Median absolute deviation (MAD). Behavior undefined if array length = 0.
m should be arranged such that
m.(i).(j) is the
ith measurement in experiment
j. Behavior undefined if
m is not rectangular.
Return histogram of values using
cmp (default =
Pervasives.compare) for comparison.
prediction_values tp tn fp fn takes 4 arguments: the number of true-positives
fp, and false-negatives
fn. It returns a quadruple of 4 measures of prediction accuracy: sensitivity, specificity, positive prediction accuracy, and negative prediction accuracy.
pearson arr1 arr2 computes the Pearson product-moment correlation coefficient of two float arrays. See wikipedia for the formula. NB: everything is divided by n, not by n - 1.
rank arr returns an array of ranked values, where ties are given the mean of what the rank would otherwise be. For example,
rank [|2.;1.;2.|] returns
spearman arr1 arr2 computes the Spearman rank correlation coefficient of two float arrays. See wikipedia for the formula. Essentially, it ranks the two arrays using
rank, and then applies the
Lower tail quantile for standard normal distribution function.
This function returns an approximation of the inverse cumulative standard normal distribution function. I.e.,
ltqnorm p returns an approximation to the X satisfying p = Pr
Z <= X where Z is a random variable from the standard normal distribution.
The algorithm uses a minimax approximation by rational functions and the result has a relative error whose absolute value is less than 1.15e-9.
Performs the wilcoxon rank sum on two float arrays and returns the p-value. This assumes a two-tailed distribution.
wilcoxon_rank_sum ~alpha=(float) arr1 arr2 performs the Wilcoxon rank sum test on two arrays with an optional argument alpha, set to 0.05 by default. If the null hypothesis is rejected -- that is, there is no significant difference between the two arrays, wilcoxon_rank_sum returns false. NB: this is for two-tailed distributions.
row m i returns the
ith row of matrix
m. By convention this is
m.(i), but a copy is returned. Raise
m does not contain at least
column m i extracts the
ith column of matrix
Failure if every row of
m does not have at least
i+1 columns. See also
transpose m transpose the given matrix
m. If the number of rows
Array.length m or the number of columns
a.(0) is 0, return the empty matrix
[| |]. Behavior undefined if
m is not rectangular.
idxsort cmp a is like
a is unaltered, and instead an array of the indices in sorted order is returned. E.g.
idxsort compare [|'c'; 'd'; 'b'|] will return
[|2; 0; 1|].
find_regions ~max_gap pred a returns an array of
(first,last) index pairs denoting boundaries (inclusive) of regions found in
a. Each region is the longest contiguous sequence of values in
pred. A maximum of
max_gap values within the region are allowed to fail
pred but still get counted as if they had satisfied it. For example,
find_regions ~max_gap:1 (fun k -> k >= 3) [|1; 3; 3; 2; 3; 1; 1; 3; 3|] will return
[|(1,4); (7,8)|]. Default
max_gap = 0, raise
Failure if set to negative value.
val find_min_window : ?init_direction:string -> 'a array -> ( int -> int -> bool ) -> int -> 'a array
find_min_window a pred i finds the minimum sized window within
a centered around index
i that satisfies
pred is passed the window's start and end indices. Successively larger windows are created starting from [i, i] and the first one to satisfy
pred is returned. An empty array is returned if the maximum window size, i.e. all of
a, is reached and
pred still fails. Raise
i is not a valid index for
The first window tried is [i, i], by default the second is [i, i+1], the third [i-1, i+1], the fourth [i-1, i+2], and so on. The optional
init_direction must be either "fwd" or "rev". If "fwd", which is the default, the window size is initially increased in the forward direction. If "rev", the second window tried will be [i-1, i]. If the array's boundary is reached on either side, the size continues to be increased by incrementing on the opposing side.
epsilon f init fin applies
f n fin to all numbers from
fin and adds them up.