Você está na página 1de 5

INE6006 - Procedimentos

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):
- tamanho de amostra (n);
1
INE6006 - Procedimentos

- 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,
2
INE6006 - Procedimentos

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
pwr.p.test(h = 0.01, n = 200, sig.level = 0.01, power = NULL,alternative = "greater")

3
INE6006 - Procedimentos

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


pwr.t.test(n = NULL, d = -0.5, sig.level = 0.05, power = 0.90,type = "one.sample", alternative = "less")

4
INE6006 - Procedimentos

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


pwr.p.test(h = 0.01, n = NULL, sig.level = 0.01, power = 0.90,alternative = "two.sided")

Você também pode gostar