Escalando dados que estão em diferentes ordens de magnitude para plotagem

9

Observando o seguinte conjunto de dados:

 Date        Visits   Carts      carts       Orders
                      Created   converted    Created
2011-11-11    12277     161        9          36  
2011-11-12    11871     93         5          19    
2011-11-13    13072     107        8          8     
2011-11-14    13594     112        4          34    
2011-11-15    12741     129        8          43    
2011-11-16    15491     261        16         57 
2011-11-17    13418     186        17         42    

Me pediram para plotar isso em um gráfico, usando a Data tem o eixo X e o restante dos dados no eixo Y. O problema é que a escala dos dados é dramaticamente diferente. onde as visitas estão na casa dos milhares e as ordens criadas estão nas dezenas baixas, os dados não são bem plotados em um gráfico.

Eu queria saber o que um estatístico faria nesse cenário. Eu poderia dividir as Visitas por 1000 e depois colocar a descrição (Visitas (K)), mas depois eu começo a ter o mesmo problema com os Carrinhos criados, pois eles são nas centenas e tudo mais está nas dezenas baixas.

Que tipo de coisa é feita nesse cenário?

Mike
fonte

Respostas:

14

Não é irracional no início plotar os gráficos de linhas como uma série de múltiplos pequenos, com escalas diferentes para o eixo Y, mas com o eixo X (datas) alinhado. insira a descrição da imagem aqui

Acho que este é um bom começo, pois permite examinar os dados brutos e comparar as tendências entre os diferentes gráficos de linhas. Na IMO, você deve examinar primeiro os dados brutos e depois pensar em conversões ou maneiras de normalizar os gráficos para serem comparáveis ​​depois de examinar os dados brutos.

Como King já mencionou, parece que suas variáveis ​​têm uma ordem natural com base nos nomes e números e, assumindo que seja apropriado, criei três novas variáveis ​​com base na porcentagem convertida em cada estado. As novas variáveis ​​são;

% Carts Created = Carts_Created/Visits
% Orders Created = Orders_Created/Carts_Created
% Carts Converted = Carts_Converted/Orders_Created

Fazer porcentagens é uma maneira de aproximar a série de uma escala comum, mas mesmo assim, colocar todas as linhas em um gráfico (como abaixo) ainda é difícil de visualizar com eficácia. O nível e a variação das ordens criadas e carrinhos da série convertida superam a das outras séries. Você não pode ver nenhuma variação nas séries criadas para carrinhos nessa escala (e suspeito que seja o que mais lhe interessa). insira a descrição da imagem aqui

Então, novamente, a IMO, uma maneira melhor de examinar isso, é usar escalas diferentes. Abaixo está o gráfico de porcentagem usando escalas diferentes.

insira a descrição da imagem aqui

Com esses gráficos, não me parece haver nenhuma correlação significativa entre as séries, mas você tem muitas variações interessantes dentro de cada série (especialmente a proporção convertida). O que há com isso 2011-11-13? Você tinha uma proporção muito menor de pedidos criados, mas todos os pedidos criados eram um carrinho convertido. Você teve outras intervenções que pudessem explicar tendências nas visitas ao local ou na proporção ou na porcentagem de carrinhos criados?

Tudo isso é apenas análise exploratória de dados e, para dar mais passos, eu precisaria de mais informações sobre os dados (espero que este seja um bom começo). Você poderia normalizar os gráficos de linhas de outras maneiras para poder plotá-los em uma escala comparável, mas essa é uma tarefa difícil, e acho que pode ser feita com a escolha eficaz de escalas arbitrárias com base no que é informativo, considerando os dados em vez de escolher alguns esquemas de normalização padrão. Outra aplicação interessante de visualizar muitos gráficos de linhas simultaneamente é o horizonte , mas é mais para visualizar vários gráficos de linhas ao mesmo tempo.

