Imprimir
Categoria: Análise de dados
Acessos: 1202

Entendendo o contexto

Há algumas décadas, nos meus primórdios da programação, codificar variáveis categóricas como numéricas era lei. Aliás, codificavamos as próprias palavras de textos normais, divididas em sílabas comuns, prefixos, sufixos e palavras comuns - sabe por que era necessário? Porque nossa unidade de transporte de dados tinha 1,44 Mb.

Quem queria instalar um jogo de vários Mb precisava compactar (usando ARJ, ZIP ou RAR) em diversos arquivos com o tamanho máximo possível de se gravar em um disquete e levar uma caixa deles para transportar. Lembram daqueles video-games antigos? Sabe por que as músicas tinham aquele som artificial? Porque ali o grau de compactação era insano, apenas as notas de poucos instrumentos disponíveis no console eram disponíveis e em cada jogo o que estvam gravadas eram algo equivalente às partituras.. e as imagens? Tudo se aproveitava, veja um exemplo do clássico super mario:

 

Mas claro que, no caso da ciencia dos dados, economia de espaço não era o único motivo de codificarmos variáveis.Na época, a tecnologia dos formulários era incipiente. Basicamente usavamos campos de texto livre para tudo.Nisso, a mesma palavra estaria escrita milhares de vezes de diversas formas. Imagine isso com nome da cirurgia: "Colecistec. VLP" , "Colecistectomia Video", etc.Agora imagine que você tenha 100 tipos de cirurgia, cada uma com 10 grafias e em uma base de dados de 10.000 cirurgias.. Mesmo para Sexo, "M", "Masc", "Masculino", etc. Além do problema dos formulários, os pacotes estatísticos primordiais não eram capazes de trabalhar com esse tipo de variável ainda, codificar tudo como número era simplesmente obrigatório. 

Qual o problema disso?

 Confusão, muita confusão.O cientista de dados encontra desde códigos inexistentes (ex: 1-Não 2-Sim e aí aparece um 0, ou sexo 1-Fem 2-Masc virando 0-Fem 1-Masc na metade da base)  até análises equivocadas (ex: teste de correlação em variáveis categóricas.. existem exemplos publicados até na nossa RBA mas não vou referenciar para não prejudicar os autores ainda mais). Já recebi bases de dados em que ninguém mais sabia interpretar os números que representavam categorias por terem perdido o papel do código..

Tudo mudou

1-Hoje os formulários modernos permitem limitar as opções, seja usando combobox, ou mesmo as modernas caixas com recurso dinâmico de auto-completar. Com isso, basicamente acaba o problema da grafia múltipla e da troca de códigos.

2-Hoje qualquer pacote estatístico é capaz de lidar com variáveis não numéricas, automaticamente organizando as categorias. Rode o exemplo abaixo e veja que esse pacote estatístico online consegue organizar e trabalhar com coleções não codificadas numericamente (é necessário rolar para baixo para ver o resultado).

3-Hoje em dia espera-se que publiquemos nossas bases de dados, e quanto mais clara for sua interpretação, melhor. 

Mas meu profissional de estatística exige..

Bem.. ele fez isso por muito tempo, não espere que todo profissional se adapte tão rapidamente à tecnologia. Além disso, alguns aprenderam com profissionais que ensinam dessa forma. Mesmo hoje conheço disciplinas de excelentes universidades que ainda ensinam essa obsoleta estratégia.. Se você for usar, tome muito cuidado para não se enganar com a codificação e ainda maior cuidado com os testes que for aplicar, os tipos de gráficos e de distribuição (não publique sexo médio de 0,74..).

Quer um bom argumento com ele? Use formulários eletrônicos de coleta de dados. Eles não irão gerar dados codificados como números, quando não numéricos.

 

Mas e as variáveis ordinais?

 

Bem aqui dou uma dica interessante, que aprendi com o tempo. Os pacotes ordenam variáveis não numéricas em ordem alfabética. Então, se sua variável for ordenada, inicie com um número ou letra, por exemplo:

Ex1:(Dor) - "1-Leve", "2-Moderada", "3-Intensa".

Ex2: Grau - "a-leve", "b-moderado", "c-grave".

Com isso, seus gráficos e análises que pressupoem que elas sejam ordinais irão funcionar bem.

E uma segunda dica: caso precise de mediana, como proceder?

Você não precisa estragar sua base de dados. Essa conversão pode ser feita durante a análise. Vou dar um exemplo prático com Glasgow.

Imagine que você tem uma lista de valores de escala de Glasgow, com valores entre G3 até G15:

Sejam os dez pacientes respectivamente:"

"G15, G10, G5, G10, G11, G10, G9, G10, G8, G12"

Como obter a mediana? E como fazer um teste Wilcoxon-Mann-Witney? Abaixo um exemplo prático: