Em uma regressão linear múltipla, é possível descobrir o coeficiente com a seguinte fórmula.
beta = solve(t(X) %*% X) %*% (t(X) %*% Y) ; beta
Por exemplo:
> y <- c(9.3, 4.8, 8.9, 6.5, 4.2, 6.2, 7.4, 6, 7.6, 6.1)
> x0 <- c(1,1,1,1,1,1,1,1,1,1)
> x1 <- c(100,50,100,100,50,80,75,65,90,90)
> x2 <- c(4,3,4,2,2,2,3,4,3,2)
> Y <- as.matrix(y)
> X <- as.matrix(cbind(x0,x1,x2))
> beta = solve(t(X) %*% X) %*% (t(X) %*% Y);beta
[,1]
x0 -0.8687015
x1 0.0611346
x2 0.9234254
> model <- lm(y~+x1+x2) ; model$coefficients
(Intercept) x1 x2
-0.8687015 0.0611346 0.9234254
Gostaria de calcular da mesma maneira "manual" o beta para uma regressão logística. Onde é claro que y seria 1 ou 0. Supondo que eu esteja usando a família binomial com um link de logit.
logistic
regression-coefficients
S12000
fonte
fonte
Respostas:
O estimador OLS no modelo de regressão linear é bastante raro por ter a propriedade de poder ser representado de forma fechada, ou seja, sem precisar ser expresso como o otimizador de uma função. É, no entanto, um otimizador de uma função - a função residual da soma dos quadrados - e pode ser calculado como tal.
O MLE no modelo de regressão logística também é o otimizador de uma função de probabilidade de log definida adequadamente, mas como não está disponível em uma expressão de formulário fechado, deve ser computada como um otimizador.
A maioria dos estimadores estatísticos é expressável apenas como otimizadores de funções adequadamente construídas dos dados, chamadas funções de critério. Esses otimizadores requerem o uso de algoritmos de otimização numérica adequados. Otimizadores de funções podem ser calculados em R usando a
optim()
função que fornece alguns algoritmos de otimização de uso geral ou um dos pacotes mais especializados, comooptimx
. É essencial saber qual algoritmo de otimização usar para diferentes tipos de modelos e funções de critério estatístico.Soma residual dos quadrados da regressão linear
Os OLS estimador é definido como o optimizador da soma residual bem conhecido dos quadrados
No caso de uma função convexa duas vezes diferenciável, como a soma residual dos quadrados, a maioria dos otimizadores baseados em gradiente faz um bom trabalho. Nesse caso, usarei o algoritmo BFGS.
Isso produz:
Probabilidade de log de regressão logística
A função de critério correspondente ao MLE no modelo de regressão logística é a função de probabilidade de log.
Eu mostro como construir e otimizar a função de critério usando a
optim()
função novamente empregando o algoritmo BFGS.Isso gera
Como uma ressalva, observe que os algoritmos de otimização numérica requerem uso cuidadoso ou você pode acabar com todos os tipos de soluções patológicas. Até que você os entenda bem, é melhor usar as opções empacotadas disponíveis que permitem que você se concentre em especificar o modelo, em vez de se preocupar em como calcular numericamente as estimativas.
fonte
-sum(vY%*%(mX%*%vBeta)-log(1+exp(mX%*%vBeta)))
Você não pode chegar lá daqui. As soluções para o modelo linear geral e o modelo logístico surgem da solução das respectivas equações de máxima verossimilhança, mas apenas o modelo linear tem uma solução de forma fechada.
Se você consultar o livro de McCullagh e Nelder, poderá aprender como as soluções são obtidas no caso logístico (ou outro modelo generalizado). Com efeito, as soluções são produzidas iterativamente, onde cada iteração envolve a solução de uma regressão linear ponderada. Os pesos dependem em parte da função de link.
fonte