Não estou procurando um método plug and play como o BEST em R, mas uma explicação matemática de quais são alguns métodos bayesianos que posso usar para testar a diferença entre a média de duas amostras.
39
Não estou procurando um método plug and play como o BEST em R, mas uma explicação matemática de quais são alguns métodos bayesianos que posso usar para testar a diferença entre a média de duas amostras.
Respostas:
Essa é uma boa pergunta, que parece aparecer muito: link 1 , link 2 . O artigo Bayesian Estimation Superseed the T-Test que Cam.Davidson.Pilon apontou é um excelente recurso sobre esse assunto. Também é muito recente, publicado em 2012, que acho que em parte se deve ao interesse atual na área.
Tentarei resumir uma explicação matemática de uma alternativa bayesiana ao teste t de duas amostras. Este resumo é semelhante ao artigo BEST, que avalia a diferença em duas amostras, comparando a diferença em suas distribuições posteriores (explicadas abaixo em R).
Para comparar a amostra, precisamos estimar o que são. O método bayesiano para fazer isso usa o teorema de Bayes: P (A | B) = P (B | A) * P (A) / P (B) (a sintaxe de P (A | B) é lida como a probabilidade de A dado B)
Vamos colocar no código. Código torna tudo melhor.
Fiz algumas suposições anteriores que precisam ser justificadas. Para evitar que os anteriores prejudiquem a média estimada, eu queria torná-los amplos e uniformes sobre valores plausíveis, com o objetivo de permitir que os dados produzissem as características do posterior. Usei a configuração recomendada de BEST e distribuí os mu's normalmente com média = média (agrupada) e um amplo desvio padrão = 1000 * sd (agrupada). Os desvios padrão que defini para uma ampla distribuição exponencial, porque eu queria uma ampla distribuição ilimitada.
Agora podemos fazer a posterior
Amostraremos a distribuição posterior usando uma cadeia de markov monte carlo (MCMC) com modificação de Metropolis Hastings. É mais fácil entender com código.
A matriz de resultados é uma lista de amostras da distribuição posterior para cada parâmetro que podemos usar para responder à nossa pergunta original: sample.1 é diferente de sample.2? Mas, primeiro, para evitar efeitos dos valores iniciais, iremos "queimar" os primeiros 500 valores da cadeia.
Agora, sample.1 é diferente de sample.2?
A partir dessa análise, concluo que há uma chance de 99,5% de que a média da amostra.1 seja menor que a média da amostra.2.
Uma vantagem da abordagem bayesiana, como apontado no artigo BEST, é que ela pode fazer teorias fortes. Por exemplo, qual é a probabilidade de que a amostra.2 seja 5 unidades maior que a amostra.1.
Concluiríamos que existe uma chance de 93% de que a média da amostra.2 seja 5 unidades maior que a amostra.1. Um leitor atento acharia isso interessante porque sabemos que as populações verdadeiras têm meios de 100 e 103, respectivamente. Provavelmente, isso se deve ao pequeno tamanho da amostra e à escolha de usar uma distribuição normal para a probabilidade.
Terminarei esta resposta com um aviso: Este código é para fins de ensino. Para uma análise real, use o RJAGS e, dependendo do tamanho da amostra, ajuste uma distribuição t para a probabilidade. Se houver interesse, publicarei um teste t usando o RJAGS.
EDIT: Conforme solicitado, aqui está um modelo JAGS.
fonte
A excelente resposta do usuário1068430 implementada em Python
fonte
Com uma análise bayesiana, você tem mais coisas a especificar (isso é realmente uma coisa boa, pois oferece muito mais flexibilidade e capacidade de modelar o que você acredita ser a verdade). Você está assumindo normais para as probabilidades? Os 2 grupos terão a mesma variação?
Uma abordagem direta é modelar as 2 médias (e 1 ou 2 variações / dispersões) e depois olhar para o posterior na diferença das 2 médias e / ou no intervalo de credibilidade na diferença das 2 médias.
fonte
Existem várias abordagens para "testar" isso. Vou mencionar alguns:
Se você deseja uma decisão explícita , pode considerar a teoria da decisão.
Uma coisa bastante simples que às vezes é feita é encontrar um intervalo para a diferença nos meios e considerar se inclui 0 ou não. Isso envolveria começar com um modelo para as observações, anteriores aos parâmetros e computar a distribuição posterior da diferença de médias condicionada aos dados.
Você precisaria dizer qual é o seu modelo (por exemplo, variação normal e constante) e, em seguida (pelo menos) um número anterior para a diferença de médias e um anterior para a variação. Você pode ter antecedentes sobre os parâmetros desses antecedentes. Ou você pode não assumir variação constante. Ou você pode assumir algo diferente da normalidade.
fonte