# Ejercicio 1
# Datos
E_X <- 15   # Esperanza de X
DE_X <- 5 * sqrt(3) # Desviación estándar de X
V_X <- DE_X^2   # Varianza de X

# Cálculos para la distribución prior
b <- V_X / E_X # Parámetro de tasa
a <- E_X / b   # Parámetro de forma
n <- 5         # Número de observaciones
s <- 32        # Suma de las observaciones

# Distribución priori
gamma_prior <- c(a , b)
E_prior <- a * b
V_prior <- a * b^2

# Distribución posterior
gamma_posterior <- c(a + s, b + n)
E_posterior <- (a + s) / (b + n)
V_posterior <- E_posterior*(0+1/(b+n))

# Probabilidades calculadas
P_prior_X_menor_1 <- pgamma(1, shape = gamma_prior[1], rate = gamma_prior[2])
P_prior_X_menor_2 <- pgamma(2, shape = gamma_prior[1], rate = gamma_prior[2])
P_prior_1_menor_X_menor_2 <- P_prior_X_menor_2 - P_prior_X_menor_1

P_posterior_X_menor_1 <- pgamma(1, shape = gamma_posterior[1], rate = gamma_posterior[2])
P_posterior_X_menor_2 <- pgamma(2, shape = gamma_posterior[1], rate = gamma_posterior[2])
P_posterior_1_menor_X_menor_2 <- P_posterior_X_menor_2 - P_posterior_X_menor_1

# Resultados
cat("Gamma (Priori):",paste( gamma_prior,collapse = ","), "\n") 
## Gamma (Priori): 3,5
cat("E(X_Priori):", E_prior, "\n")
## E(X_Priori): 15
cat("V(X_Priori):", V_prior, "\n")
## V(X_Priori): 75
cat("Gamma (Posteriori):",paste( gamma_posterior,collapse = ","), "\n")
## Gamma (Posteriori): 35,10
cat("E(X_Posteriori):", E_posterior, "\n")
## E(X_Posteriori): 3.5
cat("V(X_Posteriori):", V_posterior, "\n")
## V(X_Posteriori): 0.35
cat("P_Priori(X < 1):", P_prior_X_menor_1, "\n")
## P_Priori(X < 1): 0.875348
cat("P_Priori(X < 2):", P_prior_X_menor_2, "\n")
## P_Priori(X < 2): 0.9972306
cat("P(1 < X < 2):", P_prior_1_menor_X_menor_2, "\n")
## P(1 < X < 2): 0.1218826
cat("P_Posteriori(X < 1):", P_posterior_X_menor_1, "\n")
## P_Posteriori(X < 1): 6.060324e-10
cat("P_Posteriori(X < 2):", P_posterior_X_menor_2, "\n")
## P_Posteriori(X < 2): 0.001489034
cat("P(1 < X < 2):", P_posterior_1_menor_X_menor_2, "\n")
## P(1 < X < 2): 0.001489033
# Ejercicio 2


# Datos priori
E_X <- 0.75    # Esperanza de X
DE_X <- 0.15   # Desviación estándar de X
V_X <- DE_X^2  # Varianza de X

# Cálculos para la distribución prior
c <- (E_X * (1 - E_X)) / (V_X) - 1
a <- E_X * c
b <- (1 - E_X) * c

# Datos posterior
n <- 10  # Número de ensayos
y <- 8   # Número de éxitos

# Cálculos para la distribución posterior
ap <- a + y
bp <- b + (n - y)
E_posterior <- ap / (ap + bp)

# Probabilidad
X <- 0.8
P_X_mayor_0.8 <- 1 - pbeta(X, shape1 = ap, shape2 = bp)

# Resultados
cat("Distribución Priori Beta:",paste( a,b, collapse = " , "), "\n") 
## Distribución Priori Beta: 5.5 1.83333333333333
cat("E(X):", E_X, "\n")
## E(X): 0.75
cat("DE(X):", DE_X, "\n")
## DE(X): 0.15
cat("V(X):", V_X, "\n")
## V(X): 0.0225
cat("Distribución Posterior Beta:",paste( ap, bp, collapse = ","), "\n")
## Distribución Posterior Beta: 13.5 3.83333333333333
cat("E(X_Posteriori):", E_posterior, "\n")
## E(X_Posteriori): 0.7788462
cat("P(X > 0.8):", P_X_mayor_0.8, "\n")
## P(X > 0.8): 0.4581547
# Ejercicio 3

# Datos priori
a <- 9
b <- 11

# Datos posterior
n <- 15   # Número de ensayos
y <- 6    # Número de éxitos
n_my <- n - y

