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/glmbinomial com e sempoly(x, 2)do preditor suspeito no campoformula(ex.:y ~ poly(x, 2) + z) e compare nomodels/compare; se a curvatura importar, inclua a transformação numdata/mutateantes.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) oufirth(verossimilhança penalizada de Firth, só com dois grupos).
Exemplo
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.
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")