Distinguir entre dois grupos em estatística e aprendizado de máquina: teste de hipótese x classificação x agrupamento

29

Suponha que eu tenha dois grupos de dados, rotulados como A e B (cada um contendo, por exemplo, 200 amostras e 1 recurso), e quero saber se eles são diferentes. Eu poderia:

  • a) realize um teste estatístico (por exemplo, teste t) para verificar se eles são estatisticamente diferentes.

  • b) use aprendizado de máquina supervisionado (por exemplo, classificador de vetor de suporte ou classificador aleatório de floresta). Posso treinar isso em uma parte dos meus dados e verificá-los nos demais. Se o algoritmo de aprendizado de máquina classificar o restante corretamente posteriormente, posso ter certeza de que as amostras são diferenciáveis.

  • c) use um algoritmo não supervisionado (por exemplo, K-Means) e permita que ele divida todos os dados em duas amostras. Posso então verificar se essas duas amostras encontradas concordam com meus rótulos, A e B.

Minhas perguntas são:

  1. Como essas três maneiras diferentes se sobrepõem / são exclusivas?
  2. B) ec) são úteis para quaisquer argumentos científicos?
  3. Como eu poderia obter um "significado" para a diferença entre as amostras A e B dos métodos b) e c)?
  4. O que mudaria se os dados tivessem vários recursos em vez de um recurso?
  5. O que acontece se eles contêm um número diferente de amostras, por exemplo, 100 vs 300?
MaxG
fonte
3
Eu diria que a diferença entre (a) e (b) é que os testes estatísticos se concentrar em se há é uma diferença, enquanto métodos de classificação focar o tamanho dessa diferença. Quando você usa floresta aleatória, deseja conhecer a precisão validada cruzada; talvez seja 78%. É nesse número que você está interessado, e não em afirmar que não é igual a 50% .
Ameba diz Reinstate Monica
4
As situações do IMHO em que a / b / c fazem sentido diferem na relação sinal-ruído típica, e estão aumentando de (a) para (b) para (c). Na aplicação típica de um teste t, há alto ruído; queremos mostrar que os grupos não são iguais. Se os grupos obviamente não são iguais (menos ruído), não precisamos mais de um teste; em vez disso, queremos quantificar a diferença entre os grupos e a precisão da classificação fora da amostra pode ajudar aqui. Se houver ainda menos ruído e a precisão da classificação for ~ 100%, podemos perguntar se os grupos são tão distintos que podem ser captados por um algoritmo de agrupamento.
Ameba diz Reinstate Monica
1
@amoeba, eu estou falando com você porque você está editando o título da pergunta, etc. Gostaria de pedir que você considere isso mais uma vez. "Classificação" e "clustering": não estão na posse (exclusiva) do aprendizado de máquina. Essas tarefas apareceram e foram realizadas rotineiramente em estatística / análise de dados antes do primeiro m. aluno nasceu. Isso é verdade apenas para algumas técnicas recentes, como o SVM, que evoluíram devido ao ML. É inadequado associar classificação / agrupamento / árvores apenas a ML. O ML, no entanto, difere da análise de dados estatísticos no sentido em que usa trem / teste fortemente.
ttnphns
@ttnphns Claro, está tudo correto, mas o título original era "Distinguindo amostras: aprendizado de máquina vs. testes estatísticos (por exemplo, teste t)" e eu só queria acrescentar alguma precisão, porque a pergunta é realmente sobre o teste t vs classificação vs agrupamento (para esse propósito científico específico). Vou pensar em possíveis melhorias no título.
Ameba diz Reinstate Monica
@ttnphns Eu editei o título, veja se você gosta mais.
ameba diz Reinstate Monica

Respostas:

15

