Type: Package
Title: Simplicially Constrained Regression Models for Proportions
Version: 1.0
Date: 2025-11-16
Author: Michail Tsagris [aut, cre]
Maintainer: Michail Tsagris <mtsagris@uoc.gr>
Depends: R (≥ 4.0)
Imports: quadprog, Rfast, Rfast2
Description: Simplicially constrained regression models for proportions in both sides. The constraint is always that the betas are non-negative and sum to 1. References: Iverson S.J.., Field C., Bowen W.D. and Blanchard W. (2004) "Quantitative Fatty Acid Signature Analysis: A New Method of Estimating Predator Diets". Ecological Monographs, 74(2): 211-235. <doi:10.1890/02-4105>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
NeedsCompilation: no
Packaged: 2025-11-16 11:01:55 UTC; mtsag
Repository: CRAN
Date/Publication: 2025-11-20 14:40:01 UTC

Simplicially Constrained Regression Models for Proportions

Description

Simplicially Constrained Regression Models for Proportions. The constraint is always that the betas are non-negative and sum to 1.

Details

Package: scpropreg
Type: Package
Version: 1.0
Date: 2025-11-16

Maintainers

Michail Tsagris <mtsagris@uoc.gr>.

Author(s)

Michail Tsagris mtsagris@uoc.gr

References

Iverson Sara J., Field Chris, Bowen W. Don and Blanchard Wade (2004) Quantitative Fatty Acid Signature Analysis: A New Method of Estimating Predator Diets. Ecological Monographs, 74(2): 211-235.


Positive and unit sum constrained least squares

Description

Positive and unit sum constrained least squares.

Usage

pcls(y, x)
mpcls(y, x)

Arguments

y

The response variable. For the pcls() a numerical vector with observations, but for the mpcls() a numerical matrix.

x

A matrix with independent variables, the design matrix.

Details

The constraint is that all beta coefficients are positive and sum to 1. That is min \sum_{i=1}^n(y_i-\bm{x}_i\top\bm{\beta})^2 such that 0\leq \beta_j \leq 1 and \sum_{j=1}^d\beta_j=1. The pcls() function performs a single regression model, whereas the mpcls() function performs a regression for each column of y. Each regression is independent of the others.

Value

A list including:

coefficients

A numerical matrix with the positively constrained beta coefficients.

value

A numerical vector with the mean squared error.

Author(s)

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

See Also

kld, mkld

Examples

x <- matrix(runif(30 * 8), ncol = 30)
x <- t( x / rowSums(x) )
y <- runif(30)
y <- y / sum(y)
pcls(y, x)

QFASA diet estimates for many predators using various distances

Description

QFASA diet estimates for many predators using various distances.

Usage

mkld(Y, x, tol = 1e-8, maxit = 50000, alpha = 0.1)
mait(Y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
mlsq(Y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
mlr(Y, x, tol = 1e-8, maxit = 100)

Arguments

Y

The response variable, a matrix with values between 0 and 1 that sum to 1. For some functions, zero values are allowed. Every column corresponds to the food composition of a predator. The column-wise sums are equal to 1.

x

A matrix with independent variables, values between 0 and 1. Each column contains a prey's diet. The column-wise sums are equal to 1.

tol

The tolerance value to terminate the algorithm.

maxit

The maximum iterations allowed.

alpha

The step-size parameter of the fixed points iteration algorithm. This is similar to the \eta parameter in the gradient descent algorithm.

Details

The function estimates the betas that minimize a distance. The fitted values are linear constraints of the observed xs. The constraint is that all beta coefficients are positive and sum to 1. That is \hat{y}_i= \sum_{j=1}\bm{x}_{ij}\beta_j such that 0\leq \beta_j \leq 1 and \sum_{j=1}^d\beta_j=1.

Value

A list including:

coefficients

A numerical matrix with the positively constrained beta coefficients.

value

A numerical vector with the value of the objective function.

iters

The number of iterations required until termination of the algorithm.

Author(s)

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

References

Iverson Sara J., Field Chris, Bowen W. Don and Blanchard Wade (2004) Quantitative Fatty Acid Signature Analysis: A New Method of Estimating Predator Diets. Ecological Monographs, 74(2): 211-235.

See Also

kld, mpcls

Examples

x <- matrix(runif(30 * 6), ncol = 30)
x <- t( x / rowSums(x) )
Y <- matrix(runif(30 * 10), ncol = 30)
Y <- t( Y / rowSums(Y) )
mkld(Y, x)

QFASA diet estimates using various distances

Description

QFASA diet estimates using various distances.

Usage

kld(y, x, tol = 1e-8, maxit = 50000, alpha = 0.1)
ait(y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
lsq(y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
jsd(y, x, tol = 1e-8, maxit = 300000, alpha = 0.01)
lr(y, x, tol = 1e-8, maxit = 100)

Arguments

y

The response variable. The predator's food composition. A vector with values between 0 and 1 that sum to 1. For some functions, zero values are allowed.

x

A matrix with independent variables, values between 0 and 1. Each column contains a prey's diet. The column-wise sums are equal to 1.

tol

The tolerance value to terminate the algorithm.

maxit

The maximum iterations allowed.

alpha

The step-size parameter of the fixed points iteration algorithm. This is similar to the \eta parameter in the gradient descent algorithm.

Details

The function estimates the betas that minimize a distance. The fitted values are linear constraints of the observed xs. The constraint is that all beta coefficients are positive and sum to 1. That is \hat{y}_i= \sum_{j=1}\bm{x}_{ij}\beta_j such that 0\leq \beta_j \leq 1 and \sum_{j=1}^d\beta_j=1.

Value

A list including:

coefficients

A numerical matrix with the positively constrained beta coefficients.

value

A numerical vector with the value of the objective function.

iters

The number of iterations required until termination of the algorithm.

Author(s)

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

References

Iverson Sara J., Field Chris, Bowen W. Don and Blanchard Wade (2004) Quantitative Fatty Acid Signature Analysis: A New Method of Estimating Predator Diets. Ecological Monographs, 74(2): 211-235.

See Also

mkld, pcls

Examples

x <- matrix(runif(30 * 8), ncol = 30)
x <- t( x / rowSums(x) )
y <- runif(30)
y <- y / sum(y)
kld(y, x)
ait(y, x)
lsq(y, x)
lr(y, x)