Usted probablemente puede calcular cualquier predicciones desea con poco de álgebra. Vamos a considerar el ejemplo de conjunto de datos,
data(sex2)
fm <- case ~ age+oc+vic+vicl+vis+dia
fit <- logistf(fm, data=sex2)
Un diseño de la matriz es la única pieza que falta para calcular probabilidades pronosticadas una vez que obtenemos los coeficientes de regresión, dado por
betas <- coef(fit)
Por lo tanto, vamos a tratar de obtener la predicción de los datos observados, en primer lugar:
X <- model.matrix(fm, data=sex2) # add a column of 1's to sex2[,-1]
pi.obs <- 1 / (1 + exp(-X %*% betas)) # in case there's an offset, δ, it
# should be subtracted as exp(-Xβ - δ)
Podemos comprobar que obtenemos el resultado correcto
> pi.obs[1:5]
[1] 0.3389307 0.9159945 0.9159945 0.9159945 0.9159945
> fit$predict[1:5]
[1] 0.3389307 0.9159945 0.9159945 0.9159945 0.9159945
Ahora, usted puede poner en el diseño de la matriz, X
, valores que están interesados en. Por ejemplo, con todas las covariables conjunto a uno
new.x <- c(1, rep(1, 6))
1 / (1 + exp(-new.x %*% betas))
obtenemos una probabilidad individual de 0.804, mientras que cuando todas las variables de control se establece en 0 (new.x <- c(1, rep(0, 6))
), la probabilidad estimada es 0.530.