4.5 Cálculo do tamanho da amostra

O cálculo do tamanho de amostra é baseado em uma série de premissas assumidas pelo pesquisador. Os valores sugeridos pelos diversos métodos de cálculo de tamanho de amostra devem ser considerados apenas como uma referência, dada a arbitrariedade das medidas utilizadas em sua obtenção. Tempo e custo são dois limitantes que devem ser levados em conta, podendo se sobrepor aos cálculos de tamanho de amostra. Para cálculos de tamanho de amostra em pesquisa clínica recomenda-se (Chow, Wang, and Shao 2007).

Ferramentas

A seguir serão apresentados casos mais simples, suficientes para ilustrar os princípios utilizados.

4.5.1 Média

Uma forma de estimar o tamanho da amostra no caso da inferência para a media universal \(\mu\) é considerar a margem de erro da Equação (6.10) e isolar \(n\) na forma \[\begin{equation} n = \left \lceil{ \left( \frac{z \sigma}{\varepsilon} \right)^2 }\right \rceil. \tag{4.4} \end{equation}\]

O operador \(\left \lceil{ x }\right \rceil\) indica a função teto de \(x\), i.e., indica o primeiro inteiro acima de \(x\).

Exercício 4.14 Obtenha o resultado da Equação (4.4) a partir da margem de erro da Equação (6.10).

Exemplo 4.39 (Tamanho da amostra para a média) Deseja-se obter o tamanho de amostra para estimar a média de altura dos alunos da PUCRS. Considera-se um intervalo de confiança de \(1-\alpha = 95\%\), com margem de erro de \(\varepsilon = 3\) cm. De estudos anteriores, admite-se \(\sigma = 15\) cm. Considerando a Equação (4.4), sabe-se da tabela da distribuição normal padrão que \(z = 1.96\), assim \[n = \left \lceil{ \left( \frac{1.96 \times 15}{3} \right)^2 }\right \rceil = \left \lceil{ 96.04 }\right \rceil = 97.\]

n_m <- function(z,sigma,e) {
  exact <- (z*sigma/e)^2
  ceil <- ceiling(exact)
  return(list(exact=exact, 
              ceiling=ceil))
}      
n_m(1.96,15,3)
## $exact
## [1] 96.04
## 
## $ceiling
## [1] 97

Exemplo 4.40 Em Python.

import math

def n_m(z, sigma, e):
  """
  Calcula o tamanho amostral necessário para estimar a média.

  Args:
    z: Valor crítico da distribuição normal padrão.
    sigma: Desvio padrão populacional.
    e: Margem de erro.

  Returns:
    Um dicionário contendo o tamanho amostral exato e o tamanho 
    amostral arredondado para cima.
  """
  exact = (z * sigma / e)**2
  ceil = math.ceil(exact)
  return {'exact': exact, 'ceiling': ceil}

# Exemplo de uso
result = n_m(1.96, 15, 3)
print(result)  # Output: {'exact': 96.04, 'ceiling': 97}

4.5.2 Proporção

Uma forma de estimar o tamanho da amostra no caso da inferência para a proporção universal \(\pi\) é considerar a margem de erro da Equação (6.8) e isolar \(n\) na forma \[\begin{equation} n = \left \lceil{ \frac{z^2 p (1-p)}{\varepsilon^2} }\right \rceil. \tag{4.5} \end{equation}\]

Em certos casos existe informação disponível sobre a proporção, mas quando não há qualquer conhecimento a respeito desta medida considera-se \(p=\frac{1}{2}\), ponto no qual \(p(1-p)\) atinge seu máximo.

Exercício 4.15 Obtenha o resultado da Equação (4.5) a partir da margem de erro da Equação (6.8).

Exercício 4.16 Verifique que \(p(1-p)\) atinge seu máximo quando \(p=\frac{1}{2}\).

