Thales, Considerar a normalidade (ou seja se a distribuição é gaussiana ou não¹) apenas das diferenças seria estudar um processo diferente. Um processo onde apenas a distribuição das médias (então que passaríamos a tratar como uma amostra de uma população de resultados desse processo que gera essas diferenças).
O que pode ser ou não o caso do OP. Contudo, em geral, o teste t é um teste para verificar se uma medida de posição (média) de uma distribuição (assumida ser gaussiana) difere de outra outra (idem) e como hipótese nula assume-se que as duas amostras viriam da mesma distribuição e portanto a expectativa (diferença entre as duas amostras seria zero). A formulação do teste pareado é feito para aumentar o poder do teste frente ao conhecimento adicional que o mesmo conjunto de indivíduos está contido em ambas as amostras, note porém que ainda se usa um outro parâmetro (estimado da(s) amostra(s)) a variância (ou desvio padrão) nas fórmulas, mantendo a premissa que os dados viriam de uma distribuição gaussiana. Nesse caso a hipótese de a distribuição ser gaussiana é mantida para que o resultado do teste sobre a média possa ser analisado. HTH -- Cesar Rabak [1] Meu ouvido e olhos podem ser distraídos pela palavra "normalidade" que muitos sentidos diferentes. . . 2014-04-25 13:23 GMT-03:00 Marcos Vital <[email protected]>: > Olá, Thales > > Bom, não estou respondendo a sua dúvida sobre Monte Carlo (não conheço bem > o método), mas queria fazer uma observação sobre o pressuposto da > normalidade. > > Como o seu teste é pareado, o cálculo do t é feito sobre as diferenças, e > não sobre os valores brutos. Então acredito que você deva testar a > normalidade das diferenças entre as variáveis x e y. > > Fiz o teste rapidamente com os dados que você incluiu no email, e o > shapiro agora não rejeita a normalidade. Veja: > > dif<-x-y > > shapiro.test(dif) > > Shapiro-Wilk normality test > > data: dif > W = 0.9716, p-value = 0.2683 > > Considere isso como possibilidade, então, pois é possível que você não > precise sair do bom e velho teste t. > > Abraços > > Marcos > > Em 25 de abril de 2014 12:00, <[email protected]> escreveu: > >> Enviar submissões para a lista de discussão R-br para >> [email protected] >> >> Para se cadastrar ou descadastrar via WWW, visite o endereço >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou >> corpo da mensagem para >> [email protected] >> >> Você poderá entrar em contato com a pessoa que gerencia a lista pelo >> endereço >> [email protected] >> >> Quando responder, por favor edite sua linha Assunto assim ela será >> mais específica que "Re: Contents of R-br digest..." >> >> >> Message: 2 >> Date: Fri, 25 Apr 2014 08:55:04 +0200 >> From: Tropidurus Torquatus <[email protected]> >> To: [email protected] >> Subject: [R-br] [OFF-Topic] Distribuição Normal e teste de t >> Message-ID: <[email protected]> >> Content-Type: text/plain; charset=windows-1252 >> >> >> Caros R-users, >> >> Coloquei como off-topic pois acredito que esta seja mais uma dúvida >> conceitual do que de R ppd. >> >> Dado que tenho dois conjuntos de dados: >> >> x <- c ( 13.772 , 10.119 , 11.224 , 21.999 , 17.181 , 27.477 , 21.693 , >> 26.706 , 14.576 , 19.689 , 12.494 , 19.511 , 16.785 , 16.551 , 20.780 , >> 0.000 , 25.867 , 28.223 , 26.059 , 21.668 , 18.209 , 20.186 , 28.320 , >> 26.946 , 16.218 , 16.814 , 16.859 , 0.000 , 0.000 , 3.986 , 1.625 , >> 17.286 , 28.149 , 19.404 , 21.669 , 22.058 , 14.947 , 14.512 , 21.177 , >> 29.997 , 20.958 , 15.123 , 28.932 , 23.807 , 30.589 , 10.208 , 20.076 , >> 18.897 , 14.666 , 13.955) >> >> y <- c ( 13.902 , 10.102 , 11.301 , 22.081 , 17.234 , 27.540 , 21.741 , >> 26.677 , 14.621 , 19.766 , 12.547 , 19.622 , 16.857 , 16.628 , 20.787 , >> 0.000 , 25.943 , 28.313 , 26.166 , 21.724 , 18.255 , 20.307 , 28.387 , >> 27.079 , 16.202 , 16.857 , 16.875 , 0.000 , 0.000 , 3.951 , 1.681 , >> 17.353 , 28.273 , 19.422 , 21.724 , 22.164 , 14.902 , 14.458 , 21.174 , >> 30.024 , 20.949 , 15.101 , 28.926 , 23.850 , 30.597 , 10.147 , 20.035 , >> 18.873 , 14.691 , 13.892) >> >> As duas amostras estão pareadas. >> As duas amostras falham para o teste de normalidade: >> >> > shapiro.test ( x ) >> >> Shapiro-Wilk normality test >> >> data: testetcompounds$tR...tM.UV.ABC >> W = 0.9373, p-value = 0.01057 >> >> > shapiro.test ( y ) >> >> Shapiro-Wilk normality test >> >> data: testetcompounds$tR...tM.UV.ABC.Group10 >> W = 0.9372, p-value = 0.01043 >> >> No livro Bayesian Computation with R >> >> Sugere que para distribuições não normais é necessário fazer o teste de >> Monte Carlo >> >> Com a seguinte função >> ======================================================= >> tstatistic = function ( y , x ) >> { >> m = length ( y ) >> n = length ( x ) >> sp = sqrt( ( ( m - 1 ) * sd ( y ) ^ 2 + ( n - 1 ) * sd ( x ) ^ 2 ) / ( >> m + n - 2 ) ) >> t = ( mean ( y ) - mean ( x ) ) / ( sp * sqrt ( 1 / m + 1 / n) ) >> return ( t ) >> } >> ======================================================== >> Retornando >> >> t = -0.02242564 >> >> Em seguida o teste: >> ======================================================== >> alpha = 0.01 ; m = 50 ; n = 50 # sets alpha, m and n ( alpha is the >> stated significance level, m and n are the samples sizes ) >> N = 10000 # sets the number of >> simulations >> n.reject = 0 # counter of num. of >> rejections >> for ( i in 1 : N ) >> { >> x = rnorm ( m , mean = x , sd = x ) >> >> # simulates xs from population 1 >> y = rnorm ( n , mean = y , sd = y ) >> >> # simulates ys from population 2 >> t = tstatistic ( y , x ) # computes the t statistic >> if ( abs ( t ) > qt ( 1 - alpha / 2 , n + m - 2) ) >> n.reject = n.reject + 1 >> >> # reject if |t| exceeds critical >> pt >> } >> true.sig.level = n.reject/N >> >> # est. is proportions of >> rejections >> ======================================================== >> Retornando >> >> true.sig.level = 0.0049 >> >> >> Problema Conceitual >> >> 1) Como interpretar esse resultado? >> >> >> Porém ainda há uma diferença entre o t calculado por essa fórmula e o t >> calculado com o comando t.stat (padrão do R) >> >> ================================================================ >> t = t.test ( y , x , mu = 0 , paired = TRUE , var.equal = TRUE , >> conf.level = 0.9999 ) >> t >> >> Paired t-test >> >> data: y and x >> t = 4.6437, df = 49, p-value = 2.594e-05 >> alternative hypothesis: true difference in means is not equal to 0 >> 99.99 percent confidence interval: >> 0.003082235 0.067077765 >> sample estimates: >> mean of the differences >> 0.03508 >> >> ================================================================ >> >> E finalmente? minha média da diferencia é conhecida e não é zero, assim >> utilizei o seguinte comando: >> >> t = t.test ( y , x , mu = 0.87 , paired = TRUE , var.equal = TRUE , >> conf.level = 0.9999, alternative = "less? ) >> >> >> Paired t-test >> >> data: y and x >> t = -110.5231, df = 49, p-value < 2.2e-16 >> alternative hypothesis: true difference in means is less than 0.87 >> 99.99 percent confidence interval: >> -Inf 0.06545182 >> sample estimates: >> mean of the differences >> 0.03508 >> >> 2) Problema de Comando? como fazer a simulação de Monte Carlo na situação >> acima? >> >> >> * Obs.: aceito sugestões de leitura sobre o assunto e comando >> alternativos para comparar a médias >> >> >> Muito obrigado e me desculpe pelo longo e-mail. >> >> >> Thales >> >> >> > > -- > Marcos Vinícius Carneiro Vital > Universidade Federal de Alagoas > Instituto de Ciências Biológicas e da Saúde > Setor de Biodiversidade e Ecologia > > _______________________________________________ > R-br mailing list > [email protected] > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça > código mínimo reproduzível. >
_______________________________________________ R-br mailing list [email protected] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
