Estrategias de Asignación de Signos en la Prueba de Signo en R, Abordando Desafíos de Ambigüedad.

Exploración de Cuatro Estrategias para Evaluar Medianas en Datos con Valores Iguales a la Mediana.

Este informe se enfoca en la aplicación de la prueba de signo en muestras de datos que incluyen observaciones idénticas a la mediana. La ambigüedad en la asignación de signos en tales casos puede llevar a interpretaciones sesgadas o incorrectas. Siguiendo la metodología propuesta por (Gibbons 2020c), exploramos cuatro estrategias para abordar esta problemática. Nuestro objetivo es comprender cómo estas estrategias afectan la interpretación de resultados y qué implicaciones tienen en la toma de decisiones. Al abordar la ambigüedad en la asignación de signos, buscamos mejorar la objetividad y la robustez de la prueba de signo en situaciones donde las observaciones idénticas a la mediana plantean desafíos.
Autor/a
Afiliación
Fecha de publicación

29 de noviembre de 2024

Introducción:

La prueba de signo es una herramienta valiosa en estadísticas no paramétricas que nos permite evaluar si la mediana de una muestra es igual a un valor de referencia. Sin embargo, se presentan desafíos interesantes cuando los datos contienen observaciones que son exactamente iguales a la mediana, lo que puede influir en la asignación de signos y, en última instancia, en la interpretación de los resultados. En este informe, exploraremos esta problemática a través de la aplicación de cuatro estrategias distintas, siguiendo la metodología propuesta por Gibbons y Chakraborti (2020).

Enfoque

Nuestro enfoque se centrará en dos ejemplos ilustrativos: uno para una sola muestra y otro para muestras emparejadas. Estos ejemplos nos permitirán comprender cómo cada una de estas estrategias aborda la ambigüedad en la asignación de signos y cómo afecta la toma de decisiones al evaluar si la mediana de la muestra es igual al valor de referencia.

Alternativas a Aplicar

  1. Retirar las observaciones con ceros:

    En esta estrategia, eliminaremos las observaciones que sean iguales a la mediana antes de realizar la prueba de signo. Utilizaremos el entorno de programación R para implementar esta estrategia y la ilustraremos con un ejemplo concreto.

  2. Colocar la mitad de los ceros con el signo + y la otra mitad con el signo -:

    Asignaremos signos de manera equitativa a las observaciones con cero. Este proceso se llevará a cabo en R, y examinaremos cómo impacta en la prueba de signo a través de un caso práctico.

  3. Asignar signos a los ceros de forma aleatoria:

    En esta estrategia, asignaremos signos de manera aleatoria a las observaciones con cero. Utilizaremos R para implementar esta estrategia y analizaremos su efecto en un ejemplo con datos reales.

  4. Asignar a los ceros el signo que incline la decisión a no rechazar la hipótesis nula:

    En esta estrategia, asignaremos signos a las observaciones con cero de manera que la prueba tienda a no rechazar la hipótesis nula. Nuevamente, emplearemos R para llevar a cabo este análisis y proporcionaremos un ejemplo que ilustre sus implicaciones.

Ejemplo

Supongamos que estamos realizando un estudio de investigación para evaluar la resistencia al esfuerzo cortante de motores de cohetes. Hemos seleccionado aleatoriamente 20 motores y medido su resistencia al esfuerzo cortante en psi (libras por pulgada cuadrada). Deseamos probar la hipótesis de que la mediana de la resistencia al esfuerzo cortante de estos motores es igual a 2000 psi.

Datos de la muestra

A continuacion, se presentan los datos de la muestra:

Código
# Datos de la muestra
Observaciones=20
resistencia_esfuerzo_cortante=c(2158.70, 1678.15, 2000, 2061.30, 2207.50, 1708.30, 1784.70, 2575.10, 2000, 2256.70, 2165.20, 2399.55, 1779.80, 2336.75, 2000, 2053.50, 2414.40, 2200.50, 2654.20, 2000)

# Mediana
mediana_hipotetica=2000

# Calcular las diferencias y asignar los signos
diferencias=resistencia_esfuerzo_cortante - mediana_hipotetica
signos=ifelse(diferencias > 0, "+", ifelse(diferencias < 0, "-", "0"))

# Crear una tabla con los datos y los signos de diferencia
tabla_datos_signos=data.frame(
  "Observación" = 1:Observaciones,
  "Resistencia_al_Esfuerzo_Cortante" = resistencia_esfuerzo_cortante,
  "Signo_de_la_Diferencia" = signos
  )

# Datos de la muestra con los signos de diferencia
knitr::kable(tabla_datos_signos, align = "c")
Observación Resistencia_al_Esfuerzo_Cortante Signo_de_la_Diferencia
1 2158.70 +
2 1678.15 -
3 2000.00 0
4 2061.30 +
5 2207.50 +
6 1708.30 -
7 1784.70 -
8 2575.10 +
9 2000.00 0
10 2256.70 +
11 2165.20 +
12 2399.55 +
13 1779.80 -
14 2336.75 +
15 2000.00 0
16 2053.50 +
17 2414.40 +
18 2200.50 +
19 2654.20 +
20 2000.00 0

