GLMstd: Generalized Linear Model Based Standardization (GLMstd)

View source: R/GLMstd.R

GLMstdR Documentation

Generalized Linear Model Based Standardization (GLMstd)

Description

The GLMstd() function performs catch per unit effort (CPUE) standardization using generalized linear models (GLMs). The function allows the user to fit one or multiple probability distributions to the catch data while incorporating fishing effort as an offset term.

Several commonly used distributions in fisheries standardization are supported, including Gamma, Tweedie, Gaussian, Lognormal, Poisson, and Negative Binomial distributions. The function estimates standardized CPUE indices by accounting for the effects of year and other explanatory variables specified as fixed effects.

Usage

GLMstd(
  data,
  year_col,
  catch_col,
  effort_col,
  fixed_effects,
  family_type,
  link_function = NULL,
  maxit = 100
)

Arguments

data

A data frame containing the columns of year, catch, effort, and fixed effects. See the example dataset GLMstd_dataset.

year_col

Specify the year column name (eg. "Year").

catch_col

Specify the catch column name (eg. "Catch").

effort_col

Specify the effort column name (eg. "Effort").

fixed_effects

Specify the column names of the fixed effects in vector format (eg. c("Year","Gear")).

family_type

Select one or more distributions from the list: "gamma", "tweedie", "gaussian", "lognormal", "poisson", "nbinom".

link_function

Select any of the given link functions: "log", "identity", "inverse", "logit", "probit", "cloglog". If NULL then by default it will take "log".

maxit

Maximum number of iterations. Default 100.

Value

When a single distribution is selected, the function returns a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE, together with plots of Nominal and Standardized CPUE versus Total Catch.

When multiple distributions are selected, the function provides a comparative summary table and corresponding graphical displays for all selected distributions.

For each of the cases AIC and SBC/BIC values will be provided.

Note

If catch column value of has zero value(s) then they will be replaced by minimum value of the catch column (in gamma and lognormal case) and further if effort column has zero values then the corresponding rows will be removed for doing the CPUE calculation.

References

Varghese, E., Jayasankar, J., Sathianandan, T.V., Kuriakose, S., Mini, K.G., Gills, R., Muktha, M., Sreepriya, V. and Gopalakrishnan, A. (2023). A note on different methods for standardization of fishing efforts. Marine Fisheries Information Service, Technical and Extension Series, (257), 7-17.

Maunder, M.N. and Punt, A.E. (2004). Standardizing catch and effort data: a review of recent approaches. Fisheries Research, 70, 141-159.

Nelder, J.A. and Wedderburn, R.W.M. (1972). Generalised linear models. J. R. Statist. Soc. A 137, 370-384.

Acknowledgements: The authors sincerely thank the Director, ICAR–Central Marine Fisheries Research Institute (ICAR-CMFRI), Kochi, for providing the necessary facilities and institutional support. The authors also gratefully acknowledge the support provided by the Indian Council of Agricultural Research (ICAR), Department of Agricultural Research and Education (DARE), Government of India, through the ICAR-National Fellow Project.

Examples

## Not run: 
library(FESta)
data('GLMstd_dataset')
# Single family
result1 <- GLMstd(
  data          = GLMstd_dataset,
  year_col="Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = "gamma"
)
print(result1)

# Multiple families - comparison table + tiled plots
library(FESta)
data('GLMstd_dataset')
result2 <- GLMstd(
  data          = GLMstd_dataset,
  year_col      = "Year",
  catch_col     = "Catch",
  effort_col    = "Effort",
  fixed_effects = c("Year", "Gear"),
  family_type   = c("gamma", "lognormal", "tweedie", "poisson", "nbinom","gaussian")
)
print(result2)

## End(Not run)

FESta documentation built on Aug. 20, 2026, 5:10 p.m.

Related to GLMstd in FESta...