Estatística

Aprendizado de Máquina Duplo em Teste A/B

Aprendizado de máquina duplo ajusta muitas covariáveis sem enviesar. Score ortogonal, cross-fitting e a simulação em que a cobertura cai a 4,7%.

Ilustração plana de um disco dividido em cinco fatias, uma fatia erguida à parte recebendo dois fluxos finos enquanto as outras alimentam os funis

Um modelo melhor não conserta uma conta errada. Quando você joga previsões de aprendizado de máquina dentro de uma estimativa de efeito causal, o viés que sobra não vem do modelo ser fraco, vem da FORMA da conta, e ele não desaparece com mais dados. Na simulação trabalhada deste guia, um ajuste com aprendiz flexível deixa 85 por cento do viés original de pé e derruba a cobertura do intervalo de 95 por cento para 4,7 por cento, ou seja, o intervalo acerta 1 vez em 21 em vez de 19 em 20. Trocando a forma da conta por um score ortogonal com cross-fitting, o viés vai para menos 0,0062 e a cobertura volta para 94,7 por cento, com o MESMO aprendiz. Este guia mostra os dois ingredientes do método, o exemplo em escala de conversão em que um ganho bruto de mais 110,77 por cento vira mais 0,52 ponto percentual com intervalo honesto, a evidência de que o viés sem cross-fitting não encolhe com a amostra, e quantas dobras usar. Faz parte do nosso guia completo de teste A/B e é o arcabouço geral atrás do estimador duplamente robusto.

O problema: 40 covariáveis e nenhum sorteio

A situação é comum e não é sobre um teste A/B bem feito. É sobre a pergunta que chega depois: qual foi o efeito de um recurso que não foi sorteado? Quem adotou o app, quem ativou notificações, quem entrou no plano anual. Em todos esses casos existe um monte de covariáveis do pré-período e nenhuma aleatorização, então é preciso ajustar.

O instinto moderno é usar um modelo bom. Treine uma árvore impulsionada para prever o desfecho a partir das 40 covariáveis, subtraia a previsão, compare o que sobra. Chernozhukov, Chetverikov, Demirer, Duflo, Hansen, Newey e Robins mostram por que isso falha, e a frase deles é direta: “tanto o viés de regularização quanto o sobreajuste na estimação de eta zero causam um viés pesado em estimadores de teta zero obtidos ao enfiar ingenuamente estimadores de aprendizado de máquina nas equações de estimação para teta zero. Esse viés faz o estimador ingênuo falhar em ser consistente à taxa de N elevado a menos um meio.”

São dois problemas distintos, e o método tem um remédio para cada:

Os dois vieses do ajuste por aprendizado de máquina e o remédio de cada umDois blocos lado a lado. O da esquerda mostra viés de regularização, causado por o modelo encolher coeficientes para reduzir variância, com o remédio de usar um score ortogonal de Neyman. O da direita mostra viés de sobreajuste, causado por o modelo ter visto a própria observação no treino, com o remédio de usar cross-fitting em dobras. Abaixo, uma faixa indica que os dois remédios são necessários juntos.viés de regularizaçãoo modelo encolhe coeficientes de propósito,para trocar variância por viésremédio: score ortogonal de Neymana conta fica insensível a erro no modelo auxiliarviés de sobreajusteo modelo já viu aquela observação no treino,então o resíduo dela sai pequeno demaisremédio: cross-fitting em K dobrasprevisão sempre vem de fora da amostraos dois juntos, e só os dois juntos, devolvem intervalo com cobertura nominalna simulação abaixo: só ortogonalidade leva a cobertura de 4,7% para 92,3%; ortogonalidade mais cross-fitting leva a 94,7%.trocar o aprendiz por um melhor, sem mexer na forma da conta, não move nenhum dos dois vieses.
O nome duplo vem de dois modelos auxiliares, um para o desfecho e um para o tratamento. Os dois remédios também são duplos, e resolvem problemas diferentes.

Como a conta muda com aprendizado de máquina duplo