Ótima pergunta. Qualquer coisa pode ser boa ou ruim, útil ou não, com base em quais são seus objetivos (e talvez na natureza da sua situação). Na maioria das vezes, esses métodos são projetados para satisfazer objetivos diferentes.

  • Testes estatísticos , como o teste permitem testar hipóteses científicas. Eles são frequentemente usados ​​para outros fins (porque as pessoas simplesmente não estão familiarizadas com outras ferramentas), mas geralmente não deveriam. Se você tem uma hipótese a priori de que os dois grupos têm meios diferentes em uma variável distribuída normalmente, o teste permitirá que você teste essa hipótese e controle sua taxa de erro de longo prazo do tipo I (embora você não saiba se você fez uma taxa de erro tipo I nesse caso específico). ttt
  • Os classificadores no aprendizado de máquina, como um SVM, são projetados para classificar padrões como pertencentes a um de um conjunto conhecido de classes. A situação típica é que você possui algumas instâncias conhecidas e deseja treinar o classificador usando-as para que ele possa fornecer as classificações mais precisas no futuro, quando você tiver outros padrões cuja classe verdadeira é desconhecida. A ênfase aqui está na precisão fora da amostra ; você não está testando nenhuma hipótese. Certamente, você espera que a distribuição das variáveis ​​/ características do preditor seja diferente entre as classes, porque, caso contrário, nenhuma ajuda futura à classificação será possível, mas você não está tentando avaliar sua crença de que os meios de Y diferem por X. Você deseja adivinhar corretamente X no futuro quando Y for conhecido.
  • Algoritmos de aprendizado não supervisionado, como clustering , são projetados para detectar ou impor estrutura em um conjunto de dados. Existem muitos motivos possíveis para você fazer isso. Às vezes, você pode esperar que haja agrupamentos verdadeiros e latentes em um conjunto de dados e queira ver se os resultados do agrupamento parecerão sensatos e utilizáveis ​​para seus propósitos. Em outros casos, convém impor uma estrutura em um conjunto de dados para permitir a redução de dados. De qualquer forma, você não está tentando testar uma hipótese sobre nada, nem espera prever com precisão qualquer coisa no futuro.

Com isso em mente, vamos responder às suas perguntas:

  1. Os três métodos diferem fundamentalmente nos objetivos a que servem.
  2. bec pode ser útil em argumentos científicos, depende da natureza dos argumentos em questão. De longe, o tipo mais comum de pesquisa científica é centrado em testar hipóteses. No entanto, a formação de modelos preditivos ou a detecção de padrões latentes também são possíveis, objetivos legítimos.
  3. Você normalmente não tentaria obter "significado" dos métodos b ou c.
  4. Supondo que os recursos sejam de natureza categórica (o que eu entendo é o que você tem em mente), você ainda pode testar hipóteses usando uma ANOVA fatorial. No aprendizado de máquina, há um subtópico para a classificação de vários rótulos . Existem também métodos para vários clusters de associação / sobreposição, mas estes são menos comuns e constituem um problema muito menos tratável. Para uma visão geral do tópico, consulte Krumpleman, CS (2010) Overlapping clustering. Dissertação, UT Austin, Engenharia Elétrica e de Computação ( pdf ).
  5. De um modo geral, todos os três tipos de métodos têm maior dificuldade, pois o número de casos entre as categorias diverge.
- Reinstate Monica
fonte
2
Re # 4: Eu acho que você entendeu errado a palavra "recurso" no OP. No aprendizado de máquina, "recurso" significa simplesmente uma variável. Portanto, "vários recursos" significa que se usaria uma versão multivariada de um teste t (como o T de Hotelling), e não uma ANOVA fatorial.
Ameba diz Reinstate Monica
11

Não vou abordar o cluster porque foi abordado em outras respostas, mas:

Em geral, o problema de testar se duas amostras são significativamente diferentes é conhecido como teste de duas amostras .

tp

Pode ser mais fácil pensar em algumas dessas questões se você construir um teste de duas amostras com um classificador, por exemplo, conforme proposto recentemente por Lopez-Paz e Oquab (2017) . O procedimento é o seguinte:

  • XYXtrainXtestYtrainYtest
  • XtrainYtrain
  • XtestYtest
  • p^p=12p12p12

Ao inspecionar o classificador aprendido, você também poderá interpretar as diferenças entre as distribuições de uma maneira semi-significativa. Alterando a família de classificadores que você considera, você também pode ajudar a orientar o teste para procurar certos tipos de diferenças.

