Coleção modelos

Regressão não linear

Ajusta uma curva não linear pronta (logística, Michaelis-Menten, Gompertz, platô...) sem pedir chute.

O que o bloco faz

models/nls ajusta por mínimos quadrados não lineares uma das curvas prontas — logístico, Michaelis-Menten, exponencial assintótico, Gompertz ou linear-platô — com a resposta e uma preditora numérica. Os valores iniciais saem dos próprios dados. A saída é models/fit.

Antes de continuar

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

Erro padrão
O desvio padrão de uma estimativa: quanto ela variaria se o estudo fosse repetido com outra amostra. Diminui quando a amostra cresce e é a base dos intervalos de confiança e dos testes.
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.
Variância
A média dos quadrados das distâncias de cada valor à média: mede o quanto os dados se espalham. O desvio padrão é a raiz quadrada da variância e fica na mesma unidade dos dados.
Resíduo
A diferença entre o valor observado e o valor que o modelo ajustado prevê para aquela observação. É nos resíduos que se conferem os pressupostos do modelo: eles devem parecer ruído, sem padrão.
Coeficiente de determinação (R²)
A fração da variação da resposta que o modelo explica, entre 0 e 1. Nunca diminui quando se acrescentam variáveis, por isso não serve sozinho para escolher entre modelos.

Quando usar

Use para curvas de crescimento (logístico, Gompertz), de absorção e saturação (Michaelis-Menten), de resposta a adubo que se aproxima de um teto (exponencial assintótico) ou de dose a partir da qual não há ganho (linear-platô).

Pressupostos

  • A curva escolhida é a forma certa da relação (logística, Michaelis-Menten, assintótica, Gompertz ou linear-platô): o ajuste acha os melhores parâmetros DA curva, não a melhor curva.

    Verificar:Gráfico de regressãoDiagnóstico dos resíduos

    Se falhar: Compare modelos pelo AIC no models/fit_stats e olhe os resíduos contra o x: tendência sobrando é forma errada.

  • Os erros são independentes, normais e de variância constante (mínimos quadrados sem peso).

    Verificar:Diagnóstico dos resíduosNormalidade dos resíduos

    Se falhar: Variância que cresce com a resposta pede transformar (log) os dois lados da curva, fora deste bloco.

  • Há pontos dos dois lados da mudança (antes e depois do platô, da inflexão, da saturação): sem eles os parâmetros não se identificam e o erro padrão explode.

    Verificar:Disperso

  • Os intervalos dos parâmetros são de Wald (linearização em torno da estimativa): em amostra pequena e curva muito não linear nos parâmetros, eles saem simétricos quando a incerteza real não é.

    Verificar:Coeficientes

Configuração

Resposta e Preditor são colunas numéricas; Modelo escolhe a curva. Os quatro primeiros modelos usam os self-starters do R; o linear-platô procura o ponto de quebra de menor soma de quadrados. Uma curva por grupo não é feita aqui: filtre a tabela e ajuste cada grupo.

Exemplo

Exemplo de modelos
Regressão não linear
library(trama)

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

tr_flow(reg) |>
  tr_add("dados", "models/example", dataset = "Puromycin") |>
  tr_add("resultado", "models/nls", resposta = "rate", preditor = "conc", modelo = "Michaelis-Menten", from = "dados")

A velocidade de reação satura com a concentração do substrato; o ajuste dá a velocidade máxima Vm e a concentração K em que se chega à metade dela.

Como interpretar

Cada parâmetro tem significado na curva: assíntota, ponto de inflexão, início do platô. A tabela traz cada um com erro padrão e intervalo de Wald. O R² das medidas sai na coluna r2_pseudo, e o gráfico o rotula “R² (pseudo)”; para escolher entre curvas na mesma resposta, compare o AIC e o rmse. Quando o ajuste não converge, o card diz que forma o modelo espera.

Implementação

  • stats::nls() versão 4.6.0Gauss-Newton com os self-starters SSlogis, SSmicmen, SSasymp e SSgompertz; o linear-platô parte de uma busca da quebra. Conferido contra os valores certificados do NIST StRD: Rat42 (logístico) e Misra1d (Michaelis-Menten), parâmetros a 1e-6, SQ residual a 1e-6 e erro padrão a 1e-5.

No código O bloco chama trama.models::tr_models_nls(), em trama.models/R/naolinear.R:73.

A conta é implementada pelo próprio trama, sem um pacote R de referência por trás.

Outras funções de pacotes que o bloco usa (6)

Referências

Livro-texto

  • Bates, D. M.; Watts, D. G. (1988). Nonlinear Regression Analysis and Its Applications. New York: Wiley. doi:10.1002/9780470316757

Ver a bibliografia completa do trama