`get_start.Rd`

Return the null deviance, starting mu and lambda max values for initialization. For internal use only.

```
get_start(
x,
y,
weights,
family,
intercept,
is.offset,
offset,
exclude,
vp,
alpha
)
```

- x
Input matrix, of dimension

`nobs x nvars`

; each row is an observation vector. If it is a sparse matrix, it is assumed to be unstandardized. It should have attributes`xm`

and`xs`

, where`xm(j)`

and`xs(j)`

are the centering and scaling factors for variable j respsectively. If it is not a sparse matrix, it is assumed to be standardized.- y
Quantitative response variable.

- weights
Observation weights.

- family
A description of the error distribution and link function to be used in the model. This is the result of a call to a family function. (See

`family`

for details on family functions.)- intercept
Does the model we are fitting have an intercept term or not?

- is.offset
Is the model being fit with an offset or not?

- offset
Offset for the model. If

`is.offset=FALSE`

, this should be a zero vector of the same length as`y`

.- exclude
Indices of variables to be excluded from the model.

- vp
Separate penalty factors can be applied to each coefficient.

- alpha
The elasticnet mixing parameter, with \(0 \le \alpha \le 1\).

This function is called by `glmnet.path`

for null deviance, starting mu
and lambda max values. It is also called by `glmnet.fit`

when used
without warmstart, but they only use the null deviance and starting mu values.

When `x`

is not sparse, it is expected to already by centered and scaled.
When `x`

is sparse, the function will get its attributes `xm`

and
`xs`

for its centering and scaling factors.

Note that whether `x`

is centered & scaled or not, the values of `mu`

and `nulldev`

don't change. However, the value of `lambda_max`

does
change, and we need `xm`

and `xs`

to get the correct value.