segunda-feira, 26 de dezembro de 2016

Data mining (cubos para BI) sobre dados de pacientes (usando Excel)

Este post explica como fazer descoberta de padrões (Data Mining ou BI) sobre dados de pacientes (por exemplo, dados epidemiológicos). Cada linha é um paciente individual. A tabela possui uma coluna (atributo) que é a doença ou diagnóstico. As demais colunas (atributos A, B, C... até G) são características dos pacientes e seus valores admitem somente Sim ou Não (S/N).

Podem ser atributos sócio-demográficos (sexo/gênero, faixa etária, classe social, local de origem ou residência, etc), ou hábitos (fuma = sim/não, faz exercícios = sim/não), ou eventos da história pregressa (tem caso anterior na família, como foi a infância, etc).

Note que há um campo identificador que foi criado somente para identificar unicamente cada linha. Este campo será usado depois nos cubos para contagem de linhas.

Dê uma olhada na planilha ao final deste post. É uma tabela flat, onde todos os atributos estão como colunas. Fica muito difícil identificar padrões numa tabela flat.

Mas ao gerar um cubo, colocando atributos em linhas X colunas, aparecem padrões que não podem ser facilmente vistos nesta tabela flat. É sobre isto que este post fala.

Lembro que a coluna principal aqui é a doença ou diagnóstico, mas poderia ser utilizado outro atributo, como sexo/gênero, faixa etária ou região de origem ou residência.

Também é possível fazer o mesmo tipo de análise com clientes. Basta ter uma coluna principal no lugar do diagnóstico, que poderia ser o produto adquirido (ou tipo ou classe de produto), ou a loja onde foi adquirido. Os demais atributos (colunas) seriam características sócio-demográficas dos clientes. Cada linha é um cliente individual.

Outra possibilidade é fazer dos atributos as características do produto (cor, tamanho, preço, etc). Aí precisaríamos de uma coluna principal para separar os padrões. Poderia ser alguma característica do cliente (faixa etária ou sexo, por exemplo).


Criando um cubo com tabela dinâmica do Excel

Marque a tabela toda (todas as células), insira a tabela dinâmica numa aba nova, coloque o atributo principal nas linhas (neste caso, o diagnóstico ou doença) e coloque uma característica na coluna. Irão aparecer subcolunas com Não e Sim.
Coloque dentro do cubo o campo identificador e use a contagem (de linhas).
Depois selecione para mostrar "percentual das linhas" na contagem do identificador.
O cubo ficará como abaixo.



Característica A

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 30,00% 70,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 59,26% 40,74% 100,00%



Tipos de padrões descobertos



Característica A

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 30,00% 70,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 59,26% 40,74% 100,00%

Este cubo acima pode nos mostrar se há alguma relação possível entre a doença (diagnóstico) e a característica (neste exemplo, o atributo A).
Vejam que para a doença D1, a distribuição é metade a metade para quem tem ou não a característica. Já para a doença D2, há uma predominância da característica A (há 70% de pacientes que têm a característica contra 30% que não a têm).
E no caso da doença D3, pode-se ver que todos os pacientes com este diagnóstico possuem a característica A.
Note: a característica A pode ser uma causa ou uma consequência da doença D3; Isto precisaria ser melhor investigado. Mas um padrão foi identificado.





Característica F

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 0,00% 100,00% 100,00%
D3 44,44% 55,56% 100,00%
Total Geral 29,63% 70,37% 100,00%

No caso da característica F, pode-se ver um novo padrão. Uma leve tendência desta característica para pacientes com diagnóstico D3 (55,56% sim contra 44,44% não). A variação é pequena, então talvez não seja determinante e não se possa tirar conclusões.


Seleção de amostras

É claro que as conclusões sempre devem ser feitas com base nos dados analisados, ou seja, dependem da amostra utilizada.
Falarei sobre amostras em um post futuro.



Todos os cubos e padrões descobertos



Característica A

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 30,00% 70,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 59,26% 40,74% 100,00%









Característica B

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 87,50% 12,50% 100,00%
D2 20,00% 80,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 66,67% 33,33% 100,00%









Característica C

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 100,00% 0,00% 100,00%
D2 50,00% 50,00% 100,00%
D3 22,22% 77,78% 100,00%
Total Geral 55,56% 44,44% 100,00%









Característica D

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 100,00% 0,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 85,19% 14,81% 100,00%









Característica E

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 75,00% 25,00% 100,00%
D2 50,00% 50,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 74,07% 25,93% 100,00%









Característica F

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 0,00% 100,00% 100,00%
D3 44,44% 55,56% 100,00%
Total Geral 29,63% 70,37% 100,00%









Característica G

Contagem de identificador Rótulos de Coluna

Rótulos de Linha n s Total Geral
D1 50,00% 50,00% 100,00%
D2 20,00% 80,00% 100,00%
D3 100,00% 0,00% 100,00%
Total Geral 55,56% 44,44% 100,00%








Planilha original flat




identificador doença A  B C D E F G
1 D1 s n n n s n s
2 D1 s n n n s s n
3 D1 n n n n n n s
4 D1 s n n n n s n
5 D1 n n n s n n s
6 D1 n n n s n s n
7 D1 s s n s n n s
8 D1 n n n s n s n
9 D1 s n n n s n s
10 D1 s n n n s s n
11 D1 n n n n n n s
12 D1 s n n n n s n
13 D1 n n n s n n s
14 D1 n n n s n s n
15 D1 s s n s n n s
16 D1 n n n s n s n
17 D1 s n n n s n s
18 D1 s n n n s s n
19 D1 n n n n n n s
20 D1 s n n n n s n
21 D1 n n n s n n s
22 D1 n n n s n s n
23 D1 s s n s n n s
24 D1 n n n s n s n
25 D2 s s n n s s n
26 D2 n s s n n s n
27 D2 s s n n s s s
28 D2 s s s n n s s
29 D2 s s n n s s s
30 D2 s n s n n s s
31 D2 s n n n s s s
32 D2 s s s n n s s
33 D2 n s n n s s s
34 D2 n s s n n s s
35 D2 s s n n s s n
36 D2 n s s n n s n
37 D2 s s n n s s s
38 D2 s s s n n s s
39 D2 s s n n s s s
40 D2 s n s n n s s
41 D2 s n n n s s s
42 D2 s s s n n s s
43 D2 n s n n s s s
44 D2 n s s n n s s
45 D2 s s n n s s n
46 D2 n s s n n s n
47 D2 s s n n s s s
48 D2 s s s n n s s
49 D2 s s n n s s s
50 D2 s n s n n s s
51 D2 s n n n s s s
52 D2 s s s n n s s
53 D2 n s n n s s s
54 D2 n s s n n s s
55 D3 n n s n n s n
56 D3 n n n n n n n
57 D3 n n s n n s n
58 D3 n n s n n n n
59 D3 n n s n n s n
60 D3 n n n n n n n
61 D3 n n s n n s n
62 D3 n n s n n n n
63 D3 n n s n n s n
64 D3 n n s n n s n
65 D3 n n n n n n n
66 D3 n n s n n s n
67 D3 n n s n n n n
68 D3 n n s n n s n
69 D3 n n n n n n n
70 D3 n n s n n s n
71 D3 n n s n n n n
72 D3 n n s n n s n
73 D3 n n s n n s n
74 D3 n n n n n n n
75 D3 n n s n n s n
76 D3 n n s n n n n
77 D3 n n s n n s n
78 D3 n n n n n n n
79 D3 n n s n n s n
80 D3 n n s n n n n
81 D3 n n s n n s n