A versão intuitiva e errada é: preveja o desfecho com o modelo, subtraia, compare. A versão ortogonal usa DOIS modelos auxiliares e combina os resíduos dos dois.

  1. Ajuste um modelo do desfecho dado as covariáveis, separado por braço.
  2. Ajuste um modelo do tratamento dado as covariáveis, que é a propensão (veja escore de propensão).
  3. Combine os dois num score em que o erro de um dos modelos é corrigido pelo outro, o que é a definição operacional de ortogonalidade.
  4. Faça tudo isso com previsões vindas de fora da amostra, por cross-fitting.

O passo 3 é o que dá o nome “duplo”. A propriedade central, nas palavras dos autores, é que o impacto do viés de regularização e do sobreajuste “pode ser removido usando dois ingredientes simples, ainda que críticos: (1) usar momentos ou scores ortogonais de Neyman, que têm sensibilidade reduzida em relação aos parâmetros auxiliares, e (2) fazer uso de cross-fitting, que fornece uma forma eficiente de divisão de dados”.

E a exigência sobre os modelos auxiliares é surpreendentemente branda: em problemas suaves, o artigo registra a “exigência grosseira de que os parâmetros auxiliares sejam estimados à taxa de o(N elevado a menos um quarto)”. Essa taxa é bem mais lenta que a do parâmetro de interesse, e é justamente o que autoriza usar floresta aleatória, lasso, redes profundas e árvores impulsionadas nas funções auxiliares.

A simulação: quatro estimadores, o mesmo aprendiz

Para separar o efeito da FORMA da conta do efeito do modelo, rodamos uma simulação com 300 repetições, 800 observações por repetição, 6 covariáveis, efeito verdadeiro de 3,00 e adesão ao tratamento dependendo das mesmas covariáveis que determinam o desfecho. O aprendiz auxiliar é o mesmo nos três estimadores ajustados; só a conta muda. Cobertura é a fração de repetições em que o intervalo de 95 por cento contém o efeito verdadeiro (o ideal é 95 por cento):

estimador média viés desvio erro quadrático cobertura 95%
diferença de médias (ignora covariáveis) 3,4925 +0,4925 0,2795 0,5660 56,7%
ajuste flexível, score não ortogonal 3,4200 +0,4200 0,2343 0,4807 4,7%
score ortogonal, sem cross-fitting 3,0556 +0,0556 0,1948 0,2023 92,3%
score ortogonal com cross-fitting 2,9938 −0,0062 0,2439 0,2436 94,7%

A segunda linha é a mais importante deste guia. O ajuste flexível com score não ortogonal reduziu o viés de 0,4925 para 0,4200, ou seja, tirou 15 por cento dele, e ao mesmo tempo estreitou o intervalo. O resultado dessa combinação é que a cobertura desaba de 56,7 por cento para 4,7 por cento.

Vale soletrar o que isso significa em uso real: o intervalo de confiança de 95 por cento dessa análise contém o valor verdadeiro em menos de 1 de cada 20 vezes. O modelo mais sofisticado produziu uma conclusão pior que a comparação crua, porque a comparação crua ao menos admitia estar imprecisa.

Cobertura do intervalo de 95 por cento nos quatro estimadoresQuatro barras horizontais medindo cobertura contra uma linha de referência em noventa e cinco por cento. A diferença de médias alcança cinquenta e seis vírgula sete por cento. O ajuste flexível com score não ortogonal alcança apenas quatro vírgula sete por cento, a menor de todas. O score ortogonal sem cross-fitting alcança noventa e dois vírgula três e com cross-fitting alcança noventa e quatro vírgula sete, praticamente na linha.o intervalo de 95% contém a verdade em quantas repetições?alvo: 95%diferença de médias56,7%ajuste flexível, score não ortogonal4,7%score ortogonal, sem cross-fitting92,3%score ortogonal com cross-fitting94,7%o único estimador que fica ABAIXO da comparação crua é o que usa modelo bom com conta errada.ele estreitou o intervalo sem tirar o viés, e intervalo estreito em volta do lugar errado é o pior dos mundos.
Cobertura é a métrica que importa aqui, não viés isolado. Um estimador com pouco viés e intervalo honesto é utilizável; um com viés médio e intervalo estreito engana.

O viés sem cross-fitting não encolhe com a amostra

