# Entire regularization path of non-negative penalized generalized linear model for binomial family using using Multiplicative Iterative Algorithm

### Description

The function computes coefficients of a penalized generalized linear model subject to non-negativity constraints for binomial family using Multiplicative Iterative Algorithm for a sequence of lambda values. The function can also be used to obtain coefficient estimates for a given lambda value. Currently lasso and elastic net penalty are supported.

### Usage

1 2 |

### Arguments

`x` |
x is matrix of order n x p where n is number of observations and p is number of predictor variables. Rows should represent observations and columns should represent predictor variables. |

`y` |
y is a vector of response variable of order n x 1. y should follow binomial distribution and y should be a vector of 0 and 1. |

`lambda` |
The value of lambda for which coefficients are desired. The value of path must be FALSE in this case. |

`intercept` |
If TRUE, model includes intercept, else the model does not have intercept. |

`normalize` |
If TRUE, columns of x matrix are norma lized with mean 0 and norm 1 prior to fitting the model. The coefficients at end are returned on the original scale. Default is normalize = TRUE. |

`tau` |
Elastic net parameter, |

`tol` |
Tolerance criteria for convergence of solutions. Default is tol = 1e-6. |

`maxiter` |
Maximum number of iterations permissible for solving optimization problem for a particular lambda. Default is 10000. Rarely you need to change this to higher value. |

`nstep` |
Number of steps from maximum value of lambda to minimum value of lambda. Default is nstep = 100. |

`min.lambda` |
Minimum value of lambda. Default is min.lambda=1e-4. |

`eps` |
A small value below which a coefficient would be considered as zero. |

`path` |
Logical. If path=TRUE, entire regularization path will be obtained for a sequence of lambda values which are calculated automatically. To get coefficient estimates for a single lambda value, set path=FALSE with lambda=value. Default is path=TRUE. |

`SE` |
logical. If SE=TRUE, standard errors are produced for estimated coefficient at a given lambda. Standard errors are not produced if path=TRUE. Default is SE=FALSE. |

### Value

An object of class ‘nnlasso’ for which plot, predict and coef method exists. The object has following components:

`beta0` |
A vector of order nstep of intercept estimates. Each value denote an estimate for a particular lambda. Corresponding lambda values are available in ‘lambdas’ element of the ‘nnlasso’ object. |

`coef` |
A matrix of order nstep x p of slope estimates. Each row denotes solution for a particular lambda. Corresponding lambda values are available in ‘lambdas’ element of the ‘nnlasso’ object. |

`lambdas` |
Sequence of lambda values for which coefficients are obtained |

`L1norm` |
L1norm of the coefficients |

`norm.frac` |
Fractions of norm computed as L1 norm at current lambda divided by maximum L1 norm |

`lambda.iter` |
Number of iterations used for different lambdas |

`of.value` |
Objective function values |

`normx` |
Norm of x variables |

`se` |
The standard errors of coefficient estimates |

### Author(s)

Baidya Nath Mandal and Jun Ma

### References

Mandal, B.N. and Ma, J. (2016). L1 regularized multiplicative iterative path algorithm for non-negative generalized linear models.