Skip to contents

Zonal logit with area-specific constants procedure

Usage

logit_zonal(starts3, dat, otherdat, alts, project, expname, mod.name)

Arguments

starts3

Starting values as a vector (num). For this likelihood, the order takes: c([area-specific parameters], [travel-distance parameters]).

The area-specific parameters and travel-distance parameters are of length (# of area-specific parameters)*(k-1) and (# of travel-distance variables respectively, where (k) equals the number of alternatives.

dat

Data matrix, see output from shift_sort_x, alternatives with distance.

otherdat

Other data used in model (as a list containing objects `intdat` and `griddat`).

For this likelihood, `intdat` are 'travel-distance variables', which are alternative-invariant values that are interacted with travel distance to form the cost portion of the likelihood. Each variable name therefore corresponds to data with dimensions (number of observations) by (unity), and returns a single parameter.

In `griddat` are 'area-specific parameters' that do not vary across alternatives, e.g. vessel gross tonnage. Each constant name therefore corresponds to data with dimensions (number of observations) by (unity), and returns (k-1) parameters where (k) equals the number of alternatives, as a normalization of parameters is needed as the probabilities sum to one. Interpretation is therefore relative to the first alternative.

For both objects any number of variables are allowed, as a list of matrices. Note the variables (each as a matrix) within `griddat` and `intdat` have no naming restrictions. 'Area-specific parametes ' may correspond to variables that impact average catches by location, or 'travel-distance variables' may be vessel characteristics that affect how much disutility is suffered by traveling a greater distance. Note in this likelihood the 'area-specific parameters' vary across observations but not for each location: they are allowed to affect alternatives differently due to the location-specific coefficients.

If there are no other data, the user can set `griddat` as ones with dimension (number of observations) by (unity) and `intdat` variables as ones with dimension (number of observations) by (unity).

alts

Number of alternative choices in model as length equal to unity (as a numeric vector).

project

Name of project

expname

Expected catch table

mod.name

Name of model run for model result output table

Value

ld: negative log likelihood

Graphical examples

Figure: logit_zonal_grid.png
Figure: logit_zonal_travel.png

Examples

if (FALSE) {
data(zi)
data(catch)
data(choice)
data(distance)
data(si)

optimOpt <- c(1000,1.00000000000000e-08,1,0)

methodname <- 'BFGS'

si2 <- sample(1:5,dim(si)[1],replace=TRUE)
zi2 <- sample(1:10,dim(zi)[1],replace=TRUE)

otherdat <- list(griddat=list(si=as.matrix(si),si2=as.matrix(si2)),
    intdat=list(zi=as.matrix(zi),zi2=as.matrix(zi2)))

initparams <- c(1.5, 1.25, 1.0, 0.9, 0.8, 0.75, -1, -0.5)

func <- logit_zonal

results <- discretefish_subroutine(catch,choice,distance,otherdat,
    initparams,optimOpt,func,methodname)
}