Hipotesis del ejercicio

Hip\acute{o}tesis \: Nula: \left ( H_{0} \right ):Mediana \: de \: resistencia=2000_{Psi}

Hip\acute{o}tesis \: Alternativa: \left ( H_{0} \right ):Mediana \: de \: resistencia\neq 2000_{Psi}

Motivacíon

El propósito de este ejercicio es realizar una prueba de signo para evaluar si la mediana de la resistencia al esfuerzo cortante de los motores es igual a 2000 psi. Sin embargo, hemos notado que algunos motores tienen exactamente el mismo valor que la mediana, lo que plantea un desafío en la asignación de signos para la prueba de signo convencional. Para abordar esta ambigüedad, aplicaremos cuatro estrategias diferentes, siguiendo la metodología propuesta por Gibbons y Chakraborti (2020). Estas estrategias nos ayudarán a comprender cómo cada enfoque aborda la ambigüedad y cómo afecta la interpretación de los resultados.

Alternativa 1: Retirar las observaciones con ceros 🤔

Cuando se realiza la prueba de signo en una sola muestra, estamos interesados en verificar si la mediana de esa muestra es igual a un valor de referencia dado. Sin embargo, la presencia de ceros en la muestra puede generar ambigüedad en la asignación de signos, lo que afecta la interpretación de los resultados. La primera estrategia que abordaremos es eliminar las observaciones que son iguales a la mediana antes de realizar la prueba de signo. Esto se hace para evitar que los ceros influyan en el análisis y facilitar la asignación de signos a las diferencias entre los datos y la mediana.

Usando la función de R del paquete(Arnholt y Evans 2023) 👨‍💻

¿Qué hace R por defecto con la función “SIGN.test” en esta situación?

R, a través de la función “SIGN.test”, al realizar una prueba de signo, automáticamente ignora las observaciones que son iguales a la mediana. Esto significa que la funcion de R asume la primera estrategia de eliminar las observaciones con ceros al calcular el estadístico de la prueba de signo y su correspondiente p-valor.

Código
#Libreria
library(BSDA)

# Realizamos la prueba del signo utilizando la función sign.test
resultado_prueba <- SIGN.test(resistencia_esfuerzo_cortante, md = mediana_hipotetica, alternative = "two.sided", conf.level=0.95);resultado_prueba 

    One-sample Sign-Test

data:  resistencia_esfuerzo_cortante
s = 12, p-value = 0.07681
alternative hypothesis: true median is not equal to 2000
95 percent confidence interval:
 2000.00 2250.97
sample estimates:
median of x 
       2110 

Achieved and Interpolated Confidence Intervals: 

                  Conf.Level L.E.pt  U.E.pt
Lower Achieved CI     0.8847   2000 2207.50
Interpolated CI       0.9500   2000 2250.97
Upper Achieved CI     0.9586   2000 2256.70
Código
# estadístico de prueba
estadistico_prueba_R <- resultado_prueba$statistic

# p-valor
p_valor_R <- resultado_prueba$p.value

cat("S =",estadistico_prueba_R,",","P-value =",p_valor_R)
S = 12 , P-value = 0.07681274

Dado que el p-valor=0.07681 > α = 0.05, no hay evidencia suficiente para rechazar la hipótesis nula. En otras palabras, no podemos afirmar que la mediana de la muestra sea significativamente diferente de 2000 psi. Los resultados de esta prueba sugieren que no hay suficiente evidencia para concluir que la resistencia al esfuerzo cortante difiere de la mediana propuesta de 2000 psi.

Después de haber aplicado la prueba del signo con la función de R, es importante realizar la misma prueba de forma manual para confirmar y comprender mejor cómo funciona la alternativa 1, que implica eliminar los ceros de la muestra. Esto nos permitirá verificar si la eliminación de los ceros tiene un impacto significativo en la decisión de rechazar o no la hipótesis nula. Nos centraremos principalmente en la prueba manual para verificar cómo se comporta la eliminación de ceros, ya que se espera que los resultados sean consistentes con la prueba realizada con la función de R. A continuación, se proporcionara el código en R de forma manual para llevar a cabo esta prueba:

Código
# Eliminamos las observaciones con diferencias iguales a cero
diferencias1 <- diferencias[diferencias != 0]

# Calculamos el número de diferencias positivas y negativas
diferencias_positivas1 <- sum(diferencias1 > 0);
diferencias_negativas1 <- sum(diferencias1 < 0);

cat("Número de diferencias positivas y negativas:", diferencias_positivas1," y ",diferencias_negativas1)
Número de diferencias positivas y negativas: 12  y  4
Código
# Número total de diferencias
n1 <- length(diferencias1)

# Realizamos la prueba del signo de forma manual
if (diferencias_positivas1 > diferencias_negativas1) {
  p_valor1 <- 2 * pbinom(min(diferencias_positivas1, diferencias_negativas1), n1, 0.5)
} else {
  p_valor1 <- 1
}