Essa é a evidência que justifica a obrigatoriedade do cross-fitting. Rodamos o estimador ortogonal com número variável de dobras em dois tamanhos de amostra. “Sem cross-fitting” significa modelos auxiliares ajustados na amostra inteira:

desenho N = 800 (200 repetições) N = 1.600 (80 repetições)
sem cross-fitting viés 0,0674 · cobertura 91,0% viés 0,0605 · cobertura 91,3%
2 dobras viés 0,0409 · cobertura 91,5% viés 0,0120 · cobertura 96,3%
5 dobras viés 0,0428 · cobertura 94,5% viés 0,0206 · cobertura 93,8%
10 dobras viés 0,0346 · cobertura 94,5% viés 0,0129 · cobertura 93,8%

Leia a primeira linha da tabela contra as outras. Dobrar a amostra praticamente não mexeu no viés sem cross-fitting (0,0674 para 0,0605, uma queda de 10 por cento) e a cobertura ficou presa em 91 por cento nos dois tamanhos. Com 5 dobras, dobrar a amostra cortou o viés de 0,0428 para 0,0206, uma queda de 52 por cento, que é o comportamento esperado de um estimador consistente.

É exatamente o ponto teórico do artigo: o viés de sobreajuste faz o estimador ingênuo “falhar em ser consistente à taxa de N elevado a menos um meio”. Não é um problema de amostra pequena que se resolve esperando. Com 10 vezes mais dados, ele continua lá.

Sobre o número de dobras, a leitura prática é simples: 2 dobras sacrificam precisão (desvio 0,2772 contra 0,2346 de 5 dobras em N igual a 800), porque cada modelo auxiliar treina com metade dos dados; 10 dobras rendem pouco sobre 5 e custam o dobro de computação. Cinco é o padrão razoável, e é o mesmo padrão do CUPAC e do MLRATE.

Exemplo trabalhado: o recurso que “dobra a conversão”

Vale ver isso no caso que motiva o método. Simulamos uma base observacional de 60.000 usuários em que a adesão a um recurso depende do engajamento prévio, e o engajamento prévio também determina a taxa de conversão. O efeito verdadeiro do recurso é mais 0,60 ponto percentual, e nós o conhecemos porque nós o colocamos lá.

A leitura crua dessa base, do jeito que ela sairia de um painel, colada na calculadora:

Calculadora de significância estatística
Controle (A)
Variação (B)
Controle (A) · Taxa-
Variação (B) · Taxa-
Melhora relativa-
valor-p-
IC 95% da diferença-

Teste z bilateral de duas proporções. "Sem significância" quase sempre quer dizer que falta amostra, não que as versões são iguais.

Com 43.442 não adotantes e 2.446 conversões contra 16.558 adotantes e 1.965 conversões, ela devolve 5,6305 por cento contra 11,8674 por cento, um ganho relativo de 110,77 por cento, diferença de mais 6,2369 pontos percentuais, valor-p abaixo de 0,0001 e intervalo de mais 5,6987 a mais 6,7751 ponto percentual.

Esse é o slide que circula: “usuários do recurso convertem mais do que o dobro”. O efeito verdadeiro é mais 0,60 ponto percentual, ou seja, a leitura crua exagera o efeito em mais de 10 vezes, e o intervalo de confiança dela nem chega perto de conter a verdade.

Rodando três estimadores ajustados na MESMA base, com o mesmo aprendiz (regressão logística com base rica de 14 termos):

estimador efeito estimado erro padrão intervalo de 95% contém a verdade?
leitura crua +6,2369 pp 0,2746 pp +5,6987 a +6,7751 pp não
g-computation, score não ortogonal +0,6741 pp 0,0041 pp +0,6660 a +0,6822 pp não
aprendizado de máquina duplo +0,5155 pp 0,2796 pp −0,0325 a +1,0634 pp sim

A linha do meio merece atenção, e ela é honesta sobre o método: a estimativa pontual do score não ortogonal (+0,6741) ficou MAIS PERTO da verdade que a do aprendizado de máquina duplo (+0,5155). O problema não é a estimativa, é o erro padrão de 0,0041, que declara uma precisão 68 vezes maior do que a real e produz um intervalo de 0,016 ponto de largura que não contém o valor verdadeiro. Aquele intervalo diz “o efeito está entre 0,666 e 0,682, com 95 por cento de certeza”, e está errado.