Observe que é importante fazer a divisão de teste de trem: caso contrário, um classificador que apenas memorizou suas entradas sempre teria discriminação perfeita. Aumentar a parte dos pontos no conjunto de treinamento fornece mais dados para aprender um bom classificador, mas menos oportunidades para garantir que a precisão da classificação seja realmente diferente do acaso. Essa troca é algo que varia de acordo com a família de problemas e classificadores e ainda não é bem compreendida.

Lopez-Paz e Oquab mostraram bom desempenho empírico dessa abordagem em alguns problemas. Ramdas et al. (2016) mostraram adicionalmente que, teoricamente, uma abordagem intimamente relacionada é ótima para um problema simples específico. A coisa "certa" a ser feita nessa configuração é uma área de pesquisa ativa, mas essa abordagem é pelo menos razoável em muitas configurações, se você quiser um pouco mais de flexibilidade e interpretabilidade do que apenas aplicar algum teste padrão disponível no mercado.

Dougal
fonte
(+1) Além disso, a validação cruzada aninhada é o caminho a percorrer, imo. Em seguida, teste a estimativa de desempenho que você obtém no loop externo de reamostragem em relação ao desempenho do modelo sem informações. Se for significativamente maior do que o esperado por acaso, seus dados serão um pouco discriminados.
Firebug
@ Firebug O que você quer dizer com "desempenho do modelo sem informação"? Ainda não entendi o procedimento proposto.
Dougal
2
@ Firebug Uma ressalva importante, mas sutil, é que, se a precisão da classificação for estimada por CV, não será possível usar um teste binomial.
Ameba diz Reinstate Monica
2
@ Firebug Meu argumento ainda permanece: você não pode aplicar qualquer tipo de teste de uma amostra às AUCs de diferentes dobras e, em particular, de CV repetido, porque essas estimativas não são independentes. Este é um problema bem conhecido.
Ameba diz Reinstate Monica
2
Teste de permutação: eu mesmo fiz. Você executa o CV para obter uma estimativa de desempenho, embaralha as etiquetas e executa todo o pipeline do CV novamente (e faz isso embaralhando 100 ou 1000 vezes para obter a distribuição nula). No entanto, isso costuma levar muito tempo. Cc para @Firebug.
Ameba diz Reinstate Monica
3

Somente a abordagem (a) serve ao propósito de testar hipóteses.

No caso de usar algoritmos supervisionados de aprendizado de máquina (b), eles não podem provar nem refutar hipóteses sobre distinção de grupos. Se o algoritmo de aprendizado de máquina não classificar os grupos corretamente, pode acontecer porque você usou o algoritmo "errado" para o seu problema ou não o ajustou o suficiente etc. Por outro lado, você pode "torturar" os dados totalmente "aleatórios" por muito tempo o suficiente para produzir um modelo de sobreajuste que faça boas previsões. Outro problema é quando e como você saberia que o algoritmo faz previsões "boas"? Quase nunca você buscaria 100% de precisão na classificação; então, quando você saberia que os resultados da classificação provam alguma coisa?

Os algoritmos de agrupamento (c) não são projetados para aprendizado supervisionado. Eles não pretendem recriar os rótulos, mas agrupar seus dados em termos de semelhanças. Agora, os resultados dependem de qual algoritmo você usa e que tipo de semelhanças você está procurando. Seus dados podem ter diferentes tipos de semelhanças. Você pode procurar diferenças entre meninos e meninas, mas o algoritmo pode encontrar grupos de crianças pobres e ricas, ou inteligentes e menos inteligentes, destros e canhotos, etc. o agrupamento que você pretendia não prova que o agrupamento não faz sentido, mas apenas que encontrou outro agrupamento "significativo". Como no caso anterior, os resultados podem depender do algoritmo usado e dos parâmetros. Seria adequado se um em cada dez algoritmos / configurações encontrasse "seu" etiquetas? E se fosse um em cem? Quanto tempo você pesquisaria antes de parar? Observe que ao usar o aprendizado de máquina na grande maioria dos casos, você não para depois de usar um algoritmo com configurações padrão e o resultado pode depender do procedimento que você usou.

