Como resolver a regressão logística usando mínimos quadrados comuns?


9

Eu estava aprendendo auto-aprendizado. Encontrei esta seção da página da Wikipedia sobre regressão logística , onde ela afirma

Como o modelo pode ser expresso como um modelo linear generalizado (veja abaixo), para 0

Parece-me que posso reformular uma configuração de regressão logística em uma configuração de regressão linear. Mas não consigo ver como fazer isso. Eu não entendo o que significa também. Talvez esse seja o truque?0<p<1


4
Você já viu nossos tópicos sobre regressão logística e GLM? Eles o ajudarão a entender que não pode ser observado diretamente; portanto, o que você propõe é um beco sem saída. p
whuber

Foi o que pensei também, razão pela qual fiquei intrigado com o comentário da Wikipedia.
Kirakun # 20/16

11
Modelos lineares generalizados são aplicáveis ​​a muitos tipos diferentes de regressão (linear, binomial / logística, Poisson etc.) e não são um recurso exclusivo da regressão linear. Todos os "lineares" significa aqui é que a função de ajuste é de forma ay=a+bf1(x)+cf2(x)+df3(x)+
jwimberley

11
Para a questão descrita no título , é claro que existe uma solução bem conhecida , ou seja, a regressão logística pode ser resolvida com apenas uma sub-rotina OLS (+ alguma álgebra matricial simples).
GeoMatt22

Respostas:


7

A função sigmóide no modelo de regressão logística impede a utilização da estimativa aproximada de parâmetros algébricos como nos mínimos quadrados ordinários (OLS). Em vez disso , métodos analíticos não lineares , como descida por gradiente ou método de Newton, serão usados ​​para minimizar a função de custo do formulário:

cost(σ(Θx),y)=ylog(σ(Θx))(1y)log(1σ(Θx)) , em que

σ(z)=11+eΘx , ou seja, a função sigmóide. Observe que se , queremos que a probabilidade prevista, , seja alta, e o sinal de menos na parte azul da função de custo minimizará o custo; ao contrário, se , apenas a parte vermelha da equação é aplicada e, quanto menor o , mais próximo o custo será de zero.y=1σ(Θx)y=0σ(Θx)

Equivalentemente, podemos maximizar a função de probabilidade como:

p(y|x,θ)=(σ(Θx))y(1σ(Θx))1y .


A frase que você cita, no entanto, faz referência, acredito, à parte relativamente linear da função sigmóide:

Como o modelo pode ser expresso como um modelo linear generalizado ( veja abaixo ), para , mínimos quadrados comuns podem ser suficientes, com R ao quadrado como a medida da qualidade do ajuste no espaço de ajuste. Quando ou , são necessários métodos mais complexos.0<p<1p=01

O modelo de regressão logística é:

odds(Y=1)=p(Y=1)1p(Y=1)=eθ0+θ1x1++θpxp

ou,

(*)log(odds(Y=1))=log(p(Y=1)1p(Y=1))=θ0+θ1x1++θpxp=ΘX

Portanto, isso é "próximo o suficiente" de um modelo OLS ( ) para ser adequado como tal e para que os parâmetros sejam estimados em forma fechada, desde que a probabilidade de (lembre-se da modelagem de Bernoulli da variável resposta na regressão logística) não é próxima de ou . Em outras palavras, enquanto na Eq. * fica longe das regiões assintóticas.y=ΘX+ϵy=101log(p(Y=1)1p(Y=1))


Veja, por exemplo, esta entrada interessante no Statistical Horizons , que eu queria testar com o mtcarsconjunto de dados em R. A variável para transmissão automática amé binária, para que possamos regredi-la em milhas por galão mpg. Podemos prever que um modelo de carro tem transmissão automática com base no consumo de gás?

Se eu prosseguir e resolver o problema com as estimativas do OLS, obtenho uma precisão de previsão de apenas com base nesse único preditor. E adivinha? Eu obtenho exatamente a mesma matriz de confusão e taxa de precisão se ajustar uma regressão logística.75%

O fato é que a saída do OLS não é binária, mas sim contínua e, tentando estimar os valores binários reais , eles geralmente estão entre e , muito parecidos com os valores de probabilidade, embora não sejam estritamente limitados como na regressão logística ( função sigmóide).y01

Aqui está o código:

> d = mtcars
> summary(as.factor(d$am))
 0  1 
19 13 
> fit_LR = glm(as.factor(am) ~ mpg, family = binomial, d)
> pr_LR = predict(fit, type="response")
> 
> # all.equal(pr_LR, 1 / (1 + exp( - predict(fit_LR) ) ) ) - predict() is log odds P(Y =1)
> 
> d$predict_LR = ifelse(pr_LR > 0.5, 1, 0)
> t_LR = table(d$am,d$predict_LR)
> (accuracy = (t_LR[1,1] + t_LR[2,2]) / sum(t))
[1] 0.75
> 
> fit_OLS = lm(am ~ mpg, d)
> pr_OLS = predict(fitOLS)
> d$predict_OLS = ifelse(pr_OLS > 0.5, 1, 0)
> (t_OLS = table(d$am, d$predict_OLS))

     0  1
  0 17  2
  1  6  7
> (accuracy = (t[1,1] + t[2,2]) / sum(t_OLS))
[1] 0.75

A frequência dos carros automáticos v manuais é bastante equilibrada e o modelo OLS é bom o suficiente como um perceptron:

insira a descrição da imagem aqui


2

Você interpreta mal a declaração que cita. Um modelo linear generalizado (normalmente estimado por máxima verossimilhança) não é um problema de mínimos quadrados *.

Veja a página da wikipedia Modelo linear generalizado, por exemplo.

Entretanto, a probabilidade geralmente é resolvida como uma sequência de aproximações lineares de mínimos quadrados - mínimos quadrados iterativamente ponderados (de maneira semelhante a uma abordagem comum para problemas não lineares de mínimos quadrados).

Portanto, na prática, muitas vezes, uma sequência de problemas de mínimos quadrados ponderados é resolvida para obter as estimativas dos parâmetros. Estes são obtidos iniciando-se com uma estimativa aproximada (existem algumas maneiras padrão de obtê-las) e construindo valores e pesos de resposta de trabalho para uma aproximação linear ao modelo que é ajustado por mínimos quadrados ponderados, produzindo novas estimativas que, por sua vez, são usadas atualizar os valores e pesos da resposta de trabalho; este ciclo sendo repetido várias vezes.

Não é a única maneira de ajustar esses modelos, mas uma usada por vários pacotes de estatísticas.

* (NB não confundir com um modelo linear geral do qual a estimativa possa ser convertida como uma forma de mínimos quadrados, nem com mínimos quadrados generalizados)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.