Exemplo 4.41 (Tamanho da amostra para a proporção) Em uma pesquisa eleitoral deseja-se calcular o tamanho de amostra aproximado para que a margem de erro seja de \(\varepsilon = 2\%\) com confiança de \(1-\alpha = 95\%\). Considerando a Equação (4.5), sabe-se da tabela da distribuição normal padrão que \(z = 1.96 \approx 2\), e que \(p(1-p)\) atinge seu máximo quando \(p=\frac{1}{2}\). Assim, \[\begin{equation} n \approx \left \lceil{ \frac{2^2 \times \frac{1}{2} \times (1-\frac{1}{2})}{\varepsilon^2} }\right \rceil = \left \lceil{ \frac{1}{\varepsilon^2} }\right \rceil \tag{4.6} \end{equation}\]

Logo, um IC para a proporção com \(\alpha = 5\%\) para uma margem de erro de \(\varepsilon = 2\%\) pode ser calculado com um tamanho de amostra de \[ n = \left \lceil{ \frac{1}{0.02^2} }\right \rceil = 2500. \]

n_p <- function(e) {
  exact <- 1/e^2
  ceil <- ceiling(exact)
  return(list(exact=exact, 
              ceiling=ceil))
}      
n_p(0.02)
## $exact
## [1] 2500
## 
## $ceiling
## [1] 2500

Exemplo 4.42 Em Python.

import math

def n_p(e):
  """
  Calcula o tamanho amostral necessário para estimar uma proporção.

  Args:
    e: Margem de erro.

  Returns:
    Um dicionário contendo o tamanho amostral exato e o tamanho 
    amostral arredondado para cima.
  """
  exact = 1 / e**2
  ceil = math.ceil(exact)
  return {'exact': exact, 'ceiling': ceil}

# Exemplo de uso
result = n_p(0.02)
print(result)  # Output: {'exact': 2500.0, 'ceiling': 2500}

Exercício 4.17 Teste a função n_p do Exemplo 4.41 com diferentes valores de margem de erro. Faça um gráfico para analisar a variação do tamanho da amostra à medida que \(\varepsilon\) aumenta.

References

Borges, Rogério, Aline Mancuso, Suzi Camey, Vanessa Leotti, Vânia Hirakata, Guilherme Azambuja, and Stela Castro. 2021. “Power and Sample Size for Health Researchers: Uma Ferramenta Para Cálculo de Tamanho Amostral e Poder Do Teste Voltado a Pesquisadores Da Área Da Saúde.” Clinical and Biomedical Research 40 (4). https://doi.org/10.22491/2357-9730.109542.
Champely, Stephane. 2020. Pwr: Basic Functions for Power Analysis. https://CRAN.R-project.org/package=pwr.
Chow, Shein-Chung, Hansheng Wang, and Jun Shao. 2007. Sample Size Calculations in Clinical Rsesearch, Second Edition. CRC press. https://books.google.com.br/books?id=ju-sojS3sa0C&printsec=frontcover&hl=pt-BR#v=onepage&q&f=false.
Franz Faul, Albert-Geroge Lang, Edgard Erdfelder, and Axel Buchner. 2007. “G*Power 3: A Flexible Statistical Power Analysis Program for the Social, Behavioral, and Biomedical Sciences.” Behavior Research Methods, 39, 175-191. https://www.psychologie.hhu.de/fileadmin/redaktion/Fakultaeten/Mathematisch-Naturwissenschaftliche_Fakultaet/Psychologie/AAP/gpower/GPower3-BRM-Paper.pdf.
Franz Faul, Axel Buchner, Edgard Erdfelder, and Albert-Geroge Lang. 2009. “Statistical Power Analyses Using G*Power 3.1: Tests for Correlation and Regression Analyses.” Behavior Research Methods, 41, 1149-1160. https://www.psychologie.hhu.de/fileadmin/redaktion/Fakultaeten/Mathematisch-Naturwissenschaftliche_Fakultaet/Psychologie/AAP/gpower/GPower31-BRM-Paper.pdf.
Seabold, Skipper, and Josef Perktold. 2010. “Statsmodels: Econometric and Statistical Modeling with Python.” In 9th Python in Science Conference. https://www.statsmodels.org/stable/index.html.