Saltar al contenido principal
LibreTexts Español

29.1: Prueba del Valor de una Media Única (Sección 28.1)

  • Page ID
    150663
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    En este ejemplo, mostraremos múltiples formas de probar una hipótesis sobre el valor de una sola media. A modo de ejemplo, vamos a probar si la presión arterial sistólica media (PA) en el conjunto de datos de NHANES (promediada sobre las tres mediciones que se tomaron para cada persona) es mayor a 120 mm, que es el valor estándar para la PA sistólica normal.

    Primero hagamos un análisis de potencia para ver qué tan grande necesitaría ser nuestra muestra para detectar una pequeña diferencia (d = .2 de Cohen).

    pwr.result <- pwr.t.test(d=0.2, power=0.8, 
               type='one.sample', 
               alternative='greater')
    pwr.result
    ## 
    ##      One-sample t test power calculation 
    ## 
    ##               n = 156
    ##               d = 0.2
    ##       sig.level = 0.05
    ##           power = 0.8
    ##     alternative = greater

    En base a esto, se toma una muestra de 156 individuos del conjunto de datos.

    NHANES_BP_sample <- NHANES_adult %>%
      drop_na(BPSysAve) %>%
      dplyr::select(BPSysAve) %>%
      sample_n(pwr.result$n)
    
    print('Mean BP:')
    ## [1] "Mean BP:"
    meanBP <- NHANES_BP_sample %>%
      summarize(meanBP=mean(BPSysAve)) %>%
      pull()
    meanBP
    ## [1] 123

    Primero vamos a realizar una prueba de signos para ver si la media observada de 123.11 es significativamente diferente de cero. Para ello, contamos el número de valores que son mayores que la media hipotética, y luego usamos una prueba binomial para preguntar qué tan sorprendente es ese número si la proporción verdadera es 0.5 (como sería si la distribución estuviera centrada en la media hipotética).

    NHANES_BP_sample <- NHANES_BP_sample %>%
      mutate(BPover120=BPSysAve>120)
    
    nOver120 <- NHANES_BP_sample %>%
      summarize(nOver120=sum(BPover120)) %>%
      pull()
    
    binom.test(nOver120, nrow(NHANES_BP_sample), alternative='greater')
    ## 
    ##  Exact binomial test
    ## 
    ## data:  nOver120 and nrow(NHANES_BP_sample)
    ## number of successes = 84, number of trials = 155, p-value = 0.2
    ## alternative hypothesis: true probability of success is greater than 0.5
    ## 95 percent confidence interval:
    ##  0.47 1.00
    ## sample estimates:
    ## probability of success 
    ##                   0.54

    Esto no muestra ninguna diferencia significativa. A continuación vamos a realizar una prueba t de una muestra:

    t.test(NHANES_BP_sample$BPSysAve, mu=120, alternative='greater')
    ## 
    ##  One Sample t-test
    ## 
    ## data:  NHANES_BP_sample$BPSysAve
    ## t = 2, df = 154, p-value = 0.01
    ## alternative hypothesis: true mean is greater than 120
    ## 95 percent confidence interval:
    ##  121 Inf
    ## sample estimates:
    ## mean of x 
    ##       123

    Aquí vemos que la diferencia no es estadísticamente signficante. Finalmente, podemos realizar una prueba de aleatorización para probar la hipótesis. Bajo la hipótesis nula, esperaríamos que aproximadamente la mitad de las diferencias con respecto a la media esperada sean positivas y la mitad negativas (suponiendo que la distribución esté centrada alrededor de la media), por lo que podemos hacer que la hipótesis nula sea verdadera en promedio volteando aleatoriamente los signos de las diferencias.

    nruns = 5000
    
    # create a function to compute the 
    # t on the shuffled values 
    shuffleOneSample <- function(x,mu) {
      # randomly flip signs
      flip <- runif(length(x))>0.5
      diff <- x - mu
      diff[flip]=-1*diff[flip]
      # compute and return correlation 
      # with shuffled variable
      return(tibble(meanDiff=mean(diff)))
    }
    
    index_df <- tibble(id=seq(nruns)) %>%
      group_by(id)
    
    shuffle_results <- index_df %>%
      do(shuffleOneSample(NHANES_BP_sample$BPSysAve,120))
    
    observed_diff <- mean(NHANES_BP_sample$BPSysAve-120)
    p_shuffle <- mean(shuffle_results$meanDiff>observed_diff)
    p_shuffle
    ## [1] 0.014

    Esto nos da un valor p muy similar al observado con la prueba t estándar.

    También podríamos querer cuantificar el grado de evidencia a favor de la hipótesis nula, lo que podemos hacer usando el Factor Bayes:

    ttestBF(NHANES_BP_sample$BPSysAve,
            mu=120,  
            nullInterval = c(-Inf, 0))
    ## Bayes factor analysis
    ## --------------
    ## [1] Alt., r=0.707 -Inf<d<0    : 0.029 ±0.29%
    ## [2] Alt., r=0.707 !(-Inf<d<0) : 1.8   ±0%
    ## 
    ## Against denominator:
    ##   Null, mu = 120 
    ## ---
    ## Bayes factor type: BFoneSample, JZS

    Esto nos dice que nuestro resultado no proporciona evidencia particularmente fuerte para la hipótesis nula o alternativa; es decir, no es concluyente.


    This page titled 29.1: Prueba del Valor de una Media Única (Sección 28.1) is shared under a not declared license and was authored, remixed, and/or curated by Russell A. Poldrack via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.