Em R, quando eu tenho um modelo linear (generalizada) ( lm
, glm
, gls
, glmm
, ...), como posso testar o coeficiente (inclinação de regressão) contra qualquer outro valor diferente de 0? No resumo do modelo, os resultados do teste t do coeficiente são relatados automaticamente, mas apenas para comparação com 0. Quero compará-lo com outro valor.
Sei que posso usar um truque para reparametrizar y ~ x
como y - T*x ~ x
, onde T
está o valor testado, e executar esse modelo reparametrizado, mas busco uma solução mais simples, que possivelmente funcione no modelo original.
r
regression
t-test
Curioso
fonte
fonte
Respostas:
Aqui está uma solução mais ampla que funcionará com qualquer pacote, ou mesmo se você tiver apenas a saída de regressão (como em um artigo).
Tome o coeficiente e seu erro padrão.
Calcular . O df para oté o mesmo que seria para um teste comH0:β=0.t = β^- βH0 0se ( β^) t H0 0: β= 0
fonte
pt()
pt
- ou qualquer outra coisa que lhe dê o valor de t cdfs. Muitos pacotes possuem isso e existem tabelas t amplamente disponíveis.Você pode usar um teste t simples, conforme proposto por Glen_b, ou um teste Wald mais geral.
No seu exemplo, onde você tem apenas uma hipótese em um parâmetro, R é um vetor de linha, com um valor de um para o parâmetro em questão e zero em outro lugar, e q é um escalar com a restrição de teste.
Em R, você pode executar um teste de Wald com a função linearHypothesis () do pacote car . Digamos que você queira verificar se o segundo coeficiente (indicado pelo argumento hipótese.matriz ) é diferente de 0,1 (argumento rhs ):
Para o teste t, essa função implementa o teste t mostrado por Glen_b:
Vamos garantir que obtivemos o procedimento correto comparando Wald, nosso teste t e teste t padrão R, para a hipótese padrão de que o segundo coeficiente é zero:
Você deve obter o mesmo resultado com os três procedimentos.
fonte
hypothesis.matrix
parâmetro?No final, até agora a solução mais fácil foi fazer a reparametrização:
fonte