“Nossos cientistas geraram vários gráficos e absolutamente não sabemos onde colocá-los. Vamos tentar anexá-los de alguma forma. c) ouviu
“Gráficos ruins em todos os lugares. No meu trabalho, encontro constantemente visualizações de dados extremamente duvidosas. Ninguém cria gráficos ruins intencionalmente. Mas isso está acontecendo. Novamente e novamente. Em cada empresa, em todos os setores da economia, funcionários de todos os níveis. Isso está acontecendo na mídia. Isso acontece onde você espera que as pessoas possam visualizar dados. ” (c) autor do livro
Isso acontece aqui, em
Habré : olhando artigos no fluxo “Visualização de Dados”, muitas vezes me pego pensando que não entendo e não consigo entender a essência do que é exibido. O artigo irá considerar alguns exemplos. E o que é mais desagradável para mim, isso também acontece no meu trabalho. Não constantemente, mas com mais frequência do que gostaríamos.

O título do livro, Storytelling with Data, parecia convincente. Escolhi-o para a leitura noturna e não me arrependi. O livro não possui fórmulas, gráficos astutos e incomuns, casos complexos. Inglês claro. Impressão de qualidade. É lido como ficção. O livro será útil para todos que tiverem que fazer apresentações baseadas em dados. Eu acho que trará um benefício particular para os envolvidos na análise de dados.
Esta resenha é muito informal: o autor do livro, meus pensamentos, situações do meu trabalho, bem como as folhas de dicas para links matplotlib estão misturados. Haverá muitas fotos. Quase todas as ilustrações são redesenhadas a partir de um livro em Python.
Eu fui ensinado estatística na universidade, agora os alunos aprendem aprendizado de máquina, surgiram escolas de dados de grandes empresas. Mas até agora não ouvi dizer que os analistas de dados são seriamente ensinados a "contar histórias" com base em dados. Mas este é um passo necessário para transformar dados em informação e conhecimento. É importante informar o cliente sobre as descobertas de maneira qualitativa. E para dizer de forma clara e divertida para ele, que ele imediatamente queria melhorar alguma coisa nos negócios (talvez com a nossa ajuda), e não apenas disse: “Bem, ok, isso parece interessante” e foi fazer seus negócios cotidianos. .
Algumas citações de Habr:
Em uma conversa com Jonathan Nolis, um dos principais analistas de dados de Seattle que trabalha com empresas da Fortune 500, discutimos a seguinte pergunta: “Qual das duas habilidades mais importante para um profissional de dados é a capacidade de usar modelos complexos de profundidade treinamento ou a capacidade de desenhar bons slides no PowerPoint? ” Nolis argumentou a favor deste último, acreditando que uma explicação acessível dos resultados da análise continua sendo um elemento-chave do trabalho com informações.
O que os analistas de dados realmente fazem? Resultados de 35 entrevistas
E aqui está a segunda citação sobre soft skills:
- Vamos começar com habilidades sociais - porque elas não são suficientes. Apesar do fato de um cientista de dados ser uma profissão técnica, é extremamente importante poder apresentar corretamente / lindamente o resultado do seu trabalho. Grosso modo, como um iPhone - ele tem bom não apenas o recheio, mas também a aparência, a embalagem e a história. As pessoas precisam aprender a apresentar seus resultados: escrever postagens no blog, falar, compartilhar código. Os melhores cientistas de dados entendem isso muito bem e o fazem. Caso contrário, você pode ficar preso no seu buraco e, mesmo com um resultado legal, passar despercebido.
“É difícil para mim entender a motivação de um cientista de dados que não vê a beleza na matemática” - Kirill Danilyuk, cientista de dados
1. Introdução
O livro começa com exemplos de transformação de visualizações com falha em compreensíveis. Aqui está um deles.
Foi:

