Definir nós

Ir para:

Como o argumento knots funciona

O Meridian usa uma abordagem de intercepto com variação de tempo para modelar efeitos temporais (Spline (matemática) na Wikipédia; Ng, Wang e Dai. 2021). Essa abordagem modela os efeitos temporais \(\mu = [\mu_1, \dots, \mu_T]\) para cada um dos períodos \(T\)(uma MMM com 3 anos de dados semanais tem \(52 \times 3\) períodos). Os efeitos temporais \(T\) podem ser modelados com possivelmente menos de \(T\)parâmetros usando a relação:

\[\mu = W \ast b\]

Em que:

  • \(\mu\) é \(1 \times T\) , representando o efeito de cada tempo \(t=1, \dots ,T\), \(W\) é uma \(T \times K\) matriz determinante de ponderação

  • \(b\) (chamado de knot_values no Meridian) é \(K \times 1\), em que \(K \leq T\).

A inferência bayesiana de distribuição a posteriori é feita em \(b\), que é traduzida em termos de\(\mu\) de acordo com a matriz de ponderação \(W\). O número de nós \(K\)é determinado pela entrada do usuário. A matriz de ponderação \(W\) é determinada pela distância L1 de um período até os dois nós vizinhos.

Para entender como a distância L1 determina a matriz de ponderação, considere o período\(9\), em que os dois nós vizinhos estão em \(6\) e \(11\). A distância L1 do período \(9\) e do nó \(11\) é \(2\). A distância L1 do período \(9\) e do nó \(6\) é \(3\). Portanto, o nó em \(6\) recebe a ponderação \(0.4 = 1 - \frac{3}{2+3} \) , e o nó em \(11\) recebe a ponderação\(0.6 = 1 - \frac{2}{2+3} \). A média ponderada desses dois nós vizinhos determina o valor de \(\mu_9\).

No caso de knots < n_times, há algum nível de redução de dimensionalidade. Os períodos de n_times são modelados com menos parâmetros n_times. A função de ponderação determina como os períodos são combinados.

Como escolher o número de nós para efeitos temporais no modelo

Ao pensar em como definir knots de ModelSpec, considere os dois extremos: os nós podem variar de um até o número de períodos (n_times). No caso de knots = n_times, não há redução de dimensionalidade, e cada período recebe o próprio parâmetro. Em um modelo geográfico, é possível ter o mesmo número de nós e períodos, já que você tem várias regiões geográficas e, portanto, diversas observações por período. No caso de knots = 1, todos os períodos são medidos com um único parâmetro, o que equivale a dizer que o tempo não tem efeito. Essa ausência de efeito se torna uma intercepto comum para todos os períodos.

No caso de 1 < knots < n_times, você está no meio desses dois extremos. É possível testar um intervalo de valores que abrange o espaço de valores qualificados. Para saber como definir o meio desses dois extremos, acesse Compensação de viés-variância.

Recomendamos tentar o seguinte:

  • Os modelos geográficos precisam começar pelo padrão (knots = n_times). Se você perceber que o overfitting é extremo ou que as estimativas de efeito da mídia não são realistas, reduza o número de nós. A necessidade dessa redução fica mais evidente à medida que o número de regiões geográficas por ponto de tempo diminui.

  • Os modelos nacionais devem começar pelo nó 1 padrão e, a partir daí, aumentar o número de nós. Continue aumentando até que o overfitting fique extremo ou as estimativas de efeito da mídia se tornem irreais.

  • Um número semelhante de nós pode retornar resultados parecidos, como knots = 10 e knots = 11. Por isso, é recomendável distribuir os valores que você quer usar.

Se quiser informações que ajudam a desenvolver algoritmos para a escolha de nós, acesse Seleção de nós em processos gaussianos esparsos com uma função objetiva variacional na biblioteca on-line da Wiley (link em inglês).

Compensação de viés-variância

Pense na definição do número de nós como uma compensação de viés-variância. No caso de knots = n_times, cada período recebe um parâmetro próprio. Sendo assim, o efeito de um determinado período é estimado usando apenas dados desse intervalo. No entanto, knots = n_times tem alta variação devido ao número menor de pontos de dados disponíveis em um determinado período.