# Resultado
cat("P-value:", p_valor1)
P-value: 0.07681274

Conclusión

Hemos realizado la prueba del signo utilizando la alternativa 1 (eliminación de ceros) tanto con la función de R como de forma manual. En ambos casos, hemos obtenido un p-valor de aproximadamente 0.0768. Como este valor es mayor que el nivel de significancia \alpha = 0.05, no hemos encontrado evidencia suficiente para rechazar la hipótesis nula de que la mediana de la resistencia al esfuerzo cortante es igual a 2000 psi.

Este resultado es coherente con lo esperado, ya que la función de R, por defecto, elimina los ceros antes de realizar la prueba del signo, lo que coincide con la alternativa 1. Ahora, continuaremos explorando las otras tres estrategias para abordar la asignación de signos en casos de empates en el próximo análisis.

Dato curioso! 🧐🕵️

Es importante destacar que, dado que las otras tres alternativas implican asignar signos de diferentes maneras a las observaciones iguales a la mediana, será interesante comparar cómo afectan estos enfoques a los resultados de la prueba y si se obtienen conclusiones diferentes.

Alternativa 2: Colocar la mitad de los ceros con signo + y la otra mitad con signo menos - 🤓

Antes de adentrarnos en la aplicación de la Alternativa 2, es importante comprender la naturaleza de esta estrategia y por qué puede ser necesaria. La Alternativa 2 se refiere a la asignación equitativa de signos (+ y - )a las observaciones que son iguales a la mediana en una prueba del signo.

Cuando realizamos una prueba del signo y encontramos observaciones que son iguales a la mediana, esto genera una ambigüedad en la asignación de signos. ¿Deberíamos asignarles un signo positivo o negativo? Esta ambigüedad puede influir en los resultados de la prueba y llevar a interpretaciones sesgadas o incorrectas.

En situaciones donde los empates (observaciones iguales a la mediana) son pares, la Alternativa 2 es una estrategia válida. En este caso, asignamos la mitad de los empates con un signo positivo y la otra mitad con un signo negativo, manteniendo un equilibrio en la asignación de signos y minimizando cualquier sesgo. Gibbons y Chakraborti (2020)

Dicho esto, procederemos a realizar la prueba del signo utilizando la Alternativa 2 de forma manual para el ejemplo dado.

Ojo 👀🙅‍♂️

Ten en cuenta que esta estrategia solo se aplicará si el número de empates es par. Si es impar, debemos considerar otras alternativas más apropiadas.

Código
# Contar el número de ceros 
num_positivos2 <- sum(diferencias > 0) 
num_negativos2 <- sum(diferencias < 0) 
num_ceros2 <- sum(diferencias == 0);num_ceros2
[1] 4
Código
#Calcular el número de ceros a asignar como signos "+" y "-"
num_ceros_positivos2 <- num_ceros2 %/% 2; 
num_ceros_negativos2 <- num_ceros2 - num_ceros_positivos2

#Crear vectores de signos "+" y "-"
signos_positivos2 <- rep("+", num_positivos2 + num_ceros_positivos2) 
signos_negativos2 <- rep("-", num_negativos2 + num_ceros_negativos2)

#Combinar los signos en un vector

signos2 <- c(signos_positivos2, signos_negativos2);signos2
 [1] "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "-" "-" "-" "-" "-"
[20] "-"

Primero, identificamos los empates en el conjunto de datos, es decir, los valores que son iguales a la mediana. Luego, asignamos signos positivos y negativos de manera equitativa a los empates. En este caso, tenemos 4 empates, por lo cual asignamos 2 signos positivos y 2 signos negativos de modo que se obtuvo el vector de signos.

Código
#Numero total de diferencias 
n2=length(signos2)

#Calcular 'c' (número de diferencias positivas)
c2 <- sum(signos2 == "+");c2
[1] 14
Código
#Calcular 'n-c' (número de diferencias negativas)
d2 <- sum(signos2 == "-");d2
[1] 6
Código
#Calcular p-valor utilizando la distribución binomial
p_valor2 <- 2 * pbinom(min(c2,d2),n2, 0.5);p_valor2
[1] 0.1153183

Después de asignar los signos a los empates, se calculo la prueba del signo de la misma manera que en la primera alternativa:

  • Número de diferencias positivas (c): Contamos cuántos signos positivos hay y se obtuvo un valor de c=14.

  • Número de diferencias negativas (n - c): Contamos cuántos signos negativos hay, donde ‘n’ es el número total de datos (en este caso, 20) de modo que se observaron 6.

  • P-valor: Utilizamos la distribución binomial para calcular el p-valor=0.1153.

Conclusión

Con un nivel de significancia \alpha típico de 0.05, el p-valor de aproximadamente 0.1153 es mayor que alpha. Esto significa que no hay evidencia suficiente para rechazar la hipótesis nula en este caso.

Al no rechazar la hipótesis nula, podemos decir que, en este conjunto de datos, no hay suficiente evidencia para concluir que la mediana es diferente de 2000 psi.

Se olvido decir! 🤦