O aprendizado de máquina duplo devolve um intervalo de menos 0,03 a mais 1,06 ponto percentual. É um intervalo largo, e é a resposta certa: esta base observacional não consegue distinguir efeito zero de efeito de um ponto percentual. O que ela consegue afirmar com segurança é que o ganho de 110,77 por cento do slide não existe.

Intervalos de confiança dos três estimadores contra o efeito verdadeiroTrês intervalos horizontais e uma linha vertical marcando o efeito verdadeiro de mais zero vírgula sessenta ponto percentual. O intervalo da leitura crua está inteiro muito à direita, entre cinco vírgula sete e seis vírgula oito. O intervalo do score não ortogonal é um tracinho minúsculo em zero vírgula sessenta e sete, ao lado da linha mas sem tocá-la. O intervalo do aprendizado de máquina duplo é largo, de menos zero vírgula zero três a mais um vírgula zero seis, e contém a linha.efeito estimado, em pontos percentuais (verdade conhecida: +0,60)+0,60leitura crua+6,24 pp, 10 vezes a verdadescore não ortogonalintervalo de 0,016 pp de largura, e não contém a verdadeaprendizado de máquina duplode −0,03 a +1,06 pp, largo e honesto0+1+3+6intervalo estreito não é sinal de análise boa. Aqui, o mais estreito dos três é o único que erra com confiança.
O melhor resultado dos três é também o mais largo. Em análise observacional, largura de intervalo é informação sobre o que os dados não sabem.

E se você puder simplesmente sortear

Vale colocar a alternativa na mesa, porque ela é quase sempre melhor. Se o recurso puder ser sorteado, a pergunta deixa de exigir qualquer um desses modelos. A calculadora de amostra diz o preço:

Calculadora de tamanho de amostra
-Visitantes por variação
-Total (2 variações)
-Duração estimada

Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.

Com base de 5,6305 por cento (a taxa exata dos não adotantes do exemplo) e efeito alvo de mais 0,60 ponto percentual, o requisito é 24.326 visitantes por variação, ou 12 dias a 30.000 visitantes por semana. Doze dias de sorteio devolvem uma leitura com intervalo estreito E centrado na verdade. Nenhuma quantidade de aprendizado de máquina compra isso a partir de dados observacionais, porque o que falta lá não é modelo, é aleatorização.

O arcabouço serve para quando o sorteio é impossível: recurso já lançado para todos, adesão voluntária, mudança de política. Nesses casos, compare também com desenho de encorajamento, que sorteia o convite em vez do uso, e com série temporal interrompida.

Como rodar aprendizado de máquina duplo na prática

  1. Liste as covariáveis do pré-período antes de olhar o desfecho. Covariável escolhida depois de ver o resultado é a porta de entrada do viés que nenhum score ortogonal remove.
  2. Nunca inclua variável medida durante o período de exposição. É o mesmo erro fatal do CUPAC, e ele enviesa mesmo com a conta certa.
  3. Ajuste os dois modelos auxiliares, desfecho e tratamento. Um só não fecha a ortogonalidade.
  4. Use 5 dobras e fixe a semente da divisão, para o número ser reproduzível.
  5. Confira a sobreposição de propensão. Se existem usuários com propensão estimada perto de 0 ou de 1, o inverso da propensão explode e o erro padrão fica instável. Aparar em 0,02 e 0,98 é prática comum, e a decisão precisa estar no relatório.
  6. Reporte o intervalo, sempre. A estimativa pontual do score não ortogonal deste guia parecia ótima; foi o erro padrão que denunciou o problema.
  7. Rode uma checagem de confundidor não medido. O método corrige a forma da conta, não a ausência de dados; o caminho está em confundidor não medido.

Erros comuns

Faça isso automático na Donnu

Todo esse aparato existe por um motivo: alguém não sorteou. E quando o sorteio não aconteceu, a parte mais difícil não é o estimador, é reconstruir qual era o estado de cada usuário ANTES da exposição, meses depois, sem nenhum registro de quando a exposição começou.

