1 Simulação e Cálculo do Poder do Teste e de Tamanho de Amostra para Testes no aplicativo R
O aplicativo R é um software livre de análise estatística, fruto das contribuições de muitas pessoas ao redor do mundo. Em essência é um ambiente para desenvolvimento e execução de algoritmos escritos na linguagem R, ao contrário da forma costumeira com que os usuários utilizam aplicativos computacionais, por meio de menus. Muitas funções, porém, foram automatizadas através de pacotes também disponíveis gratuitamente. Para as atividades que serão descritas a seguir alguns pacotes precisam ser instalados e carregados previamente no R, a saber:
- Rcmdr, RcmdrPlugin.TeachingDemos, tkrplot, pwr e pwt. 1) Simulação de poder do teste
Uma vez carregados os pacotes citados, surgirá a tela do R Commander, que dispõe de vários menus (como outros softwares estatísticos), entre eles o menu “Demos”. Selecionando este menu, e escolhendo a opção “Power of the test” surgirá a tela a seguir:
Trata-se de uma simulação apenas para poder do teste unilateral à direita de média amostral com distribuição normal, onde podem ser mudados os seguintes parâmetros (através de controles apropriados):
2 - desvio padrão (standard deviation);
- distância entre a média “real” e a média testada (declarada como verdadeira em H0);
- nível de significância (alpha).
Sugere-se que os alunos variem os parâmetros e observem os impactos no poder do teste. 2) Cálculo do poder do teste
Pode ser feito através de funções dos pacotes mencionados anteriormente, mas exigem a rigorosa observação da sintaxe (com todos os argumentos necessários). É possível realizar o cálculo do poder do teste para as seguintes situações:
- teste de 1 média (teste t de 1 média) – unilaterais ou bilateral; - teste de 1 proporção – unilaterais ou bilateral;
- teste de diferença entre 2 médias (teste de t de 2 médias) – unilaterais ou bilateral.
2.1 - Poder do teste para teste t de 1 média.
Pode ser feito através das funções power.t.test ou pwr.t.test. A primeira permite especificar o desvio padrão, mas não permite definir o tipo de teste de unilateral (considera apenas unilateral à direita, se houver interesse em calcular o poder para um teste unilateral à esquerda a diferença entre a média “real” e a testada (declarada em H0) teria que ser informado sem sinal.
Com a função power.t.test, com alguns valores sugeridos: Teste de 1 média - unilateral
power.t.test(n = 20, delta = 0.5, sd = 1, sig.level = 0.05,power = NULL, type = "one.sample",alternative = "one.sided",strict = FALSE) Teste de 1 média - bilateral
power.t.test(n = 20, delta = 0.5, sd = 1, sig.level = 0.05,power = NULL, type = "one.sample",alternative = "two.sided",strict = TRUE) Teste de 2 médias - unilateral
power.t.test(n = 20, delta = 0.5, sd = 1, sig.level = 0.05,power = NULL, type = "two.sample",alternative = "one.sided",strict = FALSE) Teste de 2 médias - Bilateral
power.t.test(n = 20, delta = 0.5, sd = 1, sig.level = 0.05,power = NULL, type = "two.sample",alternative = "two.sided",strict = TRUE)
É possível fornecer o valor do tamanho de amostra (n), a diferença entre a média “real” e a testada (delta, SEMPRE positiva nesta função, e na unidade da média), o valor do desvio padrão (sd, na unidade da média), o nível de significância (sig.level, sendo que o R usa ponto como separador de decimais), o número de amostras (type, “one.sample” para teste de 1 média, “two.sample” para teste de 2 médias), o tipo de teste (alternative, “one.sided” para unilateral, “two.sided” para bilateral), e possibilidade de multiplicar por 2 o poder do teste – em testes bilaterais (strict, se FALSE,
3 poder do teste não é multiplicado, se TRUE, o poder calculado é multiplicado por 2). A opção power deve ser deixada como NULL, pois seu valor é que será calculado pela função.
Com a função pwr.t.test, com alguns valores sugeridos: Teste de 1 média - unilateral à direita
pwr.t.test(n = 20, d = 0.5, sig.level = 0.05, power = NULL,type = "one.sample", alternative = "greater") Teste de 1 média - unilateral à esquerda
pwr.t.test(n = 20, d = -0.5, sig.level = 0.05, power = NULL,type = "one.sample", alternative = "less") Teste de 1 média - bilateral
pwr.t.test(n = 20, d = 0.5, sig.level = 0.05, power = NULL,type = "one.sample", alternative = "two.sided") Teste de 2 médias - unilateral à direita
pwr.t.test(n = 20, d = 0.5, sig.level = 0.05, power = NULL,type = "two.sample", alternative = "greater") Teste de 2 médias - unilateral à esquerda
pwr.t.test(n = 20, d = -0.5, sig.level = 0.05, power = NULL,type = "two.sample", alternative = "less") Teste de 2 médias - bilateral
pwr.t.test(n = 20, d = 0.5, sig.level = 0.05, power = NULL,type = "two.sample", alternative = "two.sided")
É possível fornecer o valor do tamanho de amostra (n), a diferença entre a média “real” e a testada (d, que deve ser fornecida em número de desvios padrões), o nível de significância (sig.level, sendo que o R usa ponto como separador de decimais), o número de amostras (type, “one.sample” para teste de 1 média, “two.sample” para teste de 2 médias), o tipo de teste (alternative, “greater” para teste unilateral à direita, “less” para teste unilateral à esquerda, “two.sided” para teste bilateral). A opção power deve ser deixada como NULL, pois seu valor é que será calculado pela função. Os resultados obtidos serão exatamente iguais aos da função power.t.test, obtidos através da distribuição t não central.
2.2 - Poder do teste para teste t de 1 proporção.
Pode ser feito apenas através da função pwr.t.test. Com a função pwr.t.test, com alguns valores sugeridos: Teste de 1 proporção - Unilateral à direita
4 Teste de 1 proporção - Unilateral à esquerda
pwr.p.test(h = -0.01, n = 200, sig.level = 0.01, power = NULL,alternative = "less") Teste de 1 proporção - Bilateral
pwr.p.test(h = 0.01, n = 200, sig.level = 0.01, power = NULL,alternative = "two.sided")
A diferença entre a proporção “real” e a testada (declarada em H0) é o argumento h, o tamanho de amostra é n, o nível de significância é sig.level, e o
tipo de teste é definido pelo argumento alternative(“less” para unilateral à esquerda, “greater” para unilateral à direita, “two.sided” para bilateral). Novamente, a opção power deve ser deixada como NULL, pois seu valor é que será calculado pela função.
3) Cálculo de tamanho de amostra para poder do teste
É feito pelas mesmas funções apenas modificando: o valor de n passa a ser NULL, pois será calculado pela função; o valor do poder do teste (power) precisa ser informado, lembrando que o R usa o ponto como separador de decimais.
Teste de 1 média - unilateral
power.t.test(n = NULL, delta = 0.5, sd = 1, sig.level = 0.05,power = 0.90, type = "one.sample",alternative = "one.sided",strict = FALSE) Teste de 1 média - bilateral
power.t.test(n = NULL, delta = 0.5, sd = 1, sig.level = 0.05,power = 0.90, type = "one.sample",alternative = "two.sided",strict = TRUE) Teste de 2 médias - unilateral
power.t.test(n = NULL, delta = 0.5, sd = 1, sig.level = 0.05,power = 0.90, type = "two.sample",alternative = "one.sided",strict = FALSE) Teste de 2 médias - Bilateral
power.t.test(n = NULL, delta = 0.5, sd = 1, sig.level = 0.05,power = 0.90, type = "two.sample",alternative = "two.sided",strict = TRUE) Teste de 1 média - unilateral à direita
pwr.t.test(n = NULL, d = 0.5, sig.level = 0.05, power = 0.90,type = "one.sample", alternative = "greater") Teste de 1 média - unilateral à esquerda
5 Teste de 1 média - bilateral
pwr.t.test(n = NULL, d = 0.5, sig.level = 0.05, power = 0.90,type = "one.sample", alternative = "two.sided") Teste de 2 médias - unilateral à direita
pwr.t.test(n = NULL, d = 0.5, sig.level = 0.05, power = 0.90L,type = "two.sample", alternative = "greater") Teste de 2 médias - unilateral à esquerda
pwr.t.test(n = NULL, d = -0.5, sig.level = 0.05, power = 0.90,type = "two.sample", alternative = "less") Teste de 2 médias - bilateral
pwr.t.test(n = NULL, d = 0.5, sig.level = 0.05, power = 0.90,type = "two.sample", alternative = "two.sided") Teste de 1 proporção - Unilateral à direita
pwr.p.test(h = 0.01, n = NULL, sig.level = 0.01, power = 0.90,alternative = "greater") Teste de 1 proporção - Unilateral à esquerda
pwr.p.test(h = -0.01, n = NULL, sig.level = 0.01, power = 0.90,alternative = "less") Teste de 1 proporção - Bilateral