Primeira olhada rápida em um conjunto de dados


10

Por favor, perdoe minha ignorância, mas ...

Continuo me encontrando em uma situação em que me deparo com um monte de novos dados que consegui encontrar. Esses dados geralmente se parecem com isso:

Date     Number1  Number2  Category1  Category2
20120125      11      101        Dog      Brown
20120126      21       90        Cat      Black
20120126      31      134        Cat      Brown
(...)

Normalmente, à primeira vista, não sei dizer se há alguma tendência aqui. As correlações entre as várias colunas podem não ser muito significativas, mas eu ficaria satisfeito se não tivesse que criar manualmente um gráfico para todas as combinações possíveis de colunas / categorias.

Existe uma ferramenta lá fora que aceitaria uma tabela de dados juntamente com informações sobre quais colunas devem ser tratadas como números, datas e categorias e, em seguida, proceda à plotagem:

  • correlações entre cada duas colunas numéricas
  • correlações entre cada duas colunas numéricas, com linhas de tendência separadas para cada categoria
  • cada coluna numérica como uma série temporal,
  • cada coluna numérica como uma série temporal, separada por categoria,
  • etc.

No final, isso geraria um grande número de parcelas, a maioria das quais mostraria apenas ruído. Idealmente, a ferramenta poderia pontuar as plotagens por correlação e, no final, exibir uma apresentação de slides começando com as plotagens de pontuação mais alta. Seria uma primeira vista muito imperfeita, mas útil para o conjunto de dados.

Então? Existe uma ferramenta que todos usam para isso e eu simplesmente não sei sobre isso, ou isso é algo que precisamos fazer?


Muito obrigado a todos por suas respostas. Estou demorando para testar cada uma das ferramentas mencionadas nos meus dados. Vou escolher uma resposta após meus testes. Eu acho que é muito ruim eu não posso escolher mais de um :)
postrational

Respostas:


15

@Ondrej e @Michelle forneceram algumas informações boas aqui. Gostaria de saber se posso contribuir abordando alguns pontos não mencionados em outros lugares. Eu não me incomodaria por não conseguir extrair muito dos dados em forma de tabela; as tabelas geralmente não são uma maneira muito boa de apresentar informações (cf. Gelman et al., Turning Tables into Graphs ). Por outro lado, pedir uma ferramenta que gere automaticamente todos os gráficos corretos para ajudá-lo a explorar um novo conjunto de dados é quase como pedir uma ferramenta que faça o que você pensa. (Não tome o caminho errado, reconheço que sua pergunta deixa claro que você não está indo tão longe; quero apenas dizer que nunca haverá realmente uma ferramenta assim.) Uma boa discussão relacionada a isso pode ser encontrada aqui .

Dito isto, eu queria falar um pouco sobre os tipos de parcelas que você pode usar para explorar seus dados. Os gráficos listados na pergunta seriam um bom começo, mas podemos otimizar um pouco. Para começar, fazer "um grande número de gráficos" correlacionar pares de variáveis ​​pode não ser o ideal. Um gráfico de dispersão exibe apenas o relacionamento marginal entre duas variáveis. Muitas vezes, relacionamentos importantes podem estar ocultos em alguma combinação de várias variáveis. Portanto, a primeira maneira de reforçar essa abordagem é criar uma matriz de dispersãoque exibe todos os gráficos de dispersão em pares simultaneamente. As matrizes do gráfico de dispersão podem ser aprimoradas de várias maneiras: por exemplo, elas podem ser combinadas com gráficos de densidade de kernel univariados da distribuição de cada variável, marcadores / cores diferentes podem ser usados ​​para plotar grupos diferentes e possíveis relacionamentos não-lineares podem ser avaliados sobrepondo-se um ajuste menor. A scatterplot.matrixfunção no pacote de carro no R pode fazer todas essas coisas com perfeição (um exemplo pode ser visto no meio da página acima).

