Eu tenho dados de um experimento que analisei usando testes t. A variável dependente é escalonada em intervalos e os dados são desparelhados (ou seja, 2 grupos) ou emparelhados (ou seja, dentro de indivíduos). Por exemplo (dentro dos assuntos):
x1 <- c(99, 99.5, 65, 100, 99, 99.5, 99, 99.5, 99.5, 57, 100, 99.5,
99.5, 99, 99, 99.5, 89.5, 99.5, 100, 99.5)
y1 <- c(99, 99.5, 99.5, 0, 50, 100, 99.5, 99.5, 0, 99.5, 99.5, 90,
80, 0, 99, 0, 74.5, 0, 100, 49.5)
No entanto, como os dados não são normais, um revisor solicitou que usássemos algo diferente do teste t. No entanto, como se pode ver facilmente, os dados não apenas não são normalmente distribuídos, mas também as distribuições não são iguais entre as condições:
Portanto, os testes não paramétricos usuais, o Teste U de Mann-Whitney (não pareado) e o Teste Wilcoxon (emparelhado), não podem ser usados, pois exigem distribuições iguais entre as condições. Por isso, decidi que seria melhor realizar algum teste de reamostragem ou permutação.
Agora, estou procurando uma implementação R de um equivalente baseado em permutação do teste t ou qualquer outro conselho sobre o que fazer com os dados.
Eu sei que existem alguns pacotes R que podem fazer isso por mim (por exemplo, moeda, perm, exactRankTest etc.), mas não sei qual escolher. Portanto, se alguém com alguma experiência com esses testes pudesse me dar um pontapé inicial, isso seria ubercool.
ATUALIZAÇÃO: Seria ideal se você pudesse fornecer um exemplo de como relatar os resultados deste teste.
fonte
coin
possível calcular a distribuição exata da permutação (sem realmente passar por todas as permutações, existem algoritmos mais elegantes do que isso). Dada a escolha, a distribuição exata parece preferível, mas a diferença para uma aproximação de Monte Carlo com um número alto de repetições deve ser pequena.oneway_test
função é precisa? E se sim, qual é o correto para dados não emparelhados?coin
autor me escreveu queoneway_test()
não pode calcular a distribuição exata para o caso dependente, você deve seguir a aproximação do MC (somentewilcoxsign_test()
é adequado para o teste exato). Eu não sabia disso e preferiria um erro nesse caso, mas o MC deve ser preciso o suficiente com um alto número de repetições.Alguns comentários estão, acredito, em ordem.
1) Recomendamos que você tente várias exibições visuais de seus dados, porque eles podem capturar coisas que são perdidas por (gráficos como) histogramas, e também recomendo vivamente que plote em eixos lado a lado. Nesse caso, não acredito que os histogramas façam um bom trabalho ao comunicar os principais recursos de seus dados. Por exemplo, dê uma olhada nos boxplots lado a lado:
Ou mesmo diagramas lado a lado:
2) Você não explicou detalhadamente de onde vêm seus dados, nem como eles foram medidos, mas essas informações são muito importantes na hora de selecionar um procedimento estatístico. Suas duas amostras acima são independentes? Existem razões para acreditar que as distribuições marginais das duas amostras devem ser as mesmas (exceto por uma diferença de local, por exemplo)? Quais foram as considerações anteriores ao estudo que o levaram a procurar evidências de uma diferença entre os dois grupos?
5) Na minha opinião, esses dados são um exemplo perfeito (?) De que uma imagem bem escolhida vale 1000 testes de hipóteses. Não precisamos de estatísticas para diferenciar um lápis e um celeiro. A declaração apropriada, a meu ver, para esses dados seria "Esses dados exibem diferenças marcantes em relação à localização, escala e forma". Você pode acompanhar estatísticas descritivas (robustas) de cada uma delas para quantificar as diferenças e explicar o que as diferenças significam no contexto do seu estudo original.
Essa resposta é muito mais longa do que eu pretendia originalmente. Me desculpe por isso.
fonte
Meus comentários não são sobre a implementação do teste de permutação, mas sobre as questões mais gerais levantadas por esses dados e sua discussão, em particular o post de G. Jay Kerns.
As duas distribuições são realmente muito parecidas comigo, EXCETO para o grupo de 0s em Y1, que são muito diferentes das outras observações nessa amostra (a menor menor é de cerca de 50 na escala de 0 a 100), bem como todas as do X1. Primeiro, investigaria se havia algo diferente nessas observações.
Segundo, supondo que esses 0s pertençam à análise, dizer que o teste de permutação não é válido porque as distribuições parecem diferir sugere a pergunta. Se o nulo fosse verdadeiro (as distribuições são idênticas), você poderia (com probabilidade razoável) obter distribuições parecendo tão diferentes quanto essas duas? Responder que esse é o objetivo do teste, não é? Talvez neste caso alguns considerem a resposta óbvia sem executar o teste, mas com essas distribuições pequenas e peculiares, acho que não.
fonte
Como essa pergunta apareceu novamente, posso adicionar outra resposta inspirada em uma postagem recente do blog via R-Bloggers de Robert Kabacoff, autor do Quick-R e R in Action usando o
lmPerm
pacote.No entanto, esse método produz resultados nitidamente contrastantes (e muito instáveis) aos produzidos pelo
coin
pacote na resposta de @caracakl (o valor p da análise dentro dos sujeitos é0.008
). A análise também toma a preparação dos dados da resposta de @ caracal:produz:
Se você executar isso várias vezes, os valores p saltam entre ~ 0,05 e ~ .1.
Embora seja uma resposta para a pergunta, permita-me fazer uma pergunta no final (eu posso passar para uma nova pergunta, se desejar):
Qualquer idéia de por que essa análise é tão instável e produz valores p tão divergentes para a análise de moedas? Fiz algo de errado?
fonte
set.seed(1)
; para maior precisão na estimativa de MC, você aumenta o número de iterações; Não tenho certeza se uma dessas é a resposta 'certa' para sua pergunta, mas provavelmente é relevante.oneway_anova()
(sempre perto do resultado correto) eaovp()
(geralmente longe do resultado correto). Não sei por queaovp()
dá resultados bastante variados, mas pelo menos nesse caso aqui são implausíveis. @gung a última chamadaoneway_test(DV ~ IV | id, ...)
na minha resposta original especificou os estratos de erro para o caso dependente (sintaxe diferente da usada poraov()
).Essas pontuações são proporções? Nesse caso, você certamente não deveria estar usando um teste paramétrico gaussiano e, embora possa avançar com uma abordagem não-paramétrica, como um teste de permutação ou auto-inicialização dos meios, sugiro que você obtenha mais poder estatístico empregando uma abordagem paramétrica não gaussiana adequada. Especificamente, sempre que você puder calcular uma medida de proporção dentro de uma unidade de interesse (por exemplo, participante de um experimento), poderá e provavelmente deverá usar um modelo de efeitos mistos que especifique observações com erro distribuído binomialmente. Veja Dixon 2004 .
fonte
Apenas adicionando outra abordagem,
ezPerm
doez
pacote:Isso parece ser consistente com o
oneway_test
docoin
pacote:No entanto, observe que este não é o mesmo exemplo fornecido pelo @caracal . Em seu exemplo, ele inclui
alternative="greater"
, portanto, a diferença de valores de p~0.008
vs~0.016
.O
aovp
pacote sugerido em uma das respostas produzem desconfiado reduzir os valores de p, e corre de forma suspeita rápido mesmo quando eu tento altos valores para aIter
,Ca
emaxIter
argumentos:Dito isto, os argumentos parecem reduzir um pouco as variações dos valores de p
~.03
e~.1
(obtive um intervalo maior do que o relatado por @Henrik), para0.03
e0.07
.fonte