glmnet
bigGlm.Rd
Fit a generalized linear model as in glmnet
but unpenalized. This
allows all the features of glmnet
such as sparse x, bounds on
coefficients, offsets, and so on.
bigGlm(x, ..., path = FALSE)
input matrix
Most other arguments to glmnet that make sense
Since glmnet
does not do stepsize optimization, the Newton
algorithm can get stuck and not converge, especially with unpenalized fits. With path=TRUE
,
the fit computed with pathwise lasso regularization. The current implementation does this twice:
the first time to get the lambda sequence, and the second time with a zero attached to the end).
Default is path=FALSE
.
It returns an object of class "bigGlm" that inherits from class
"glmnet". That means it can be predicted from, coefficients extracted via
coef
. It has its own print method.
This is essentially the same as fitting a "glmnet" model with a single value
lambda=0
, but it avoids some edge cases. CAVEAT: If the user tries a
problem with N smaller than or close to p for some models, it is likely to
fail (and maybe not gracefully!) If so, use the path=TRUE
argument.
print
, predict
, and coef
methods.
# Gaussian
x = matrix(rnorm(100 * 20), 100, 20)
y = rnorm(100)
fit1 = bigGlm(x, y)
print(fit1)
#>
#> Call: bigGlm(x = x, y = y)
#>
#> Df %Dev Lambda
#> 1 20 8.81 0
fit2=bigGlm(x,y>0,family="binomial")
print(fit2)
#>
#> Call: bigGlm(x = x, y = y > 0, family = "binomial")
#>
#> Df %Dev Lambda
#> 1 20 5.65 0
fit2p=bigGlm(x,y>0,family="binomial",path=TRUE)
print(fit2p)
#>
#> Call: bigGlm(x = x, y = y > 0, family = "binomial", path = TRUE)
#>
#> Df %Dev Lambda
#> 1 20 5.65 0