Para o estimador de máxima verossimilhança de \(\mu\) e sua distribuição assintótica, em virtude de tempo computacional mas ainda assim exemplificar o processo, realizou-se a estimação utilizando apenas 9 covariáveis: X26, tamanho, X73, X63, X32, X48, X96, X5, X83.
library(data.table)
# Carregando dados
train.svdmu2 <- read.csv("train.svdmu2.csv")
# Função logistica (inverso da logito)
logistic <- function(eta) exp(eta) / (1 + exp(eta))
# Log-verossimilhança
log.L <- function(beta, x, y) {
eta <- x %*% beta
p <- logistic(eta)
sum(dbinom(y, 1, p, log=T))
}
######
Xl <- train.svdmu2[,which(names( train.svdmu2) %in% c("X26", "tamanho", "X73", "X63", "X32",
"X48", "X96", "X5", "X83"))]
Xl <- cbind(1, Xl)
# preditor
X = as.matrix(Xl)
# var dep
Y = as.numeric(train.svdmu2$label)
## Ajustando o modelo usando a função `optim`
aux <- optim(rep(0,ncol(X)), function(.) -log.L(., x=X, y=Y),
hessian=TRUE, control = list(trace = FALSE))
beta.hat <- aux$par # Estimativa dos parâmetros
beta.hat
## [1] -1.282695356 -16.966695590 14.255230948 -8.925984356 -0.251629158
## [6] -4.304729410 11.633005768 15.174995702 7.959575629 0.009583441
Utilizando este modelo reduzido para interpretação dos parâmetros estimados no preditor linear, temos que o termo representado por X26 tem uma correlação negativa onde quanto mais frequente o termo no texto, mais negativamente influência no resultado do preditor linear, portanto, aumenta a intensidade do preditor linear em classificar o caso 0.
Já para variável tamanho, temos que quanto maior for o texto, mais positivamente o resultado é influênciado para o caso 1, ou seja, casos de emergência possuem uma tendência a serem documentados em tweets por textos mais extensos.
Análise análoga pode ser realizada para as demais covariáveis onde vale salientar que a covariãvel X83 possui um beta muito prõximo de 0, o que indicaria que o aumento de uma unidade na frequência para este termo teríamos pouco impacto no resulto estimado para o preditor linear.
solve(aux$hessian) # Covariâncias
## [,1] [,2] [,3] [,4] [,5]
## [1,] 8.963074e-03 -4.099463e-03 -0.0095045091 -2.849697e-03 -5.813897e-03
## [2,] -4.099463e-03 5.000134e+00 -0.0547431077 6.631593e-02 -1.138548e-02
## [3,] -9.504509e-03 -5.474311e-02 4.9887973419 -3.390156e-03 8.346705e-03
## [4,] -2.849697e-03 6.631593e-02 -0.0033901563 4.685469e+00 1.326841e-02
## [5,] -5.813897e-03 -1.138548e-02 0.0083467052 1.326841e-02 4.415932e+00
## [6,] -2.253902e-03 3.230323e-04 -0.0136303819 -6.111896e-03 5.561258e-03
## [7,] -5.109850e-03 -5.815618e-02 0.0368173213 -5.467786e-02 -1.387168e-02
## [8,] -8.144330e-03 -1.475617e-01 0.0779346242 -2.878952e-02 1.426070e-02
## [9,] -2.398694e-03 -3.050163e-02 0.0321593480 -4.819190e-02 -2.186052e-02
## [10,] -7.868034e-05 8.337994e-05 0.0001130605 4.832027e-05 7.880059e-06
## [,6] [,7] [,8] [,9] [,10]
## [1,] -2.253902e-03 -5.109850e-03 -8.144330e-03 -2.398694e-03 -7.868034e-05
## [2,] 3.230323e-04 -5.815618e-02 -1.475617e-01 -3.050163e-02 8.337994e-05
## [3,] -1.363038e-02 3.681732e-02 7.793462e-02 3.215935e-02 1.130605e-04
## [4,] -6.111896e-03 -5.467786e-02 -2.878952e-02 -4.819190e-02 4.832027e-05
## [5,] 5.561258e-03 -1.387168e-02 1.426070e-02 -2.186052e-02 7.880059e-06
## [6,] 4.319865e+00 -1.318156e-03 -3.182477e-02 -6.872297e-03 1.698707e-05
## [7,] -1.318156e-03 4.568348e+00 1.286906e-01 2.128786e-02 6.469542e-06
## [8,] -3.182477e-02 1.286906e-01 4.556787e+00 8.129938e-02 2.856514e-05
## [9,] -6.872297e-03 2.128786e-02 8.129938e-02 4.362052e+00 1.104412e-05
## [10,] 1.698707e-05 6.469542e-06 2.856514e-05 1.104412e-05 7.619708e-07
Já a matriz de covariâncias revela que o parâmetro com maior variância foi para a variável tamanho, o que já era um tanto quanto esperado, uma vez que esta variável possui uma natureza diferente das demais que representam frequência dos termos no texto.
Para \(\hat\mu\) e sua distribuição assintótica:
Como,
\(\hat{\eta_i} = X_i\hat{\beta}\) e,
\(\hat{\mu_i} = g(\hat{\eta_i}) = \frac{1}{1 + \exp(-\hat{\eta}_i)}\),
podemos calcular cada \(\hat{\eta}_i\):
eta.hat <- X %*% beta.hat
head(eta.hat)[1:5]
## [1] -0.3807955 -0.4006786 -0.2346312 -0.4822038 -0.4630130
Portanto, podemos encontrar \(\hat{\mu}_i\):
mu.hat <- exp(eta.hat)/(1+ exp(eta.hat))
mu.hat2 <- (1)/(1+exp(-eta.hat))
head(mu.hat)[1:5]
## [1] 0.4059350 0.4011493 0.4416098 0.3817319 0.3862713
head(mu.hat2)[1:5]
## [1] 0.4059350 0.4011493 0.4416098 0.3817319 0.3862713
\(\hat{\beta} \sim_{asymp} N(\beta, I(\hat{\beta})^{-1})\)
\(\hat{\eta_i} = X_i \hat{\beta}\), \(\hat{\eta} \sim N(X\hat{\beta}, X I(\hat{\beta})^{-1}X^T)\)
Portanto, pelo método delta, a distribuição assintótica de \(\hat{\mu} = g(\hat{\eta})\):
\(g(\hat{\eta}) \sim N\left(g(X \hat{\beta}), \hat\Sigma\right)\)
onde,
\(\hat\Sigma:= \nabla_{\eta}^T g(\hat{\eta}))XI(\hat{\beta})^{-1}X^T\nabla_{\eta} g(\hat{\eta})\)
e
\(\nabla_{\eta_i} g(\hat{\eta_i}) = g(\hat{\eta_i})(1 - g(\hat{\eta_i})), \forall i\)