Coleção multivariada

Regressão logística

Ajusta logística binária para dois grupos ou multinomial para três ou mais grupos.

O que o bloco faz

O bloco multi/logistic ajusta logística binária para dois grupos ou multinomial para três ou mais e devolve um classificador com probabilidades previstas. O bloco recebe data/table.

Antes de continuar

Termos que esta página usa, em poucas palavras. As definições completas estão no glossário.

Intervalo de confiança
Uma faixa de valores calculada a partir da amostra. Com 95% de confiança, o procedimento produz intervalos que contêm o valor verdadeiro em 95% das amostras possíveis; não quer dizer que um intervalo específico tenha 95% de probabilidade de acertar.
Verossimilhança
O quanto um modelo, com certos valores de parâmetros, torna prováveis os dados observados. Estimar por máxima verossimilhança é escolher os parâmetros que maximizam essa medida; critérios como AIC e BIC partem dela.
Bootstrap e reamostragem
Técnicas que repetem a análise muitas vezes sobre versões modificadas da própria amostra (sorteios com reposição, omissão de observações, embaralhamento) para medir a incerteza de uma estimativa ou obter um p-valor sem depender de uma fórmula pronta.
Modelo linear generalizado (GLM)
Uma extensão do modelo linear para respostas que não são normais, como contagens (Poisson) e proporções ou sim/não (binomial). Uma função de ligação conecta a média da resposta à parte linear do modelo.
Função de ligação
A transformação que liga a média da resposta à combinação linear das variáveis num GLM: o logaritmo para contagens, o logit para probabilidades. Os coeficientes são interpretados nessa escala transformada.

Quando usar

Use Regressão logística para modelar a probabilidade de uma classe em função de medidas observadas.

Pressupostos

  • As observações são independentes (um indivíduo por linha, sem medidas repetidas).

  • O logito (log da chance) é linear em cada preditor numérico.

    Verificar:Modelo linear generalizadoComparar modelos

    Se falhar: Na binária, ajuste um models/glm binomial com e sem poly(x, 2) do preditor suspeito no campo formula (ex.: y ~ poly(x, 2) + z) e compare no models/compare; se a curvatura importar, inclua a transformação num data/mutate antes.

  • Sem separação completa: se algum grupo é isolado sem sobreposição, os coeficientes vão ao infinito. O bloco detecta e avisa em separacao.

    Se falhar: Na binária, use metodo = "firth": a verossimilhança penalizada dá coeficientes finitos e intervalos perfilados (Heinze & Schemper 2002). A classificação continua valendo nos dois métodos.

  • Eventos suficientes por preditor: com poucos casos no grupo menor (a regra usual é pelo menos 10 por preditor), coeficientes e erros de Wald ficam viesados.

    Verificar:Agrupar e resumirJackknife da logística

    Se falhar: Use menos preditores; na binária, metodo = "firth" reduz o viés de ordem 1/n dos coeficientes (Firth 1993).

  • Sem colinearidade exata entre os preditores (o bloco recusa senão).

    Verificar:Matriz de correlação

  • A taxa de acerto que interessa é a fora da amostra: por resubstituição ela sai otimista, e mais ainda com muitos preditores e poucos casos.

    Verificar:Matriz de confusão

    Se falhar: Leia a validação cruzada (deixa-um-fora), o padrão do bloco.

Configuração

  • Resposta — classe conhecida.
  • Preditores — colunas numéricas; em branco, usa as numéricas menos a Resposta.
  • Corte (binária) — 0,5 por padrão (intervalo 0,01–0,99); aplica-se à logística binária, para prever o segundo nível.
  • Método — ml (máxima verossimilhança, padrão) ou firth (verossimilhança penalizada de Firth, só com dois grupos).

Exemplo

Exemplo multivariado
Regressão logística
library(trama)

reg <- tr_registry()
tr_use("trama.multi", registry = reg)

tr_flow(reg) |>
  tr_add("dados", "multi/example", dataset = "pima") |>
  tr_add("log", "multi/logistic", resposta = "diabetes", preditores = "glicose, imc, pedigree", from = "dados")

O classificador estima as probabilidades de diabetes para cada linha de pima.

Como interpretar

Resposta escolhe a coluna do grupo; Preditores seleciona as variáveis numéricas; Corte define o limiar para o segundo grupo no caso binário e não se aplica à multinomial. Separação completa pode tornar coeficientes não finitos. Com metodo = "firth" eles ficam finitos e os intervalos do models/coefficients passam a ser perfilados.

Firth com quase separação

Nos vinhos, só os cultivares B e C (71 e 48), com álcool, flavonoides e intensidade de cor, os dois grupos se separam e a ML não dá coeficientes. Com metodo = "firth", o coeficiente dos flavonoides é −5,23 (IC 95% perfilado de −16,69 a −1,86; p = 0,00004) e o do álcool 8,35 (de 0,48 a 28,49; p = 0,033). Os intervalos são longos e assimétricos: é o que a pouca informação de dados quase separados permite dizer.

Exemplo multivariado
Filtrar
Regressão logística
Coeficientes
tr_flow(reg) |>
  tr_add("v", "multi/example", dataset = "vinhos") |>
  tr_add("bc", "data/filter", expr = 'cultivar != "A"', from = "v") |>
  tr_add("lg", "multi/logistic", resposta = "cultivar", preditores = "alcool, flavonoides, intensidade_cor",
         metodo = "firth", from = "bc") |>
  tr_add("rc", "models/coefficients", exponenciar = TRUE, from = "lg")