En el campo de la estadística, es común encontrar que la elección de la alternativa a utilizar puede depender de las características únicas de los datos y de la estrategia de análisis adoptada. Resulta interesante notar que diferentes enfoques estadísticos pueden conducir a resultados similares, y la decisión final suele estar guiada por el contexto particular y los objetivos del estudio. La versatilidad de las pruebas estadísticas no paramétricas, como la prueba del signo, otorga a los investigadores la flexibilidad necesaria para ajustar sus métodos según las necesidades específicas de cada situación.

En este informe, hemos explorado las Alternativas 1 y 2 para abordar la ambigüedad en la asignación de signos en la prueba del signo cuando se presentan empates. La elección entre estas alternativas depende de la naturaleza de los datos y de los objetivos de la investigación. A continuación, procederemos a aplicar la Alternativa 3 y analizaremos cómo influye en la interpretación de los resultados. Esta variedad de enfoques demuestra la versatilidad de las pruebas no paramétricas y su capacidad para adaptarse a distintas situaciones de investigación.

Alternativa 3: Asignar signos a los ceros de forma aleatoria 🤘

Para abordar la ambigüedad en la asignación de signos cuando se presentan empates (diferencias iguales a cero) en la prueba del signo, la Alternativa 3 propone asignar los signos aleatoriamente a estas observaciones. Esta estrategia busca mantener la imparcialidad en la asignación de signos y evitar cualquier sesgo en los resultados. Sin embargo, es importante mencionar que, debido a la naturaleza aleatoria de esta alternativa, los resultados pueden variar en cada ejecución.

En el contexto de nuestra muestra de datos, implementaremos esta estrategia en R para asignar signos aleatoriamente a las observaciones que presentan empates, es decir, aquellas para las cuales la diferencia es cero. Luego, procederemos a realizar la prueba del signo y analizar cómo afecta esta alternativa a la interpretación de los resultados. La comparación con las Alternativas 1 y 2 nos proporcionará una visión completa de cómo diferentes enfoques pueden influir en las conclusiones de la prueba del signo.

Naturaleza aleatoria! 😟

Dado que esta estrategia utiliza asignaciones aleatorias, es importante recordar que los resultados pueden variar en cada ejecución, lo que subraya la importancia de comprender la variabilidad inherente a esta alternativa.

Código
# Asignar signos aleatoriamente a los ceros
set.seed(1)  # Para reproducibilidad, establecer una semilla
signos_aleatorios3 <- sample(c("+", "-"), sum(diferencias == 0), replace = TRUE)

# Crear un vector para almacenar los signos
signos3 <- signos

# Asignar signos aleatorios a las diferencias iguales a cero
signos3[diferencias == 0] <- signos_aleatorios3

# Número de diferencias positivas y negativas
diferencias_positivas3 <- sum(signos3 == "+")
diferencias_negativas3 <- sum(signos3 == "-")

cat("Número de diferencias positivas y negativas:", diferencias_positivas3, "y", diferencias_negativas3)
Número de diferencias positivas y negativas: 15 y 5
Código
# Número total de diferencias
n3 <- length(signos3)

# Realizar la prueba del signo de forma manual
if (diferencias_positivas3 > diferencias_negativas3) {
  p_valor3 <- 2 * pbinom(min(diferencias_positivas3, diferencias_negativas3), n3, 0.5)
} else {
  p_valor3 <- 1
}

# Resultado
cat("P-valor:", p_valor3)
P-valor: 0.04138947

Conclusión

En este ejemplo específico, al aplicar la Alternativa 3, obtuvimos un $p-valor$ de aproximadamente 0.0414. Este p-valor representa la probabilidad de obtener un resultado tan extremo como el observado, bajo la hipótesis nula de que la mediana es igual a la mediana hipotética (2000 en este caso).

Con un nivel de significancia \alpha típicamente establecido en 0.05, dado que el p-valor = 0.0414 es menor que alpha, tendríamos suficiente evidencia para rechazar la hipótesis nula. Esto sugiere que la mediana de la muestra es significativamente diferente de la mediana hipotética. No obstante, es importante tener en cuenta que la interpretación puede variar según el contexto del estudio y los objetivos de investigación.

Es fundamental destacar que, debido a la asignación aleatoria de signos a las observaciones con empates, el resultado de la prueba puede variar en diferentes ejecuciones. En algunos casos, la prueba podría conducir al rechazo de la hipótesis nula, mientras que en otros podría no proporcionar suficiente evidencia para hacerlo. Esto resalta la variabilidad inherente en los datos y cómo la elección de la Alternativa 3 permite capturar esa variabilidad.

En resumen, la Alternativa 3 nos brinda un enfoque más robusto al considerar la variabilidad en la asignación de signos. En lugar de depender de una única asignación de signos, reconocemos que en diferentes muestras o ejecuciones, los resultados podrían diferir. Esta variabilidad puede ser especialmente útil cuando se trabaja con datos que presentan empates, ya que nos permite tomar en cuenta la incertidumbre inherente en los datos.