Andy W
fonte
Obrigado pelos detalhes em sua resposta, originalmente eu tinha vários gráficos. Meu chefe decidiu que eles gostariam de todas as séries no gráfico (acho que provavelmente são muitas, mas não sou eu quem a examinará :)) Acho que vou considerar a normalização dos dados, talvez em 0 - 1. Eles só querem usar o gráfico para visualizar tendências, os dados da tabela geralmente são exibidos abaixo do gráfico.
Mike
@ Mike, é um pedido razoável. A normalização das séries não deve alterar a tendência (apenas o nível e a variação de cada série). Espero que você obtenha respostas mais esclarecedoras sobre como normalizar a série de maneiras eficazes, mas ainda significativas. Apenas uma palavra de cautela, normalmente, você deseja plotar 3-5 linhas em um gráfico; é muito mais difícil fazer todas essas comparações (pequenos múltiplos são uma solução alternativa para esse problema).
Andy W
11
@ Mike Sim, neste caso (apenas visualizando dados sem números), você pode simplesmente expressar seus dados em uma escala mínima / máxima, como é feito em telas paralelas . Mostrar números abaixo da tabela também é uma boa ideia.
chl
11
Apenas mais uma observação sobre como normalizar para uma escala mínima / máxima, como sugerido pelo @chl. É bom ver os dados brutos primeiro, se você tiver algum erro externo grande, considere não incluir esse valor no processo de normalização (embora deva ser aparente se o fizer no gráfico normalizado, por exemplo, se você tiver um gráfico de linhas com um valor alto / baixo e o restante é plano). Acho que Michael Friendly também concordaria em incluir a tabela abaixo do gráfico.
Andy W
2

Você pode ter 2 eixos y separados, Visitas (k) e Carrinhos criados em um, os outros 2 em outro (ou da maneira que melhor se adequar ao seu objetivo).

Definitivamente, esse não é um método elegante, mas lembro-me de fazê-lo anos atrás, quando eu só queria comparar tendências ao longo do tempo.

OU

Você pode plotar a alteração percentual ao longo do tempo, se ela se adequar ao seu objetivo.

Rei
fonte
Eu considerei a rota que você mencionou com os 2 eixos Y diferentes, mas o que eu não gostei foi: se uma nova série fosse apresentada que não caberia em um dos dois eixos Y, eu provavelmente ficaria preso. obrigado pela sugestão, e talvez uma outra vez que eu consideraria isso mais :)
Mike
E a segunda sugestão sobre o uso de porcentagem? ou seja, indexar tudo a 100 na data de início (ou qualquer outra data que deixe seu gráfico bonito). Você pode adicionar quantas novas séries quiser!
Rei
Essa é uma opção, atualmente estou no Excel tentando descobrir como normalizar esses dados e se eles funcionam. se assim não for eu vou dar a percentagem ideia ir :)
Mike
2

No final, decidi normalizar os dados dividindo cada valor pelo valor máximo e depois multiplicando por 100.

  1. Encontre o valor máximo:

      Date        Visits   Carts      carts       Orders
                          Created   converted    Created
    2011-11-11    12277     161        9          36  
    2011-11-12    11871     93         5          19    
    2011-11-13    13072     107        8          8     
    2011-11-14    13594     112        4          34    
    2011-11-15    12741     129        8          43    
    2011-11-16    15491     261        16         57 
    2011-11-17    13418     186        17         42    
    
    maximum       15491     261        17         57
    
  2. Divida cada número pelo máximo e multiplique por 100:

      Date        Visits   Carts      carts       Orders
                          Created   converted    Created
    2011-11-11    79.25     61.68      52.94      63.15  
    2011-11-12    76.63     35.63      29.41      33.33    
    2011-11-13    84.38     40.99      47.05      14.03      
    2011-11-14    87.75     42.91      23.52      59.64    
    2011-11-15    82.24     49.42      47.05      75.43    
    2011-11-16    100       100        94.11      100
    2011-11-17    86.61     71.26      100        73.68    
    
  3. Em seguida, plotei isso no gráfico, obviamente isso só demonstra tendência e o usuário tem a tabela de dados na parte inferior da página.

Mike
fonte
0

Essa seria minha abordagem também - - para ajustar as diferentes dimensões para a mesma escala, dividindo por X, mas eu usaria o valor médio, e não o valor máximo ou mínimo. O motivo é que, à medida que você adiciona dados ao longo do tempo, é provável que seu máximo ou mínimo seja alterado e, em seguida, o que era 100% no último gráfico é outra coisa dessa vez - o gráfico não é tão facilmente reconciliável com os gráficos anteriores - - se Se você usar o avg, as alterações não serão tão drásticas.

bjf
fonte