Solves `min ||Xq - y||^2 s.t. q >= 0` for each species, spatially
deconvolving catch into per-cell CPUE estimates. More statistically
rigorous than the weighted method but requires an overdetermined system
(rule of thumb: at least 3x more trips than H3 cells).
Usage
run_nnls_cpue(trips, top_n, min_trips)
Arguments
- trips
Combined effort + catch tibble from [join_effort_catch()].
- top_n
Integer. Number of top species to model.
- min_trips
Integer. Minimum unique trips per H3 cell to retain.
Value
A named list with elements `cpue` (tibble) and `species`
(character vector).