Variabilidad en la asignación de signos aletorios en la prueba del signo 🤯
  1. **Robustez de los Resultados:** Cuando se trabaja con muestras pequeñas o datos que pueden tener cierto grado de subjetividad, la asignación de signos aleatoria puede ayudar a obtener resultados más robustos. La variabilidad en los signos refleja la incertidumbre en los datos y puede reducir la dependencia de resultados específicos.

  2. **Captura de Incertidumbre:** Al permitir que los signos sean asignados de manera aleatoria, reconoces la incertidumbre en tus observaciones. Esto es especialmente relevante cuando trabajas con datos que contienen empates, donde la asignación de signos puede afectar significativamente los resultados.

  3. **Contexto de Investigación:** La variabilidad en los resultados puede dar lugar a interpretaciones interesantes. Por ejemplo, si la mayoría de las ejecuciones de la prueba del signo con asignación aleatoria de signos llevan al rechazo de la hipótesis nula, esto podría sugerir que la mediana es verdaderamente diferente de la mediana hipotética, independientemente de la asignación de signos.

  4. **Exploración de Sensibilidad:** Puedes usar esta variabilidad para explorar la sensibilidad de tus resultados ante diferentes asignaciones de signos. Por ejemplo, podrías ejecutar la prueba del signo con asignaciones aleatorias múltiples veces y analizar cuántas veces se rechaza la hipótesis nula. Si obtienes resultados consistentes en la mayoría de las ejecuciones, esto fortalece la evidencia en contra de la hipótesis nula.

En resumen, la variabilidad introducida por la asignación aleatoria de signos permite reconocer la incertidumbre en tus datos y puede proporcionar una perspectiva más completa y robusta de tus resultados. Puede ayudarte a entender cómo la asignación de signos afecta tus conclusiones y, en algunos casos, puede ofrecer información valiosa sobre la verdadera naturaleza de tus datos. Gibbons y Chakraborti (2011).

Alternativa 4: Asignar a los ceros el signo que incline la decisión a no rechazar la hipótesis nula

En esta cuarta alternativa, abordaremos la asignación de signos a las observaciones con diferencias iguales a cero de manera que la prueba tienda a no rechazar la hipótesis nula. Esto implica que se asignará el signo + o - de acuerdo con la dirección que minimice la diferencia en el número de signos positivos y negativos. A continuación, procederemos a realizar la prueba del signo con esta estrategia para nuestro ejemplo.

Primero, recordemos nuestros datos:

  • Tamaño de la muestra: 20

  • Observaciones de resistencia al esfuerzo cortante: (listado anterior)

  • Mediana hipotética: 2000

Pasemos a la resolución en R. Primero, calcularemos las diferencias y asignaremos los signos siguiendo la estrategia de la Alternativa 4. Luego, procederemos con la prueba del signo.

Código
# Contar el número de ceros
num_positivos4 <- sum(diferencias > 0)
num_negativos4 <- sum(diferencias < 0)
num_ceros4 <- sum(diferencias == 0)

# Asignar signos a los ceros según la estrategia de Alternativa 4
if (num_positivos4 > num_negativos4) {
  signos_ceros4 <- rep("-", times = num_ceros4)
} else if (num_positivos4 < num_negativos4) {
  signos_ceros4 <- rep("+", times = num_ceros4)
} 

# Crear un vector para almacenar los signos
signos4 <- signos

# Asignar signos a las diferencias iguales a cero
signos4[diferencias == 0] <- signos_ceros4

# Número de diferencias positivas y negativas
diferencias_positivas4 <- sum(signos4 == "+")
diferencias_negativas4 <- sum(signos4 == "-")

#Numero total de diferencias
n4=length(signos4)

# Realizar la prueba del signo de forma manual con los signos de Alternativa 4
p_valor4 <- 2 * pbinom(min(diferencias_positivas4, diferencias_negativas4), n4, 0.5);p_valor4
[1] 0.5034447

Conclusión

En este ejemplo específico, al aplicar la Alternativa 4, obtenemos un p-valor de aproximadamente 0.0118. Con un nivel de significancia \alpha típicamente establecido en 0.05, como el p-valor < \alpha , tendríamos suficiente evidencia para rechazar la hipótesis nula. Esto sugiere que la mediana de la muestra es significativamente diferente de la mediana hipotética (2000 en este caso).

¿como inclinarse hacia la decisión de no rechazar si los signos de la diferencia son iguales? 🔥☕

Si el número de signos positivos y negativos es igual y no hay una clara dirección en las diferencias, puede resultar difícil inclinarse hacia la decisión de no rechazar la hipótesis nula utilizando la Alternativa 4. Esto se debe a que la Alternativa 4 se basa en asignar signos a los empates de manera que equilibren el número de diferencias positivas y negativas, lo que podría llevar a la no rechazo de la hipótesis nula. Sin embargo, en casos donde no haya un desequilibrio claro en las diferencias, la elección de asignar signos para favorecer el no rechazo puede no ser la mejor estrategia.

