Coleção modelos
Prever
Aplica um modelo já ajustado a uma tabela nova (ou ao próprio treino), e devolve a previsão de cada linha.
O que o bloco faz
models/predict anexa a previsão de cada observação a dados novos — ou, sem dados ligada, às linhas do próprio ajuste. A saída é data/table com previsto, prob_<nível> na classificação e, quando pedidos, limites.
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.
- Hipótese nula
- A afirmação que o teste põe à prova, em geral a de que não há efeito ou diferença (médias iguais, ausência de tendência). O teste mede o quanto os dados são incompatíveis com ela; não rejeitá-la não prova que ela é verdadeira.
- 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.
- Nível
- Cada valor que um fator assume no estudo: as doses 0, 50 e 100 kg/ha são três níveis do fator dose.
Quando usar
Use após ajustar o modelo para aplicar a equação a linhas novas que contenham os preditores necessários.
Pressupostos
As linhas novas estão dentro da faixa dos preditores do ajuste: fora dela é extrapolação, e a previsão (e o intervalo) supõe que a forma do modelo continua valendo onde não houve dado. Na regressão múltipla a faixa é a da nuvem conjunta, não a de cada coluna.
Se falhar: Leia a previsão fora da faixa como hipótese, não como estimativa; o intervalo não cobre o erro de forma do modelo.
O modelo está bem especificado e os pressupostos dele valem (os do bloco que o ajustou): a previsão herda a forma, e o intervalo herda a normalidade e a variância constante do erro.
O intervalo certo para a pergunta: confiança cobre a MÉDIA da resposta naquele x; predição cobre UMA observação nova, e é mais largo porque soma a variância do erro. Para dizer onde cairá a próxima parcela, é o de predição.
Se falhar: Troque o param Intervalo.
A unidade nova vem da mesma população do ajuste (mesmas condições, mesmos níveis de fator; o bloco recusa nível que o ajuste não viu).
A medida de acerto no próprio treino por resubstituição sai otimista.
Verificar:Avaliar previsões
Se falhar: Use a validação
cruzada, ou dados de teste separados.
Configuração
Sem dados, Validação escolhe resubstituição (padrão) ou cruzada (cada linha prevista por um modelo ajustado sem ela). Intervalo pode ser nenhum, confiança ou predição, no nível de Confiança (padrão 0,95); os dois intervalos estão disponíveis para lm. Dados novos precisam conter preditores e níveis fatoriais vistos no ajuste.
Exemplo
library(trama)
reg <- tr_registry()
tr_use("trama.models", registry = reg)
tr_flow(reg) |>
tr_add("dados", "models/example", dataset = "mtcars") |>
tr_add("ajuste", "models/lm", formula = "mpg ~ wt", from = "dados") |>
tr_add("prev", "models/predict", intervalo = "nenhum", from = c("ajuste", "dados"))O ajuste e os dados novos compartilham wt, preditor usado para estimar mpg.
Como interpretar
Previsão está na escala da resposta. Num GLM binomial de resposta 0/1, previsto é a classe (corte 0,5) e a probabilidade está em prob_1 — até a Fase 4 ela saía em previsto. Confiança cobre a média esperada; predição também inclui a variação de uma nova observação.
Implementação
stats::predict()versão 4.6.0Pelo contrato de cada modelo (predict.lm,predict.glmcomtype = "response",predict.merMod,predict.nls); intervalo só nolm(interval = "confidence"/"prediction"), conferido contra a fórmula ŷ0 ± t·s·√(h0) e √(1 + h0) com h0 = x0'(X'X)⁻¹x0 feita à mão (1e-10).
No código O bloco chama trama.models::tr_models_predict(), em trama.models/R/prever.R:130.
A conta é implementada pelo próprio trama, sem um pacote R de referência por trás.
Referências
Livro-texto
- Draper, N. R.; Smith, H. (1998). Applied Regression Analysis. 3. ed. New York: Wiley. doi:10.1002/9781118625590
- Rencher, A. C.; Schaalje, G. B. (2008). Linear Models in Statistics. 2. ed. Hoboken: Wiley.