No caso de knots < n_times, cada nó é estimado usando os dados de períodos próximos. Quanto maior a proximidade, maior a ponderação. Como os dois nós mais próximos determinam a inferência de um período específico, o efeito de um período é estimado pelos dados dele mesmo e de períodos próximos. À medida que a quantidade de nós diminui, os pontos de tempo próximos passam a influenciar mais a inferência de um determinado ponto de tempo, e aqueles mais próximos têm uma ponderação maior. Isso reduz a variância porque mais pontos de tempo são usados para estimar o efeito de um determinado período. No entanto, os dados não são do período em questão, o que aumenta o viés.

Em resumo, mais nós reduzem o viés nas estimativas de efeitos temporais, e um número menor de nós diminui a variação nessas estimativas. Como analista, você pode ajustar a compensação de viés-variância. Se o tempo for uma variável de confusão importante entre a mídia e o KPI, a compensação de viés-variância nas estimativas de efeitos temporais vai causar o mesmo efeito nas estimativas de efeitos causais.

Além disso, é possível escolher diferentes compensações de viés-variância para regiões de tempo distintas. Basta definir knots como uma lista, que especifica os locais dos nós. Esses locais podem ser densos em áreas onde você prefere baixo viés nas estimativas (como nas festas de fim de ano) e raros onde o analista prefere baixa variância (como em outras épocas do ano).

Quando é recomendado usar menos nós

Ao definir o número de nós, pense também em como o período afeta a execução da mídia. As variáveis de controle precisam ser variáveis de confusão que afetam tanto a execução da mídia quanto o KPI. Para mais informações, consulte Selecionar variáveis de controle.

O mesmo serve para o tempo. Se o período não for um fator para a execução da mídia, ele não será uma variável de confusão real. Assim, você evita usar muitos graus de liberdade na modelagem de tempo com muitos nós. Os anunciantes precisam definir se o período é importante no planejamento da execução de mídia. Por exemplo, o planejamento de mídia de uma marca de viagens provavelmente depende do período. Já uma marca de lanches pode ter um planejamento mais consistente em diferentes períodos. Além disso, considere se o tempo é mesmo a variável de confusão importante ou se é o substituto de alguma outra variável que pode ser modelada de forma direta, talvez com menos graus de liberdade. Por exemplo, o tempo foi realmente a variável de confusão que gerou a execução da mídia? Ou foi o número de casos de COVID no país? Os anunciantes conhecem a própria estratégia de planejamento de mídia e têm insights sobre esses tópicos.

Quando usar knots < n_times

Há situações em que você precisa definir knots < n_times. Por exemplo, em um modelo nacional sem várias observações por período e sem graus de liberdade suficientes para cada período ter um parâmetro próprio. É necessário um certo nível de redução de dimensionalidade.

Outro exemplo é quando você precisa incluir uma mídia ou uma variável de controle nacionais. Por definição, as variáveis nacionais mudam com o tempo, mas não com base na região. Essa variável é perfeitamente colinear com o tempo e, portanto, é redundante com um modelo que tem um parâmetro para cada período. Se você definir knots com um valor próximo a n_times, tecnicamente poderá ter um modelo identificável. Porém, ele ainda pode ter uma identificabilidade fraca e causar problemas. Considerando as preocupações quanto à estimativa dos efeitos temporais em um modelo nacional, é ainda mais importante ter controles de alta qualidade em um modelo nacional do que em um modelo geográfico. Para mais informações sobre esses controles, consulte Selecionar variáveis de controle.

Outras abordagens para modelar efeitos temporais: indicadores binários e funções periódicas

É possível criar e inserir indicadores binários ou funções periódicas como variáveis de controle para modelar efeitos temporais no Meridian. Cada uma dessas opções oferece vantagens em diferentes casos.

Indicadores binários

Um indicador binário assume o valor 1 quando uma condição é atendida e 0 quando não é. Por exemplo, o valor 1 para indicar todos os períodos em dezembro e 0 caso contrário. No Meridian, esses indicadores podem ser usados como variáveis de controle para modelar efeitos temporais consistentes em um conjunto de períodos e que podem variar por região geográfica. Nós e indicadores binários podem ser usados juntos, mas é preciso ter cuidado com o número total de parâmetros usados na modelagem.

Efeitos consistentes

