Como escrever o termo do erro em medidas repetidas ANOVA em R: Erro (assunto) vs Erro (assunto / tempo)


10

A minha pergunta é muito estreitamente relacionado a um post anterior Especificando o termo de erro () em medidas repetidas ANOVA em R . No entanto, gostaria de obter mais informações sobre como definir o termo de erro.

Suponha que eu tenha uma ANOVA repetida em dois sentidos. O fator para o efeito entre grupos é o Tratamento (controle versus placebo), enquanto Tempo é o efeito dentro do grupo medido repetidamente ao longo de 4 vezes (T1 ~ T4). A identificação do paciente é registrada como Assunto. Aqui, peguei emprestados os dados de um exemplo do tutorial em http://gjkerns.github.io/R/2012/01/20/power-sample-size.html, para que os dados tenham esta aparência

 Time Subject Method      NDI
 0min    1     Treat 51.01078
 15min   1     Treat 47.12314
 48hrs   1     Treat 26.63542
 96hrs   1     Treat 20.78196
 0min    2     Treat 42.61345
 15min   2     Treat 32.77171

Para aplicar a ANOVA:

aovComp <- aov(NDI ~ Time*Method + Error(Subject/Time), theData)
summary(aovComp)
Error: Subject
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1              

Error: Subject:Time        
            Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45 

Eu também tentei o outro termo de erro:

aovComp1 <- aov(NDI ~ Time*Method + Error(Subject), theData)
summary(aovComp1)

Error: Subject      
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1               

Error: Within
             Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45

Alguém pode me ajudar a explicar as diferenças entre esses dois termos de erro? Se o primeiro termo for o correto, o que significam os resultados do segundo termo de erro?

Atualização por @amoeba: As duas saídas são as mesmas, pelo que parece que neste caso não há diferença, mas permanece a questão sobre qual é a diferença em princípio . São Error(subject)e Error(subject/time)sempre a mesma coisa?


3
desculpe, acabei de perceber que esses dois termos dão os mesmos resultados. Então eu acho que eles são o mesmo :-)
tiantianchen

11
Eu estava esperando uma explicação para isso: /
vipin8169

Tudo o que posso reunir sobre o termo do erro é este >> "Em um design de medidas repetidas, precisamos especificar um termo de erro que represente a variação natural de participante para participante. (Por exemplo, eu poderia reagir um pouco diferente à música assustadora do que você porque eu amo filmes de zumbis e você os odeia!) Fazemos isso com a função Error (): especificamente, estamos dizendo que queremos controlar essa variação entre participantes sobre todas as nossas variáveis ​​dentro dos assuntos ".
vipin8169

(+1) Eles são equivalentes apenas quando há exatamente 1 medição por cada combinação de assunto / tempo. Se houver mais medições por combinação de sujeito / tempo (simplesmente porque as medições foram repetidas ou porque há outro fator B dentro do sujeito, além de time), então Error(subject)e Error(subject/time)produzirá valores F e p diferentes para time.
Ameba

A mesma pergunta no SO: stackoverflow.com/questions/37497948 - infelizmente sem respostas totalmente satisfatórias (imho).
Ameba

Respostas:


2

Primeiro, a subject/timenotação é timeaninhada subjecte, portanto, se expande para duas partes, subjecte a subject:timeinteração. Portanto, a pergunta se torna mais apropriada: quando se deve especificar a subject:timeinteração e que diferença isso faz?

Antes de responder a essa pergunta, outra coisa importante a ser percebida é que todos os modelos incluem um termo de erro adicional que não precisa ser especificado, que é o termo de erro associado às medições individuais (o nível mais baixo, se você pensar hierarquicamente).

Nesse caso, a subject:timeinteração é o nível mais baixo, que é sempre incluído no modelo. Então, use Error(subject)e Error(subject/time)dê o mesmo resultado; a única diferença é que, na saída, esse nível de resultados é chamado Withinpara o primeiro e é chamado subject:timepara o segundo.

No entanto, nos casos em que existem várias medidas em cada subject/timecombinação, é necessário especificar a subject:timeinteração, pois essa interação não está no nível mais baixo.


(Eu tive uma recompensa em aberto sobre essa questão, mas infelizmente acabou ontem ...) +1, mas acho que essa resposta contorna o que pode ser o problema central aqui: na presença de várias medidas por cada subject/timecombinação, por que necessariamente quer testar o efeito de em timerelação à subject:timeinteração? Este é essencialmente o conteúdo da minha pergunta aqui stats.stackexchange.com/questions/286280 , então eu convidaria qualquer futuro leitor deste segmento a procurar justificativas conceituais.
Ameba

Além disso, há perguntas e respostas muito semelhantes aqui: stats.stackexchange.com/questions/247582 .
Ameba
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.