Regressão logística, passo a passo

Vamos estimar a probabilidade de diabetes em 3.000 pacientes fictícios a partir de IMC, idade, pressão alta e atividade física. Os dados imitam o conjunto CDC Diabetes Health Indicators do notebook da disciplina. O modelo soma os preditores com pesos e passa essa soma por uma curva em S:

p = σ(η) = 1 / (1 + e−η),   com   η = log(p / (1 − p)) = β₀ + β₁x₁ + … + βkxk

1Como os coeficientes são ajustados

Para ver o ajuste acontecer, começamos com 160 pacientes e uma só variável, o IMC padronizado (z = (IMC − média) / desvio-padrão). Cada par (β₀, β₁) desenha uma curva diferente. O ajuste procura o par com a menor log-loss, a perda que pune mais quem recebe probabilidade baixa para o que de fato aconteceu.

  1. PreverCom os coeficientes atuais, calcular p para cada paciente.
  2. Medir o erroSomar −log(p) para quem tem diabetes e −log(1 − p) para quem não tem.
  3. Calcular o gradienteEle indica para onde a perda sobe mais depressa.
  4. Dar um passoMover os coeficientes no sentido contrário, na medida da taxa de aprendizado.

Os pacientes e a curva atual

Com diabetes (y = 1) Sem diabetes (y = 0)

Passe o cursor sobre um paciente para ver a perda dele. Os traços ligam cada paciente à curva: quanto mais longos, maior o erro.

A paisagem da perda

Cada ponto do mapa é um par (β₀, β₁); quanto mais escuro, menor a perda. Clique ou arraste para testar um par. A seta mostra o sentido do próximo passo.

β₀ (intercepto)
β₁ (peso do IMC padronizado)
Taxa de aprendizado
–log-loss média
0passos dados
–∂L/∂β₀ = média(p − y)
–∂L/∂β₁ = média((p − y)·z)
–Em unidades originais

2Coeficientes, odds ratio e influência

Agora o modelo completo, ajustado com 1.800 pacientes de treino e as quatro variáveis em unidades originais. Cada coeficiente soma β ao log-odds por unidade de x, o que multiplica as chances (odds = p / (1 − p)) por eβ. Para uma mudança de Δ unidades, a odds ratio é OR = eβ·Δ.

Odds ratio de cada variável, com IC95%

Comparar IMC com + Δ kg/m²
Comparar idade com + Δ anos

Escala logarítmica: OR = 2 fica tão longe de 1 quanto OR = 0,5. A linha tracejada é OR = 1, sem diferença nas chances. Cada OR vale mantendo as outras variáveis constantes e descreve associação no modelo, não efeito causal.

Quanto cada variável pesa para um paciente

Parta de um perfil de referência (IMC 25, 45 anos, sem pressão alta, fisicamente ativo) e mude o paciente. Cada linha mostra quanto a variável desloca o log-odds e por quanto multiplica as chances.

IMC
Idade

Da mesma soma à probabilidade

O círculo vazio é a referência; o cheio, o paciente. A curva é íngreme no meio e achatada nas pontas, por isso o mesmo aumento no log-odds muda muito ou pouco a probabilidade, conforme o ponto de partida.

Multiplicar as chances não multiplica a probabilidade

Probabilidade inicial p₀
Odds ratio aplicada
–odds inicial = p₀ / (1 − p₀)
–odds final = odds inicial × OR
–probabilidade final

3O limiar transforma probabilidade em decisão

O modelo entrega probabilidades. Para dizer "sinalizar" ou "não sinalizar", escolhemos um limiar: acima dele, o paciente é classificado como positivo. O predict do scikit-learn usa 0,5, mas nada obriga a isso. Mudar o limiar não muda os coeficientes nem a AUC; muda quem é sinalizado. Os 1.200 pacientes abaixo são de teste, não participaram do ajuste.

Probabilidades previstas, por grupo real

Com diabetes (acima do eixo) Sem diabetes (abaixo do eixo) Limiar (arraste)
Limiar
Altura das barras

Com este limiar

A curva ROC reúne todos os limiares possíveis; o ponto marca o atual. A área sob ela (AUC) mede como o modelo ordena os pacientes, independentemente do limiar.

4Calibração: quando 20% quer dizer 20%

Um modelo calibrado acerta a frequência: entre os pacientes que recebem cerca de 20%, cerca de 20% têm diabetes. Separamos os pacientes de teste em dez grupos de risco e comparamos a média prevista com a taxa observada. Distorça as probabilidades e veja que a AUC não muda, pois a ordem dos pacientes é a mesma, mas os números deixam de valer o que dizem.

Curva de calibração (dez grupos de risco)

Pontos na diagonal = calibrado. Acima dela, o modelo subestima o risco; abaixo, superestima. As barras verticais são IC95% da taxa observada; a faixa inferior mostra onde caem as previsões.

Probabilidades do modelo

Para experimentar em aula

  1. Na seção 1, escolha a taxa de aprendizado pequena e dê alguns passos. Depois, a adequada. As duas chegam ao mesmo mínimo, em ritmos diferentes.
  2. Tente a taxa grande demais. O caminho salta de um lado para o outro do vale e não se acomoda: o passo é maior que a curvatura permite.
  3. Sorteie vários inícios e ajuste. A perda logística tem um único mínimo, por isso todos os caminhos terminam no mesmo par.
  4. Na seção 2, compare a OR do IMC para Δ = 1 e Δ = 5. A segunda é a primeira elevada à quinta potência, e não cinco vezes maior.
  5. Ligue e desligue a pressão alta em um paciente de 30 anos e em um de 75. A OR é a mesma; a mudança na probabilidade, não.
  6. Na seção 3, veja o limiar 0,5 com uma prevalência perto de 19%: quase ninguém é sinalizado. Para triagem, que limiar você escolheria, e a que custo em falsos positivos?
  7. Na seção 4, escolha "Outra população" e depois ligue a recalibração. A AUC não se move em nenhum momento.