En estas situaciones, puede ser más apropiado considerar otras alternativas, como la Alternativa 3, que asigna signos de manera aleatoria a los empates. Esto reconoce la incertidumbre en los datos y no asume una dirección específica en las diferencias cuando no está claro hacia dónde se inclina la hipótesis.

En resumen, cuando el número de signos positivos y negativos es igual y no hay una dirección clara en las diferencias, la Alternativa 4 puede no ser la elección más adecuada. En su lugar, considerar alternativas que reflejen la incertidumbre en los datos puede ser una opción más apropiada. La elección de la alternativa debe basarse en la naturaleza de los datos y los objetivos del estudio.@gibbons2011.

Conclusión y resultados

En conclusión, a lo largo de este ejercicio hemos explorado y aplicado cuatro alternativas para abordar la prueba del signo en estadística no paramétrica. Cada una de estas alternativas presenta sus propias ventajas y limitaciones, lo que nos permite comprender mejor la complejidad de la toma de decisiones en pruebas de hipótesis no paramétricas.

Comenzamos desarrollando y aplicando estas alternativas en el entorno de programación R, lo que nos permitió apreciar su funcionalidad y utilidad en diferentes contextos. Al observar los resultados obtenidos en cada alternativa para nuestro ejemplo específico, notamos que los p-valores varían significativamente. Esto nos lleva a cuestionar la efectividad de estas alternativas en la prueba del signo y si alguna de ellas es más apropiada que las demás en todos los casos.

Cada alternativa tiene sus inconsistencias. La primera alternativa elimina los empates, lo que podría limitar la representatividad de la prueba. La segunda alternativa solo es aplicable cuando el número de empates es par, lo que podría ser restrictivo en ciertos casos. La tercera alternativa, aunque no tiene condiciones específicas, puede generar resultados aleatorios debido a la asignación aleatoria de signos en empates. La cuarta alternativa presenta problemas cuando el número de signos positivos y negativos es igual, lo que nos lleva a cuestionar su utilidad en tales situaciones.

Es importante resaltar la importancia de estas alternativas y su aplicabilidad en la prueba del signo. Aunque puedan parecer limitadas o inconsistentes en ciertos aspectos, estas alternativas proporcionan un marco valioso para comprender mejor la variabilidad en los datos y la incertidumbre en las conclusiones de la prueba del signo.

En resumen, las alternativas para la prueba del signo ofrecen flexibilidad y adaptabilidad en la toma de decisiones estadísticas, pero es esencial comprender sus ventajas y limitaciones para aplicarlas eficazmente en diferentes contextos de investigación.

Pregunta! 🤔😱

Una pregunta que podría surgir es si existe una forma automatizada de seleccionar la alternativa más apropiada para una muestra dada con diversas condiciones. ¿Es posible crear un algoritmo o una función que considere automáticamente el número de empates, la igualdad o diferencia en el número de signos positivos y negativos, y otras condiciones relevantes para determinar la mejor alternativa a utilizar en una prueba del signo? Esto invita a futuras investigaciones en el campo de la estadística no paramétrica y la toma de decisiones basada en datos.

Código
# Función para determinar la alternativa apropiada
determinar_alternativa <- function(datos, mediana_hipote) {
  
  # Calcular las diferencias y asignar los signos
  diferencias <- datos - mediana_hipote
  signos <- ifelse(diferencias > 0, "+", ifelse(diferencias < 0, "-", "0"))
  
  # Calcular el número de empates
  num_empates <- sum(signos == "0")
  
  # Calcular el número de signos positivos y negativos
  num_positivos <- sum(signos == "+")
  num_negativos <- sum(signos == "-")
  
  # Determinar la alternativa
  if (num_empates == 0) {
    # No hay empates, se puede utilizar la Alternativa 1
    return("Alternativa 1")
  } else if (num_empates %% 2 == 0) {
    # Número de empates par
    if (num_positivos != num_negativos) {
      # Número de signos positivos y negativos diferentes, se puede utilizar la Alternativa 2,3,4
      return("Alternativa 2,3,4")
    } else {
      # Número de signos positivos y negativos iguales, se puede utilizar la Alternativa 2,3
      return("Alternativa 2,3")
    }
  } else {
    # Número de empates impar, se puede utilizar la Alternativa 3,4
    return("Alternativa 3,4")
  }
}

# Ejemplo de uso de la función
alternativa_apropiada <- determinar_alternativa(resistencia_esfuerzo_cortante,mediana_hipotetica)
cat("Alternativa apropiada para la muestra:", alternativa_apropiada)
Alternativa apropiada para la muestra: Alternativa 2,3,4
Descubrimiento Poderoso!!

Antes de cerrar este documento, queremos compartir contigo una joya estadística que hemos creado. En este viaje de análisis de datos, hemos explorado diversas estrategias y métodos estadísticos. Como punto culminante, presentamos una herramienta potente que hemos desarrollado para abordar uno de los desafíos comunes en la estadística: la prueba del signo con datos que presentan empates. Este código no solo simplifica el proceso, sino que también mejora la precisión de nuestros análisis. Te invitamos a explorar este código y descubrir cómo puede simplificar tus futuras pruebas del signo.