Tim
fonte
2
Para a abordagem (b): você pode construir um teste de hipótese conforme observado na minha resposta para resolver o problema de saber se seu resultado é significativo (embora isso certamente seja um uso ingênuo de classificadores para esse problema). Observe que qualquer teste de hipótese também pode falhar em rejeitar o nulo, porque é o teste "errado" para o seu problema, exatamente da mesma maneira que aconteceria com um classificador; o problema de sobreajuste é totalmente resolvido pela divisão de dados.
Dougal
@Dougal bons pontos (+1), mas meu argumento principal é que, usando o aprendizado de máquina, o resultado depende de como você escolhe o algoritmo, usa-o, testa-o e avalia os resultados; portanto, o resultado desse teste depende em grande parte de suas ações. Isso significa que potencialmente dois estatísticos diferentes podem obter resultados diferentes ao usar esse método. Por outro lado, nos testes de hipóteses tradicionais, depende apenas da escolha do teste.
Tim
Além disso, não existe uma maneira "correta" de aplicá-lo e você pode manipulá-lo facilmente (intencionalmente ou não) para obter os resultados esperados.
Tim
Se você está apenas tentando um milhão de coisas até obter o resultado desejado, sim. Se você fizer a divisão de dados adequada, inclusive a partir de sua própria análise, o procedimento de teste será perfeitamente válido. Ter mais opções permite maior poder em situações em que você sabe explorá-lo, mas sim permite mais oportunidades de trapaça (inadvertidamente ou não) se você não estiver tomando cuidado.
Dougal
@Dougal sim, mas o resultado depende também do procedimento usado para a validação cruzada e a própria divisão (por exemplo, tamanho do grupo de teste). Portanto, a cada passo, o resultado depende do seu procedimento. Além disso, é sua decisão quando você para de aprender e tentar obter melhores resultados (algoritmo único com configurações padrão, vs algoritmos únicos e ajuste dos parâmetros, vs algoritmos múltiplos - quantos?). Esse procedimento pode precisar de algumas correções para vários testes (mas o que exatamente?) Para explicar o procedimento usado - bons resultados em um algoritmo único com configurações padrão parecem necessários
Tim
2
  1. a) apenas responde a pergunta se a distribuição é diferente, mas não como distingui-los. b) também encontrará o melhor valor para diferenciar entre as duas distribuições. c) funcionará se as duas distribuições tiverem propriedades específicas. Por exemplo, ele funcionará com distribuição normal, mas não com algumas distribuições modais, porque o método pode diferenciar dois modos do mesmo grupo em vez de dois grupos diferentes.

  2. c) não é útil para argumentos científicos devido a duas distribuições modais. b) poderia ser usado para diferenciar duas distribuições, porque você pode calcular a significância (ver 3.) Embora eu nunca a tenha conhecido.

  3. Ao iniciar. Você calcula o modelo com base em subamostras aleatórias 1000 vezes. Você obtém uma pontuação, por exemplo, a soma mínima de erros alfa e beta. Você classifica a pontuação crescente. Com 5% de confiança, você escolhe o 950º valor. Se esse valor for menor que 50% (para um número igual de pontos para os grupos A e B), com 95% de confiança, você poderá desconsiderar a hipótese nula de que as distribuições são iguais. O problema é que, se as distribuições são normais, têm a mesma média, mas têm uma variação diferente, não será possível entender que elas são diferentes pelas técnicas de ML. Por outro lado, você pode encontrar um teste de variação capaz de distinguir as duas distribuições. E poderia ser o contrário: o ML será mais forte que um teste estatístico e será capaz de distinguir as distribuições.

  4. Quando você possui apenas um recurso no ML, precisa encontrar apenas um valor para distinguir as distribuições. Com duas características, a borda pode ser um seio e, no espaço multidimensional, pode ser realmente estranho. Portanto, será muito mais difícil encontrar a borda certa. Por outro lado, recursos adicionais trazem informações adicionais. Portanto, geralmente permitirá distinguir as duas distribuições mais facilmente. Se ambas as variáveis ​​são normalmente distribuídas, a borda é uma linha.

  5. Amostras menores podem se comportar normalmente porque o Teorema do Limite Central não pode ser aplicado. Amostras maiores começam a se comportar mais normalmente porque o Teorema do Limite Central começa a funcionar. Por exemplo, a média de ambos os grupos será quase normalmente distribuída se a amostra for grande o suficiente. Mas geralmente não é 100 vs 300, mas 10 observações contra 1000 observações. Portanto, de acordo com este site, o teste t para diferença de média funcionará independentemente da distribuição se o número de observações for maior que 40 e sem discrepâncias.