Um indicador binário pode abranger vários períodos, o que pressupõe que o efeito do KPI (per capita em um modelo geográfico) seja consistente em todos os períodos. Ele usa vários períodos para estimar um efeito consistente, melhorando as estimativas e usando graus de liberdade de forma eficiente, desde que a premissa de um efeito consistente seja razoavelmente correta.

O indicador não afeta períodos fora dos indicados. Por outro lado, colocar um nó em um período específico afeta os períodos vizinhos até o próximo nó adjacente.

Modelar efeitos temporais como consistentes em um conjunto de períodos pode ser interessante para um modelo nacional, no qual impor uma estrutura ajuda a estabilizar as estimativas. Para um modelo geográfico, a flexibilidade de usar muitos nós costuma ser melhor.

Variação geográfica

Quando um indicador binário é usado como uma variável de controle em um modelo geográfico, ele é estimado como tendo um efeito dependente da região. Isso é ideal para eventos em que você espera que o impacto seja diferente por região, como o Super Bowl, que tem um impacto maior na cidade-sede. Já os nós estimam efeitos temporais que não dependem da região geográfica. Eles criam uma função spline flexível para capturar padrões temporais que ocorrem em todas as regiões. Isso os torna mais eficientes em termos de parâmetros, caso você não espere efeitos temporais dependentes da região.

Desativar a variação geográfica para um indicador binário

É possível usar um indicador binário sem efeitos temporais dependentes da região. Para fazer isso, defina a distribuição a priori da variância hierárquica, xi_c, como uma massa de pontos em zero. Nesse caso, cada coeficiente geográfico para o indicador binário será idêntico. Para desativar os efeitos geográficos de todas as variáveis de controle, defina a distribuição a priori de variância como um valor determinista de zero:

xi_c = tfp.distributions.Deterministic(0)

Para desativar o efeito geográfico em apenas uma variável de controle específica, defina o parâmetro scale da distribuição a priori como zero. Por exemplo, se você tiver quatro variáveis de controle e quiser desativar os efeitos geográficos da primeira:

xi_c = tfp.distributions.HalfNormal(scale=[0, 5, 5, 5])

Funções periódicas

Outra opção é adicionar uma função periódica, por exemplo, uma série de Fourier, como uma variável de controle. As funções periódicas podem ser uma alternativa interessante aos nós, principalmente em modelos nacionais.

Elas modelam os efeitos temporais como tendo um padrão suave e cíclico no KPI (KPI per capita no caso de um modelo geográfico) e são uma forte proposição paramétrica sobre como o tempo afeta o KPI. Isso é adequado para modelos nacionais, em que impor uma estrutura ajuda a ter uma estimativa estável de sazonalidade. Para um modelo geográfico, a flexibilidade de usar muitos nós costuma ser melhor, já que não força um padrão suave e cíclico no KPI.

Recomendações práticas

As recomendações dependem se o modelo é geográfico ou nacional.

Modelos geográficos

Os indicadores binários podem ser usados em modelos geográficos para modelar efeitos temporais dependentes da região. Nós e indicadores binários podem ser usados juntos, mas é preciso ter cuidado com o número total de parâmetros usados na modelagem.

  • Para efeitos temporais que não dependem da região geográfica, use nós: se você quiser modelar um padrão temporal consistente em várias regiões, eles oferecem flexibilidade sem risco de parametrização excessiva.
  • Para efeitos temporais que são dependentes da região geográfica, use um indicador binário: se você tiver uma hipótese forte de que o impacto de um evento varia de acordo com a região, um indicador binário como variável de controle é a ferramenta certa.

Modelos nacionais

Os modelos nacionais se beneficiam principalmente da parcimônia, que pode ser alcançada com indicadores binários, funções periódicas ou alguns nós bem posicionados. Eles podem ser usados juntos, mas é preciso ter cuidado com o número total de parâmetros, dada a importância da parcimônia em um modelo nacional. Cada uma dessas opções melhora as estimativas e usa graus de liberdade de maneira eficiente, desde que a premissa seja razoavelmente correta. A seguir, resumimos as premissas para cada elemento:

  • As funções periódicas modelam os efeitos temporais como tendo um padrão suave e cíclico no KPI.
  • Os indicadores binários modelam os efeitos temporais como consistentes em todos os períodos afetados.
  • Os nós modelam efeitos temporais como uma tendência linear segmentada ao longo do tempo.