# Parámetros distribuciones
beta_priori <- c(a, b)
beta_posterior <- c(a + y, b + n_my)

# Esperanzas y varianzas
E_prior <- a / (a + b)
V_prior <- (a * b) / ((a + b)^2 * (a + b + 1))

E_posterior <- beta_posterior[1] / sum(beta_posterior)
V_posterior <- (beta_posterior[1] * beta_posterior[2]) / (sum(beta_posterior)^2 * (sum(beta_posterior) + 1))

# Probabilidades
X <- 0.6
P_prior_X_mayor <- 1 - pbeta(X, shape1 = a, shape2 = b)
P_prior_X_mayor <- round(P_prior_X_mayor, digits = 2)
P_posterior_X_mayor <- 1 - pbeta(X, shape1 = beta_posterior[1], shape2 = beta_posterior[2])
P_posterior_X_mayor<- round(P_posterior_X_mayor, digits = 2)
# Resultados
cat("Beta (Priori):", paste(beta_priori, collapse = ","), "\n")
## Beta (Priori): 9,11
cat("E(X_Priori):", E_prior, "\n")
## E(X_Priori): 0.45
cat("V(X_Priori):", V_prior, "\n")
## V(X_Priori): 0.01178571
cat("Beta (Posteriori):",paste( beta_posterior,collapse = ","), "\n")
## Beta (Posteriori): 15,20
cat("E(X_Posteriori):", E_posterior, "\n")
## E(X_Posteriori): 0.4285714
cat("V(X_Posteriori):", V_posterior, "\n")
## V(X_Posteriori): 0.006802721
cat("P_Priori(X > 0.6):", P_prior_X_mayor, "\n")
## P_Priori(X > 0.6): 0.09
cat("P_Posteriori(X > 0.6):", P_posterior_X_mayor, "\n")
## P_Posteriori(X > 0.6): 0.02
# Ejercicio 4


# Datos
a <- 10    # Parámetro de forma
b <- 10    # Parámetro de tasa 
n <- 15    # Número de observaciones
s <- 64    # Suma de las observaciones

# Cálculos para la distribución prior
gamma_prior <- c(a, b)
E_prior <- a * b
V_prior <- a *b^2

# Cálculos para la distribución posterior
gamma_posterior <- c(a + s, b + n)
E_posterior <- (a + s) / (b + n)
V_posterior <- E_posterior*(0+(1/(b+n)))

# Probabilidades calculadas
P_prior_X_menor_1 <- pgamma(1, shape = gamma_prior[1], rate = gamma_prior[2])
P_prior_X_menor_2 <- pgamma(2, shape = gamma_prior[1], rate = gamma_prior[2])
P_prior_1_menor_X_menor_2 <- P_prior_X_menor_2 - P_prior_X_menor_1

P_posterior_X_menor_1 <- pgamma(1, shape = gamma_posterior[1], rate = gamma_posterior[2])
P_posterior_X_menor_2 <- pgamma(2, shape = gamma_posterior[1], rate = gamma_posterior[2])
P_posterior_1_menor_X_menor_2 <- P_posterior_X_menor_2 - P_posterior_X_menor_1

# Resultados
cat("Gamma (Priori):",paste(gamma_prior, collapse = ","), "\n") 
## Gamma (Priori): 10,10
cat("E(X_Priori):", E_prior, "\n")
## E(X_Priori): 100
cat("V(X_Priori):", V_prior, "\n")
## V(X_Priori): 1000
cat("Gamma (Posteriori):",paste( gamma_posterior,collapse = ","), "\n")
## Gamma (Posteriori): 74,25
cat("E(X_Posteriori):", E_posterior, "\n")
## E(X_Posteriori): 2.96
cat("V(X_Posteriori):", V_posterior, "\n")
## V(X_Posteriori): 0.1184
cat("P_Priori(X < 1):", P_prior_X_menor_1, "\n")
## P_Priori(X < 1): 0.5420703
cat("P_Priori(X < 2):", P_prior_X_menor_2, "\n")
## P_Priori(X < 2): 0.9950046
cat("P(1 < X < 2):", P_prior_1_menor_X_menor_2, "\n")
## P(1 < X < 2): 0.4529343
cat("P_Posteriori(X < 1):", P_posterior_X_menor_1, "\n")
## P_Posteriori(X < 1): 1.759369e-15
cat("P_Posteriori(X < 2):", P_posterior_X_menor_2, "\n")
## P_Posteriori(X < 2): 0.0008864326
cat("P(1 < X < 2):", P_posterior_1_menor_X_menor_2, "\n")
## P(1 < X < 2): 0.0008864326