keiv.fly
fonte
0

O teste estatístico serve para inferir dados, informando como as coisas estão relacionadas. O resultado é algo que tem um significado no mundo real. Por exemplo, como o tabagismo está associado ao câncer de pulmão, tanto em termos de direção quanto de magnitude. Ainda não diz por que as coisas aconteceram. Para responder por que as coisas aconteceram, precisamos considerar também a inter-relação com outras variáveis ​​e fazer os ajustes adequados (ver Pearl, J. (2003) CAUSALIDADE: MODELOS, RAZÃO E INFERÊNCIA).

O aprendizado supervisionado é para fazer previsões, ele diz o que vai acontecer. Por exemplo, dado o status de fumante de uma pessoa, podemos prever se ela terá câncer de pulmão. Em casos simples, ele ainda diz "como", por exemplo, observando o ponto de corte do status de fumante identificado pelo algoritmo. Mas modelos mais complexos são mais difíceis ou impossíveis de interpretar (aprendizado profundo / aprimoramento com muitos recursos).

O aprendizado não supervisionado é frequentemente usado para facilitar os dois acima.

  • Para testes estatísticos, descobrindo alguns subgrupos subjacentes desconhecidos dos dados (clustering), podemos inferir a heterogeneidade nas associações entre variáveis. Por exemplo, fumar aumenta as chances de ter câncer de pulmão no subgrupo A, mas não no subgrupo B.
  • Para um aprendizado supervisionado, podemos criar novos recursos para melhorar a precisão e a robustez das previsões. Por exemplo, identificando subgrupos (clustering) ou combinação de recursos (redução de dimensão) associados a chances de câncer de pulmão.

Quando o número de características / variáveis ​​aumenta, a diferença entre teste estatístico e aprendizado supervisionado se torna mais substancial. O teste estatístico pode não necessariamente se beneficiar disso, depende, por exemplo, se você deseja fazer inferência causal controlando outros fatores ou identificando heterogeneidade nas associações, como mencionado acima. O aprendizado supervisionado terá um desempenho melhor se os recursos forem relevantes e se tornarem mais como uma caixa preta.

Quando o número de amostras aumenta, podemos obter resultados mais precisos para testes estatísticos, resultados mais precisos para aprendizado supervisionado e resultados mais robustos para aprendizado não supervisionado. Mas isso depende da qualidade dos dados. Dados de má qualidade podem introduzir viés ou ruído nos resultados.

Às vezes, queremos saber "como" e "por que" para informar as ações de intervenção, por exemplo, identificando que fumar causa câncer de pulmão, uma política pode ser adotada para lidar com isso. Às vezes, queremos saber “o que” para informar a tomada de decisão, por exemplo, descobrir quem provavelmente tem câncer de pulmão e fazer tratamentos precoces. Existe uma edição especial publicada na Science sobre previsão e seus limites ( http://science.sciencemag.org/content/355/6324/468) “O sucesso parece ser alcançado de maneira mais consistente quando as perguntas são abordadas em esforços multidisciplinares que unem a compreensão humana do contexto à capacidade algorítmica de lidar com terabytes de dados.” Na minha opinião, por exemplo, o conhecimento descoberto usando o teste de hipóteses pode ajudar o aprendizado supervisionado, informando-nos Quais dados / recursos devemos coletar em primeiro lugar. Por outro lado, o aprendizado supervisionado pode ajudar a gerar hipóteses, informando quais variáveis

Tom KL
fonte