Tornou-se:
Caderno Jupyter no GitHubSe, no primeiro caso, minha reação ao gráfico foi: “O que é isso?”, No segundo caso, foram necessários alguns segundos para entender a essência das informações e depois entrar nos detalhes.
Quase toda visualização de uma apresentação é um trabalho. Estou construindo gráficos usando o matplotlib, e o autor do livro está usando o Excel. Para facilitar o trabalho no futuro, percebi por mim mesmo a geração de alguns gráficos de um livro em Python. O código contém um monte de "ajuste de arquivo" (ajuste fino). Acabou sendo uma espécie de cábula com comentários. Disponível
aqui .
Vamos dar uma rápida olhada no conteúdo das partes do livro.
Parte 1: A Importância do Contexto
Exploratório vs explicativo. A análise de dados é como procurar pérolas: às vezes você precisa abrir 100 ostras (testar 100 hipóteses) para encontrar um par de pérolas. No processo de tal trabalho, visualizamos os dados para nós mesmos. Quando chega a hora de falar sobre os resultados, muitas vezes existe o desejo de usar os mesmos gráficos e falar de todo o trabalho realizado: “Abra a primeira ostra. Está vazio. Mas tudo bem, ainda temos 99 ostras. Abrimos o segundo. " Não há necessidade de fazer isso. É necessário separar a análise
exploratória da
explicativa . No estágio da análise explicativa, é necessário reservar um tempo para que outras visualizações sejam feitas, dependendo do contexto: para quem, o que e como.
Um dos exemplos interessantes em que eu gostaria de ver uma análise explicativa em vez de uma pesquisa é o artigo “
Análise dos artigos de Habrahabr e Geektimes ”. O autor distribuiu vários gráficos e tabelas, mas eu não vi nenhuma conclusão deles. Seria muito interessante saber quando publicar artigos para obter o máximo de visualizações. De acordo com uma programação, este é domingo, de acordo com outra programação - 6 da manhã. Mas será que o domingo 6 da manhã é um bom momento para publicar? Não tenho certeza. Um dos comentários:
Para. É óbvio que o conteúdo e os detalhes dependem da audiência. Mas aqui você pode errar. Certa vez, um dos ouvintes irritados me disse: "10 engenheiros estão sentados à sua frente, que trabalham na produção de petróleo a maior parte de suas vidas, e você nos diz como analisar as curvas de declínio da produção por 20 minutos? !!" E é bom que ele tenha dito isso, já que eu tive conteúdo semelhante por mais 20 minutos.
O que. Um pensamento que não é óbvio para mim. É importante declarar claramente quais ações você espera do seu público. Por exemplo, para alocar outros 10 milhões de rublos, contratar 5 desenvolvedores, reduzir o departamento, aumentar a temperatura na caldeira para 700C, iniciar o projeto de previsão de dívida operacional. Isso é desconfortável. Sempre há um sentimento de que o "negócio" sabe muito melhor e é assustador fazer uma oferta maluca. Mas se o público não entendeu o que, de fato, eles querem dela, tudo pode e será limitado ao relatório escutado. Eles escutam, agradecem e continuam seus negócios.
Os "negócios" provavelmente sabem melhor, mas os "negócios" neste momento podem ser ocupados com coisas completamente diferentes: a fábrica está pegando fogo ou hackers apagaram irrevogavelmente parte dos dados históricos dos sensores. (Todas essas são situações reais). Comporte-se como um especialista no assunto: você analisou os dados, olhou o processo de dentro para fora. De qualquer forma, mesmo uma proposta incorreta pode dar origem a uma discussão construtiva.
Recentemente, fiz um ótimo trabalho para um dos clientes: analisei dados por 3 anos de várias fontes. Ele compilou as descobertas em várias volumosas tabelas do Excel e documentos do Word, enviando-as por e-mail, esperando que vários projetos fossem lançados. Em resposta, ele recebeu: "Sim, é muito interessante!". E é isso. Agora entendo que não poderia haver outra resposta.
Como Os gráficos de apresentação são diferentes dos gráficos de letras. No primeiro caso, vemos a reação do público, a qualquer momento, podemos responder perguntas, dar explicações. Portanto, o nível de detalhe nos gráficos para cartas deve ser maior.
Parte 2: Escolhendo uma visualização eficaz
O autor fornece uma lista de boas maneiras de visualizar dados. De incomum para mim: visualização usando texto simples e slopegraphs.
Texto simples Se algo puder ser expresso em um dígito, talvez o cronograma não seja necessário.
Caderno Jupyter no GitHubRecentemente, usei essa ideia para apresentar um projeto de monitoramento e previsão de acordos com agentes: "
7.000.000 de rublos de dívida acumulada no momento da falência de um agente". O efeito foi maravilhoso, a platéia imediatamente sintonizou da maneira certa.
Gráfico de inclinação. Era uma vez, usei gráficos paralelos do SAS JMP. Algo parecido. Infelizmente, em muitos ambientes, não existe esse método de visualização, mas é ideal para comparação de fatores múltiplos:
Caderno Jupyter no GitHubRecentemente, em Habré, foi publicado o artigo "
Os melhores empregadores em TI: os primeiros resultados do serviço de estimativas em" Meu Círculo " ". Houve uma linha do tempo que levou a uma discussão nos comentários:

