Coleção modelos

RLS online

Regressão linear que aprende ponto a ponto: mínimos quadrados recursivos, dentro de uma região de fluxo.

O que o bloco faz

models/rls Atualiza coeficientes ponto a ponto e emite previsão anterior ao ponto, valor observado e resíduo. A saída é um fluxo de tabela com previsto, real e resíduo por ponto.

Antes de continuar

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

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.
Modelo linear
Um modelo em que a resposta é a soma de efeitos das variáveis explicativas, cada um multiplicado por um coeficiente, mais um erro aleatório. Regressão e análise de variância são casos dele; “linear” se refere aos coeficientes, não à forma da curva.
Fator
Uma variável explicativa categórica cujo efeito se quer estudar, como adubo, cultivar ou dose. Num experimento fatorial, dois ou mais fatores são combinados.
Pressuposto
Uma condição sob a qual o método dá resultados confiáveis, como resíduos normais ou observações independentes. Quando um pressuposto falha, p-valores e intervalos podem ficar errados, mesmo que a conta rode.

Quando usar

Use em região de fluxo quando cada observação precisa atualizar a regressão antes de processar a próxima.

Pressupostos

  • O modelo é linear e seus coeficientes são fixos no tempo: o RLS sem fator de esquecimento pondera igualmente o passado e o presente.

    Se falhar: Para relação que muda com o tempo, ajuste por janelas, ou use o models/lm em cada período.

  • Os preditores estão em escalas parecidas: a prior difusa lambda · I (a matriz inicial P0, que diz ao RLS "ainda não sei nada" sobre os coeficientes) fica mal condicionada com colunas de ordens de grandeza diferentes.

    Se falhar: Escale as colunas num data/mutate antes.

  • Os mesmos pressupostos de erro do models/lm (independência, variância constante) valem para interpretar os coeficientes como os de mínimos quadrados.

Configuração

Resposta indica a coluna observada; Preditores lista covariáveis ou fica vazio para usar as demais colunas. Lambda define a incerteza inicial.

Exemplo

Exemplo de modelos
Entrar em fluxo
RLS online
Sair de fluxo
library(trama)

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

tr_flow(reg) |>
  tr_add("dados", "models/example", dataset = "cars") |>
  tr_add("lotes", "data/to_stream", lote = 1, from = "dados") |>
  tr_add("rls", "models/rls", resposta = "dist", preditores = "speed", from = "lotes") |>
  tr_add("historico", "data/from_stream", from = "rls")

data/to_stream entrega cada carro como ponto; data/from_stream recompõe o histórico das previsões.

Como interpretar

Previsão é calculada antes de incorporar o ponto; resíduo é real menos previsto. Lambda grande representa prior difusa; valor pequeno pode manter viés em direção a zero.

Implementação

  • trama.models::step_rls() versão 0.6.6Implementação própria da atualização recursiva de mínimos quadrados, com P0 = lambda · I e simetrização de P a cada passo.

No código O bloco chama trama.models::tr_models_rls_fn(), em trama.models/R/nos_online.R:200.

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

Referências

Teoria

Ver a bibliografia completa do trama