Código
# Función para realizar la prueba del signo con diferentes alternativas y obtener el p-valor y la tabla
prueba_del_signo_con_tabla <- function(datos, mediana_hipotetica, alternativa) {
  
    #Datos de referencia
    diferencias <- datos - mediana_hipotetica
    signos <- ifelse(diferencias > 0, "+", ifelse(diferencias < 0, "-", "0"))
  
   if (alternativa == "R") {
    # Alternativa R: Utilizar la función SIGN.test
    library(BSDA)
    resultado_prueba <- SIGN.test(datos, md = mediana_hipotetica, alternative = "two.sided", conf.level = 0.95)
    estadistico_prueba <- resultado_prueba$statistic
    p_valor <- resultado_prueba$p.value
  } else if (alternativa == 1) {
    # Alternativa 1: Eliminar empates
    diferencias <- datos - mediana_hipotetica
    signos <- ifelse(diferencias > 0, "+", ifelse(diferencias < 0, "-", "0"))
    signos <- signos[signos != "0"]
    n <- length(signos)
    diferencias_positivas <- sum(signos == "+")
    diferencias_negativas <- sum(signos == "-")
    p_valor <- 2 * pbinom(min(diferencias_positivas, diferencias_negativas), n, 0.5)
  } else if (alternativa == 2) {
    # Alternativa 2: Mitad y mitad (solo si empates son pares)
    num_empates <- sum(datos == mediana_hipotetica)
    if (num_empates %% 2 == 0) {
      # Contar el número de ceros
      num_positivos2 <- sum(diferencias > 0)
      num_negativos2 <- sum(diferencias < 0)
      num_ceros2 <- sum(diferencias == 0)
      
      # Calcular el número de ceros a asignar como signos "+" y "-"
      num_ceros_positivos2 <- num_ceros2 %/% 2;
      num_ceros_negativos2 <- num_ceros2 - num_ceros_positivos2;
      
      # Crear vectores de signos "+" y "-"
      signos_positivos2 <- rep("+", num_positivos2 + num_ceros_positivos2)
      signos_negativos2 <- rep("-", num_negativos2 + num_ceros_negativos2)
      
      # Combinar los signos en un vector
      signos <- c(signos_positivos2, signos_negativos2)
      
      #Numero total de diferencias
      n=length(signos)
      
      #número de diferencias positivas
      diferencias_positivas <- sum(signos == "+")
      
      #número de diferencias negativas
      diferencias_negativas <- sum(signos == "-")
    
      p_valor <- 2 * pbinom(min(diferencias_positivas, diferencias_negativas), n, 0.5)
    } else {
      cat("No se puede aplicar la Alternativa 2 con empates impares.")
      return(NULL)
    }
  } else if (alternativa == 3) {
    # Alternativa 3: Asignación aleatoria de signos a empates
    signos_aleatorios3 <- sample(c("+", "-"), sum(diferencias == 0), replace = TRUE)
    
    # Crear un vector para almacenar los signos
    signos <- signos
    
    # Asignar signos aleatorios a las diferencias iguales a cero
    signos[diferencias == 0] <- signos_aleatorios3
    
    # Número de diferencias positivas y negativas
    diferencias_positivas <- sum(signos == "+")
    diferencias_negativas <- sum(signos == "-")
    
    # Número total de diferencias
    n <- length(signos)
    
    # Realizar la prueba del signo de forma manual
    if (diferencias_positivas > diferencias_negativas) {
      p_valor <- 2 * pbinom(min(diferencias_positivas, diferencias_negativas), n, 0.5)
    } else {
      p_valor <- 1
    }
    
  } else if (alternativa == 4) {
    # Alternativa 4: Asignar signos para no rechazar la hipótesis nula (solo si signos positivos y negativos son distintos)
    num_positivos <- sum(datos > mediana_hipotetica)
    num_negativos <- sum(datos < mediana_hipotetica)
    if (num_positivos != num_negativos) {
      
      # Contar el número de ceros
      num_positivos4 <- sum(diferencias > 0)
      num_negativos4 <- sum(diferencias < 0)
      num_ceros4 <- sum(diferencias == 0)
      
      # Asignar signos a los ceros según la estrategia de Alternativa 4
      if (num_positivos4 > num_negativos4) {
        signos_ceros4 <- rep("-", times = num_ceros4)
      } else if (num_positivos4 < num_negativos4) {
        signos_ceros4 <- rep("+", times = num_ceros4)
      } 
      
      # Crear un vector para almacenar los signos
      signos <- signos
      
      # Asignar signos a las diferencias iguales a cero
      signos[diferencias == 0] <- signos_ceros4
      
      # Número de diferencias positivas y negativas
      diferencias_positivas <- sum(signos == "+")
      diferencias_negativas <- sum(signos == "-")
      
      #Numero total de diferencias
      n=length(signos)
      
      # Realizar la prueba del signo de forma manual con los signos de Alternativa 4
      p_valor <- 2 * pbinom(min(diferencias_positivas, diferencias_negativas), n, 0.5)
    } else {
      
      return(NULL)
    }
  } else {
    cat("Alternativa no válida. Debe ser 'R', 1, 2, 3 o 4.")
    return(NULL)
  }
  
  # Calcular las diferencias y asignar los signos
  diferencias=datos - mediana_hipotetica
  signos=ifelse(diferencias > 0, "+", ifelse(diferencias < 0, "-", "0"))
  
  # Crear una tabla con los datos y los signos de diferencia
  tabla_datos_signos=data.frame(
    "Observación" = 1:length(datos),
    "Datos" = datos,
    "Signo_de_la_Diferencia" = signos
  )
  
  # Datos de la muestra con los signos de diferencia
  knitr::kable(tabla_datos_signos, align = "c")

  #p_valor 
  P_valor=p_valor
  
  #Signos y diferencias
  signos=signos
  dif1=diferencias_positivas
  dif2=diferencias_negativas
  
  #resultados
  resultados <- list(Tabla = tabla_datos_signos, P_Valor=P_valor,diferencias_positivas=dif1,diferencias_negativas=dif2)
  
}

