Saltar al contenido principal
LibreTexts Español

17.1: Ejemplo simple: volteo de monedas (Sección 16.3.5.1)

  • Page ID
    150962
  • \( \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}}\)

    Digamos que volteamos 100 monedas y observamos 70 cabezas. Nos gustaría utilizar estos datos para probar la hipótesis de que la probabilidad verdadera es 0.5.

    Primero generemos nuestros datos, simulando 100,000 conjuntos de 100 volteretas. Usamos un número tan grande porque resulta que es muy raro conseguir 70 cabezas, por lo que necesitamos muchos intentos para obtener una estimación confiable de estas probabilidades. Esto tardará un par de minutos en completarse.

    # simulate tossing of 100,000 flips of 100 coins to identify 
    # empirical probability of 70 or more heads out of 100 flips
    
    nRuns <- 100000
    
    # create function to toss coins
    tossCoins <- function() {
      flips <- runif(100) > 0.5 
      return(tibble(nHeads=sum(flips)))
    }
    
    # create an input data frame for do()
    input_df <- tibble(id=seq(nRuns)) %>%
      group_by(id)
    
    # use do() to perform the coin flips
    flip_results <- input_df %>%
      do(tossCoins()) %>%
      ungroup()
    
    p_ge_70_sim <- 
      flip_results %>%
      summarise(p_gt_70 = mean(nHeads >= 70)) %>%
      pull()
    
    p_ge_70_sim
    ## [1] 3e-05

    A modo de comparación, también podemos calcular el valor p para 70 o más cabezas basándose en una hipótesis nula dePheads=0.5P_ {cabezas} =0.5, utilizando la distribución binomial.

    # compute the probability of 69 or fewer heads, 
    # when P(heads)=0.5
    p_lt_70 <- pbinom(69, 100, 0.5) 
    
    # the probability of 70 or more heads is simply 
    # the complement of p_lt_70
    p_ge_70 <- 1 - p_lt_70
    
    p_ge_70
    ## [1] 3.9e-05

    This page titled 17.1: Ejemplo simple: volteo de monedas (Sección 16.3.5.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.