A Donnu registra a configuração do experimento no momento em que ele é criado, com a métrica primária declarada, e mantém o histórico por experimento. Isso mantém a fronteira temporal entre pré-exposição e exposição explícita, que é a condição mínima para qualquer covariável de ajuste ser legítima, e serve para reduzir variância mesmo em teste sorteado, como o MLRATE faz.

E fica a recomendação mais prática deste guia: antes de encomendar uma análise observacional com aprendizado de máquina, calcule quantos dias custaria sortear a mesma pergunta. No exemplo acima foram 12 dias para uma resposta centrada na verdade, contra um intervalo de 1,1 ponto de largura na melhor análise observacional possível. A calculadora de tamanho de amostra faz essa comparação em um minuto.

Referências

Leia também: Estimador duplamente robusto · Escore de propensão · CUPAC · Ajuste por regressão · Confundidor não medido · Calculadora de significância · Read in English

Perguntas frequentes

O que é aprendizado de máquina duplo?
É um arcabouço para estimar um efeito causal quando existem muitas covariáveis e o ajuste é feito por modelos flexíveis. Chernozhukov e coautores mostram que enfiar previsões de aprendizado de máquina numa equação de estimação gera viés pesado, e que esse viés se remove com dois ingredientes: um score ortogonal de Neyman, pouco sensível a erro nas funções auxiliares, e cross-fitting, que é divisão de amostra em dobras. O nome duplo vem de treinar dois modelos auxiliares, um para o desfecho e um para o tratamento.
Qual a diferença entre aprendizado de máquina duplo e ajuste por regressão comum?
A diferença é a forma da conta, não o modelo. Na simulação deste guia, um ajuste com aprendiz flexível mas score não ortogonal mantém quase todo o viés da comparação crua (0,4200 contra 0,4925) e a cobertura do intervalo de 95 por cento cai para 4,7 por cento. Com score ortogonal e cross-fitting, o viés vai para menos 0,0062 e a cobertura sobe para 94,7 por cento. Modelo melhor sem conta certa piora a conclusão.
Por que cross-fitting é obrigatório?
Porque um modelo auxiliar ajustado na amostra inteira já viu cada observação e por isso subestima o resíduo dela, o que deixa um viés que não desaparece com mais dados. Na simulação deste guia, dobrar a amostra de 800 para 1.600 reduz o viés do estimador com cross-fitting de 0,0428 para 0,0206, quase pela metade, enquanto o viés sem cross-fitting sai de 0,0674 para 0,0605, praticamente parado, e a cobertura fica presa em 91 por cento nos dois tamanhos.
Quantas dobras usar no cross-fitting?
Cinco é a escolha padrão e foi a melhor no teste feito para este guia. Com 2 dobras o viés é baixo mas o desvio sobe para 0,2772 contra 0,2346 de 5 dobras, porque cada modelo auxiliar treina com metade dos dados. Com 10 dobras o ganho sobre 5 é marginal (desvio 0,2329) e o custo de computação dobra. A cobertura com 5 e com 10 dobras deu igual, 94,5 por cento.
Aprendizado de máquina duplo serve para teste A/B aleatorizado?
Serve, mas para ganhar precisão, não para consertar viés: num sorteio válido não há viés a consertar. O uso natural é reduzir variância ajustando por covariáveis do pré-período, e é exatamente o que o estimador MLRATE faz, com cross-fitting para evitar viés de sobreajuste. Quando o sorteio NÃO existe, o arcabouço passa a ser sobre viés, e aí vale o aviso de sempre: nenhum ajuste corrige confundidor que você não mediu.
Qual é a exigência teórica sobre os modelos auxiliares?
Eles precisam convergir rápido o bastante, mas não precisam ser perfeitos. Chernozhukov e coautores registram que, em problemas suaves, a condição se traduz na exigência grosseira de que os parâmetros auxiliares sejam estimados a uma taxa de o(N elevado a menos um quarto). É uma taxa bem mais lenta que a do parâmetro de interesse, e é isso que permite usar floresta aleatória, lasso, redes e árvores impulsionadas nas funções auxiliares.