Muitos trabalhos estatísticos exigem experiência com dados em grande escala. Quais são os tipos de habilidades estatísticas e computacionais que seriam necessárias para trabalhar com grandes conjuntos de dados. Por exemplo, que tal construir modelos de regressão com um conjunto de dados com 10 milhões de amostras?
regression
machine-learning
multivariate-analysis
large-data
bit-question
fonte
fonte
Respostas:
Boas respostas já apareceram. Portanto, compartilharei apenas alguns pensamentos com base na experiência pessoal: adapte os relevantes à sua própria situação, conforme necessário.
Para antecedentes e contexto- para que você possa dar conta de quaisquer preconceitos pessoais que possam surgir nesta mensagem - grande parte do meu trabalho foi ajudar as pessoas a tomar decisões importantes com base em conjuntos de dados relativamente pequenos. Eles são pequenos porque os dados podem ser caros de coletar (US $ 10 mil para a primeira amostra de um poço de monitoramento de águas subterrâneas, por exemplo, ou vários milhares de dólares para análises de produtos químicos incomuns). Estou acostumado a obter o máximo possível de todos os dados disponíveis, explorá-los até a morte e inventar novos métodos para analisá-los, se necessário. No entanto, nos últimos anos, fui contratado para trabalhar em alguns bancos de dados razoavelmente grandes, como um dos dados socioeconômicos e de engenharia que cobrem todos os EUA no nível do bloco do Censo (8,5 milhões de registros,
Com conjuntos de dados muito grandes, toda a abordagem e a mentalidade mudam . Agora há muitos dados para analisar. Algumas das implicações imediatas (e, em retrospecto) óbvias (com ênfase na modelagem de regressão) incluem
Qualquer análise que você pensa em fazer pode levar muito tempo e computação. Você precisará desenvolver métodos de subamostragem e trabalhar em conjuntos de dados parciais para poder planejar seu fluxo de trabalho ao calcular com o conjunto de dados inteiro. (A subamostragem pode ser complicada, porque você precisa de um subconjunto representativo dos dados que é tão rico quanto o conjunto de dados inteiro. E não se esqueça de validar cruzadamente seus modelos com os dados retidos.)
Por isso, você passará mais tempo documentando o que faz e criando scripts para tudo (para que possa ser repetido).
Como o @dsimcha acabou de observar, boas habilidades de programação são úteis. Na verdade, você não precisa de muita experiência em ambientes de programação, mas precisa de uma vontade de programar, a capacidade de reconhecer quando a programação ajudará (em praticamente todas as etapas, na verdade) e um bom entendimento dos elementos básicos de programação. ciência da computação, como o design de estruturas de dados apropriadas e como analisar a complexidade computacional dos algoritmos. Isso é útil para saber com antecedência se o código que você planeja escrever será dimensionado para o conjunto de dados completo.
Alguns conjuntos de dados são grandes porque possuem muitas variáveis (milhares ou dezenas de milhares, todas diferentes). Espere gastar muito tempo apenas resumindo e entendendo os dados . Um livro de códigos ou dicionário de dados e outras formas de metadados tornam-se essenciais.
Muito do seu tempo é gasto simplesmente movendo dados e reformatando-os. Você precisa de habilidades com o processamento de grandes bancos de dados e habilidades com resumo e representação gráfica de grandes quantidades de dados. ( O pequeno múltiplo do Tufte vem à tona aqui.)
Algumas de suas ferramentas de software favoritas falharão. Esqueça planilhas, por exemplo. Muitos softwares de código aberto e acadêmicos simplesmente não serão capazes de lidar com grandes conjuntos de dados: o processamento levará uma eternidade ou o software falhará. Espere isso e verifique se você tem várias maneiras de realizar suas tarefas principais.
Quase todo teste estatístico que você executa será tão poderoso que é quase certo identificar um efeito "significativo". Você precisa se concentrar muito mais na importância estatística , como tamanho do efeito, em vez de importância.
Da mesma forma, a seleção de modelos é problemática porque quase qualquer variável e qualquer interação que você possa contemplar parecerá significativa. Você precisa se concentrar mais na significância das variáveis que escolhe analisar.
Haverá informações mais que suficientes para identificar transformações não lineares apropriadas das variáveis. Saiba como fazer isso.
Você terá dados suficientes para detectar relações não lineares, mudanças nas tendências, não estacionariedade, heterocedasticidade etc.
Você nunca vai terminar . Há tantos dados que você pode estudá-los para sempre. É importante, portanto, estabelecer seus objetivos analíticos desde o início e mantê-los constantemente em mente.
Terminarei com uma pequena anedota que ilustra uma diferença inesperada entre a modelagem de regressão com um grande conjunto de dados em comparação com um menor. No final do projeto, com os dados do Censo, um modelo de regressão que eu desenvolvi precisava ser implementado no sistema de computação do cliente, o que significava escrever código SQL em um banco de dados relacional. Esta é uma etapa rotineira, mas o código gerado pelos programadores de banco de dados envolveu milhares de linhas de SQL. Isso tornou quase impossível garantir que estava livre de bugs - embora pudéssemos detectar os bugs (fornecia resultados diferentes nos dados de teste), encontrá-los era outra questão. (Tudo que você precisa é de um erro tipográfico em um coeficiente ...) Parte da solução foi escrever um programa que gerasse os comandos SQL diretamente das estimativas do modelo. Isso garantiu que o que saiu do pacote de estatísticas foi exatamente o que foi inserido no RDBMS. Como bônus, algumas horas gastas na escrita desse script substituíram possivelmente várias semanas de codificação e teste SQL. Essa é uma pequena parte do que significa para o estatístico ser capaz de comunicar seus resultados.
fonte
Sua pergunta deve dar boas respostas. Aqui estão alguns pontos de partida.
Capacidade de trabalhar com as compensações entre precisão e as demandas impostas ao poder da computação.
Facilidade com técnicas de mineração de dados que podem ser usadas como ferramentas preliminares de triagem antes de realizar a regressão. Por exemplo, redes chaid, carrinho ou neurais.
Uma compreensão profunda da relação entre significância estatística e significância prática. Um amplo repertório de métodos para seleção de variáveis.
O instinto de crossvalidate.
fonte
Boas habilidades de programação são essenciais. Você precisa escrever código eficiente que possa lidar com grandes quantidades de dados sem sufocar, e talvez seja capaz de paralelizar o código para que ele seja executado em um período de tempo razoável.
fonte
Eu também acrescentaria que os dados em larga escala também introduzem o problema de possíveis "dados inválidos". Não apenas dados ausentes, mas erros de dados e definições inconsistentes introduzidas por todas as partes de um sistema que tocaram nos dados. Portanto, além das habilidades estatísticas, você precisa se tornar um limpador de dados especializado, a menos que outra pessoa esteja fazendo isso por você.
-Ralph Winters
fonte
fonte