As pequenas empresas, em média, em quase todos os aspectos, são classificadas como superiores às grandes. Fiquei pensando, mas faz sentido mudar de uma empresa pequena para uma boa e grande? O resultado da comparação usando o gráfico de inclinação:
Métodos de visualização incorretos. O autor do livro adverte contra o uso de torta, diagramas de rosca e também recomenda nunca usar 3D.
Gráficos de pizza. Eu sei por mim mesmo: quando vejo um gráfico de pizza, começo imediatamente a procurar números (por cento) nele. E se não houver números, pule. É difícil para as pessoas comparar ângulos sem um transferidor. A única coisa que se perde ao se mover de um gráfico de pizza é uma visualização do fato de que todas as partes juntas formam um único todo (100%). Mas se o gráfico de pizza como um todo não funcionar, isso não será mais importante.
Gráficos de rosca. Pior ainda que circular, porque, em vez de comparar ângulos, você deve comparar os comprimentos dos arcos.
3D Alguns exemplos feitos usando o Excel.
O que você acha que é igual a D?

Além disso, você precisa traçar com o dedo o valor de 35 (é difícil fazer uma curva com os olhos), para que 35 não esteja correto. O valor correto é 40!
O 3D combinado com gráficos de pizza faz maravilhas em geral. Como C é maior que B? Pelo menos sobre?

De fato, C é 5% menor que B e eles são 30% e 35%, respectivamente! Só não use 3D para visualizar dados.
Parte 3: O lixo é seu inimigo!
Cada elemento no gráfico carrega uma carga cognitiva. Quanto maior a relação sinal / ruído da visualização, melhor. Não em detrimento da compreensibilidade, é claro. Elementos extras tornam o gráfico à primeira vista visualmente muito mais complicado do que realmente é. Como resultado, parte do público decide não fazer um esforço e gastar tempo para entender a visualização. Muitas vezes acontece comigo em Habré: "Oh! Este gráfico parece ser interessante, mas de alguma forma é muito complicado. Talvez eu deixe um marcador e entenderei da próxima vez. " Os autores de artigos sobre Habré não perdem nada com essa decisão. Mas um cliente em potencial, investidor, funcionário ou empregador poderia ter aparecido em meu lugar.
O autor do livro explica o que é lixo nos gráficos e como lidar com isso. Apenas dê um exemplo.
Foi:

Apesar do gráfico visualizar uma "descoberta" muito simples, meu primeiro pensamento é: "Uh?". O cérebro se recusa a desperdiçar força para se aprofundar nas informações.
Tornou-se:
Caderno Jupyter no GitHubO cérebro não está mais em pânico. Havia um desejo de entender.
Parte 4: concentre seu público
Um pouco de exercício. Conte o número de dígitos "3" na figura a seguir.

Definitivamente, eu não faria essa tarefa, provavelmente você também não. A única maneira de se apresentar para uma pessoa comum (não um gênio) é olhar para todos os números seguidos, de cima para baixo, da esquerda para a direita. A resposta correta é 6.
Agora veja a figura a seguir. Quanto mais fácil agora para concluir a tarefa:

Segundo os estudos, uma pessoa em 8 a 10 segundos de visualização do gráfico decide se deve gastar mais tempo ou é melhor voltar a atenção para outra coisa. Gráficos sem atributos que atraem a atenção são semelhantes à primeira imagem. Provavelmente, o público ficará com preguiça de entender e, após 8 segundos, perderá o interesse, sem ter recebido nenhuma informação. Se o gráfico se parecer com uma segunda imagem, o público captura rapidamente as informações selecionadas. Mais rápido do que imagina. E mesmo que após 8 segundos os leitores voltem sua atenção para outra coisa, a parte mais importante da informação será recebida.
A única maneira de obter informações deste gráfico é lê-lo na íntegra:

O cronograma revisado chama imediatamente a atenção do público para um “achado” específico: algo precisa ser feito com isolamento acústico.
Caderno Jupyter no GitHubParte 5: Pense como um Designer
Para mim, designers são pessoas que pintam belas imagens. Não sou designer, nunca tirei fotos bonitas. Felizmente, a visualização de dados é mais fácil. É necessário desenvolver gráficos, levando em consideração os seguintes pontos: acessibilidade,
acessibilidade e estética.
Oportunidades. Quando pegamos a tesoura do alfaiate, fica imediatamente claro onde colocar o polegar e onde - alguns outros dedos. Com horários também: o público deve entender imediatamente onde procurar e o que fazer com esse horário. Para fazer isso:
- Destacar pontos importantes. Recomenda-se selecionar não mais que 10% dos elementos de visualização, caso contrário, o efeito será perdido. "É fácil encontrar gaviões entre pombos, mas fica cada vez mais difícil quando há mais espécies de aves."
- Elimine distrações. “A perfeição é alcançada não quando não há nada a acrescentar, mas quando não há nada a remover”, - Antoine de Saint-Exupery.
a. Nem todos os dados são igualmente importantes. Livre-se de componentes não críticos.
b. Quando as peças não forem necessárias, agregue.
c. Pergunte a si mesmo periodicamente: se isso for descartado, algo mudará? Não muda - jogue fora.
d. Envie itens de plano de fundo para o plano de fundo. Use uma cor cinza para isso. - Crie uma hierarquia clara de informações. Usando diferentes atributos que atraem a atenção, mostre ao seu público a sequência na qual eles precisam receber informações. Por exemplo, como no gráfico a seguir:
Caderno Jupyter no GitHubDisponibilidade O conceito de acessibilidade sugere que o design deve ser adequado para pessoas com diferentes capacidades. Isso inclui pessoas com diferentes experiências, conhecimentos, habilidades técnicas e o grau de envolvimento na área de assunto. Você pode ser um engenheiro, mas não requer um público de ensino técnico superior para entender seus horários:
- Não complique demais. Se possível, use fontes visualmente limpas (Arial), palavras claras e frases curtas.
- O texto é seu amigo. No mínimo, o gráfico deve ter um título e nomes de eixos. Vamos ver como o texto simples pode alterar a percepção de um gráfico:
Nenhum texto
Sobre o que é este gráfico?