# Ejemplo de uso:
# Supongamos que deseas aplicar la Alternativa 1 con los datos y la mediana hipotética proporcionados:
resultado_alternativa <- prueba_del_signo_con_tabla(resistencia_esfuerzo_cortante, 2000, alternativa = "4")

# Para ver la tabla con datos y signos:
resultado_alternativa$Tabla
   Observación   Datos Signo_de_la_Diferencia
1            1 2158.70                      +
2            2 1678.15                      -
3            3 2000.00                      0
4            4 2061.30                      +
5            5 2207.50                      +
6            6 1708.30                      -
7            7 1784.70                      -
8            8 2575.10                      +
9            9 2000.00                      0
10          10 2256.70                      +
11          11 2165.20                      +
12          12 2399.55                      +
13          13 1779.80                      -
14          14 2336.75                      +
15          15 2000.00                      0
16          16 2053.50                      +
17          17 2414.40                      +
18          18 2200.50                      +
19          19 2654.20                      +
20          20 2000.00                      0

Conclusión

Este código es una herramienta poderosa cuando te enfrentas a la necesidad de realizar una prueba del signo con datos que presentan empates. ¿Qué hace especial a este código? Te permite abordar esa situación de manera eficiente y precisa al considerar diferentes estrategias para manejar los empates.

Imagina que tienes datos de muestras y deseas poner a prueba una hipótesis sobre la mediana, pero te encuentras con empates en tus observaciones. ¿Qué hacer en ese caso? Este código te ofrece una solución clara y efectiva.

Lo mejor de todo es que su uso es sencillo. Solo necesitas proporcionar tus datos, la mediana hipotética que deseas probar y especificar la alternativa que consideras más apropiada. El código se encargará de calcular el p-valor de la prueba del signo y generará una tabla con los datos y los signos correspondientes.

La modularidad de este código lo hace aún más atractivo. Cada función tiene un propósito específico, lo que facilita su comprensión y permite que lo utilices de manera flexible en tus análisis estadísticos.

En resumen, si buscas una solución confiable y fácil de usar para realizar pruebas del signo con datos que presentan empates, este código es tu aliado ideal. Simplifica tu trabajo y te proporciona los resultados necesarios para tomar decisiones informadas en función de la prueba del signo. ¡No dudes en aprovechar esta valiosa herramienta en tus análisis estadísticos!

Referencias

Field, A. \[\@ProfAndyField\]. (2022, octubre 13). *RStudio Working with Code: Part 2*. Youtube. https://www.youtube.com/watch?v=KD5ScL27FRo&list=PLEzw67WWDg80-fT1hq2IZf7D62tRmKy8f&index=8

HTML basics*. (s/f). Quarto. Recuperado el 6 de octubre de 2023, de https://quarto.org/docs/output-formats/html-basics.html

HTML options*. (s/f). Quarto. Recuperado el 6 de octubre de 2023, de https://quarto.org/docs/reference/formats/html.html

Luque, P. L. (s/f). *Pedro Luque - Elementos útiles para crear un documento html quarto*. Destio.us.es. Recuperado el 6 de octubre de 2023, de http://www.destio.us.es/calvo/Qseries_curiosidadesr/2022-09-09_quarto-utilidades/

RPubs - Quarto - Documento*. (s/f). Rpubs.com. Recuperado el 6 de octubre de 2023, de https://rpubs.com/renzo_caceres_rossiv/quarto_markdown_003

(S/f). Webfx.com. Recuperado el 6 de octubre de 2023, de https://www.webfx.com/tools/emoji-cheat-sheet/

Referencias

Arnholt, Alan T., y Ben Evans. 2023. «BSDA: Basic Statistics and Data Analysis». https://CRAN.R-project.org/package=BSDA.
Gibbons, Jean Dickinson, y Subhabrata Chakraborti. 2011. «Nonparametric Statistical Inference». En, 977-79. Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-04898-2_420.
———. 2020. Nonparametric Statistical Inference. Chapman; Hall/CRC. https://doi.org/10.1201/9781315110479.