No entanto, embora as matrizes de gráficos de dispersão sejam um bom começo, elas ainda estão apenas exibindo as projeções marginais. Existem algumas maneiras de tentar ir além disso. Uma é explorar gráficos tridimensionais usando o pacote rgl em R. Outra abordagem é usar gráficos condicionais; coplots podem ajudar no relacionamento entre 3 ou 4 variáveis ​​simultaneamente. Uma abordagem especialmente útil é usar uma matriz de dispersão interativamente(embora isso exija mais esforço para aprender), por exemplo, 'escovar'. A escovação permite destacar um ponto ou pontos em um quadro de uma matriz e esses pontos serão destacados simultaneamente em todos os outros quadros. Movendo o pincel, você pode ver como todas as variáveis ​​mudam juntas. UPDATE: Outra possibilidade que eu tinha esquecido de mencionar é usar um gráfico de coordenadas paralelas . Isso tem uma desvantagem em não diferenciar sua variável de resposta, mas pode ser útil, por exemplo, ao examinar inter-correlações entre suas variáveis ​​X.

Quero também elogiá-lo por examinar seus dados classificados por data de coleta. Embora os dados sejam sempre coletados ao longo do tempo, as pessoas nem sempre fazem isso. Traçar um gráfico de linha é bom, mas eu sugiro que você o complete com gráficos de autocorrelações e autocorrelações parciais . Em R, as funções para essas são acfe pacfrespectivamente.

Reconheço que tudo isso não responde totalmente à sua pergunta no sentido de fornecer uma ferramenta que fará todos os enredos automaticamente, mas uma implicação é que você não precisaria fazer tantos enredos quanto teme. , por exemplo, uma matriz de dispersão é apenas uma linha de código. Além disso, em R, deve ser possível escrever uma função / algum código reutilizável para você, que parcialmente automatizaria parte disso (por exemplo, posso imaginar uma função que inclua uma lista de variáveis ​​e uma ordem de data, classifique-as , aparece uma nova janela para cada uma com gráficos de linha, acf e pacf).


Como sempre, excelentes pontos. :)
Michelle

2
(+1) Não perca o ggobi e marginal.ploto pacote latticeExtra .
chl 31/03

7

As correlações entre cada par de colunas numéricas podem ser mostradas em uma matriz de correlação. Ele não precisa ser puramente numérico, pode ser codificado por cores, para permitir uma avaliação rápida. Confira o pacote corrplot para R.

Para uma análise mais aprofundada, o Rattle é uma ferramenta GUI bastante útil.

Se você pesquisar o Stack Exchange usando as palavras-chave "corrplot" ou "Rattle", encontrará vários tópicos em que essas ferramentas e suas alternativas são abordadas. Como este .

Boa sorte!


4

O @Ondrej deu bons conselhos, então vou me concentrar na sua pergunta sobre como o software trata os dados importados. Com os dados de caracteres, "Categoria 1" e "Categoria 2", o software os trata automaticamente como grupos ou fatores, porque as operações matemáticas não podem ser realizadas nessas partes de dados. Isso significa que você será impedido de inserir qualquer coisa dessas categorias (como alternativa, você receberá um erro se tentar se estiver usando sintaxe ou uma linha de comando em vez de um sistema orientado por menus) em uma análise que exija números.

Para dados como o "Número 1" e "Número 2", o software os lê como numéricos. Se você tiver algum grupo / fator que contenha dados puramente numéricos, será necessário instruir o software que esses são grupos / fatores.

Às vezes, as datas podem ser mal importadas para o software estatístico. Depois de importar seus dados, você deve ver que o tipo de dados no seu software estatístico está mostrando algum tipo de "data" para "Data". Se você vir o tipo de dados como algo diferente de data, há um problema. Mesmo se estiver mostrando como data, verifique a importação de algumas linhas nas quais você tem datas como dias 13 ou 25 do mês - dependendo de como o software está configurado, às vezes a formatação de data americana / britânica causa dados imprecisos da importação , por causa da reversão do dia / mês.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.