Texto mínimo necessário
Algo está começando a ser desenhado: existem alguns aplicativos que foram processados menos que os recebidos desde maio.

Muito texto
Agora está tudo claro: as pessoas se foram, a equipe não está lidando, é necessário contratar mais dois especialistas.
Caderno Jupyter no GitHubEstética. Recentemente, em Habré, foi publicado o artigo "
Visualização de comentários dos canais do YouTube das comunidades touhou internacionais e locais ". Honestamente, ainda não entendo por que preciso disso e quais informações posso obter dos gráficos ... Mas como são lindas! Eu olhei para ele com prazer (sem entender nada). Gastando tempo e esforço extra com a estética de seus horários, você aumenta a chance de que o público seja mais paciente e atento a eles. Consequentemente, as chances são de que o público entenda o que você deseja transmitir.
Para fazer isso:
- Use cores sabiamente.
- Preste atenção ao alinhamento.
- Crie mais espaços (espaços vazios).
Um exemplo de como trazer um gráfico para uma aparência estética:
Was

Tornou-se
Caderno Jupyter no GitHubParte 6: Análise crítica de visualizações
O autor fornece cinco exemplos de boas visualizações e examina em detalhes por que eles são feitos dessa maneira.
Gostei deste exemplo:
Caderno Jupyter no GitHub- Uma hierarquia visual distinta: lemos o cabeçalho, vamos para os números em negrito; a partir deles, da direita para a esquerda, para o texto "Necessidade não atendida (intervalo)". Em alguns segundos, entendemos: se nada for feito, a necessidade não atendida aumentará.
- Em "Necessidades não atendidas (lacunas)", lemos todos os rótulos. Entendemos onde os diretores e as principais fontes dos novos diretores se perdem devido ao fato de as colunas serem assinadas diretamente.
- Idéia muito interessante de colunas negativas.
Parte 7: Lições Narrativas
Uma boa história é emocionante. Com base na experiência da literatura e do cinema, o autor mostra como contar histórias interessantes usando dados. Uma das dicas: antes de preparar a apresentação, escreva uma “grande ideia” (expresse os pensamentos principais em uma frase) e uma história de três minutos (descreva as principais conclusões em meia página do texto).
Cada história tem três partes principais: começo, meio e fim.
- Iniciar. Indica um problema. Se não houver um problema claro, talvez também não seja necessária uma apresentação. "Por que eu deveria estar interessado nisso?"
- O meio . Mostra como o problema pode ser resolvido. "Por que posso tomar a decisão proposta?"
- O fim Uma chamada à ação. "O que preciso começar a fazer agora para resolver o problema?"
Existem duas estratégias principais de contar histórias:
1. Em ordem cronológica:
a. Identificou o problema
b. Dados coletados para entender melhor a situação.
c. Analisamos os dados (examinamos a situação sob diferentes ângulos, levamos em consideração outros fatores)
d. Encontrei uma solução
e Com base nisso, recomendamos que você execute as seguintes ações
2. Comece do final:
a. Recomendado para fazer isso ou aquilo
b. Apoiamos esta recomendação com dados.
Parte 8: Juntando tudo
O autor conduz o leitor através de um exemplo através de todas as etapas e lições do livro:
- Mostra uma agenda ruim,
- Descreve qual pode ser o contexto da apresentação,
- Escolhe um bom método de visualização,
- Remove todo o lixo
- Determina onde focar a atenção do público e usa atributos de atração para isso,
- Leva a programação a uma aparência estética,
- Prepara uma apresentação completa.
E você pode ver o exemplo no livro. Eu recomendo a leitura.