GAMstd: Generalized Additive Model Based Standardization (GAMstd)

View source: R/GAMstd.R

GAMstdR Documentation

Generalized Additive Model Based Standardization (GAMstd)

Description

Generalized Additive Models (GAMs) provide a flexible approach for fisheries CPUE standardization by combining linear effects of categorical variables with smooth, non-parametric effects of continuous environmental covariates.

In this implementation, categorical variables such as year, gear, area, or season are incorporated as fixed effects, while continuous variables such as sea surface temperature (SST), depth, salinity, or other environmental covariates are modeled using spline-based smooth functions.

The fitted GAM may be expressed as:

g(\mu_i) = \beta_0 + \sum_{k=1}^{p}\beta_kX_{ik} + \sum_{j=1}^{q}f_j(Z_{ij}) + \log(E_i)

where g(.) is the link function, X_{ik} represents categorical predictors, f_j(.) are smooth functions of continuous covariates, E_i denotes fishing effort, and \mu_i is the expected catch.

The offset term adjusts the expected catch for differences in fishing effort, allowing predictions to be standardized to a common unit of effort resulting in standardized predictions on a common unit-effort basis.

Usage

GAMstd(
  data,
  year_col,
  catch_col,
  effort_col,
  fixed_effects,
  smooth_terms,
  k = NULL,
  log_transform = TRUE
)

Arguments

data

A data frame containing the columns of year, catch, effort, fixed effects and smooth terms. See the example dataset GAMstd_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")).

smooth_terms

Specify the column names of smooth terms in vector format (eg. c("SST","Depth")).

k

Integer value for smooth terms. If NULL, an appropriate value is selected automatically.

log_transform

Specify TRUE or FALSE. By default set TRUE. It ensures CPUE values will be shown after required log transformation of data.

Value

The output includes AIC and SBC/BIC values, a summary table containing Year, Total Catch, Nominal CPUE, and Standardized CPUE. In addition, two plots are produced: Nominal CPUE versus Total Catch and Standardized CPUE versus Total Catch.

Note

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

References

Hastie, T., & Tibshirani, R. (1986). Generalized additive models. Statistical science, 1(3), 297-310.

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

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("GAMstd_dataset")
result<-GAMstd(data=GAMstd_dataset,year_col='Year',catch_col='Catch',
effort_col='Effort',fixed_effects = c("Year", "Gear"),
smooth_terms = c("SST", "Depth"), k=10,log_transform = TRUE)
print(result)

## End(Not run)

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

Related to GAMstd in FESta...