Ejercicio 3: Para este ejercicio se pide seguir las siguientes indicaciones: * A. Generar una base de datos aleatoria en base a 120 observaciones. * B. Obtener dos variables independientes que sigan una distribución normal estándar (X1 y X2). La variable dependiente tomará el valor de: Y= 3 * X1 + 2 * X2 * C. Definir el modelo de regresión lineal múltiple, tomando en cuenta los siguientes valores Para el intercepto, considerar una distribución a priori normal (0,22) Para B, considerar una distribución a priori normal (0,12). * D. Calcular el resumen del modelo.
library(brms)
## Loading required package: Rcpp
## Loading 'brms' package (version 2.20.3). Useful instructions
## can be found by typing help('brms'). A more detailed introduction
## to the package is available through vignette('brms_overview').
##
## Attaching package: 'brms'
## The following object is masked from 'package:stats':
##
## ar
library(rstudioapi)
Considerando la semilla “123”
set.seed(123)
n <- 120 # Número de observaciones
X1 <- rnorm(n) # Variable predictora 1 (normalmente distribuida)
X2 <- rnorm(n) # Variable predictora 2 (normalmente distribuida)
head(data.frame(X1, X2),5) #Mostrar los datos para x1 y x2
Y <- 3 * X1 + 2 * X2 + rnorm(n, mean = 0, sd = 1) # Variable de respuesta
data <- data.frame(X1, X2, Y) #Creando un dataframe con los datos
head(data,5) #Mostrar los 5 datos del data frame
#C. Definir el modelo de regresión lineal múltiple, tomando en cuenta los siguientes valores Para el intercepto, considerar una distribución a priori normal (0,22) Para B, considerar una distribución a priori normal (0,12).
model <- brm(
formula = Y ~ X1 + X2, # Variables predictoras
data = data,
prior = c(
prior(normal(0, 2), class = Intercept), # Prior para la intersección
prior(normal(0, 1), class = b) # Prior para los coeficientes de X1 y X2
),
chains = 4, # Número de cadenas de Markov
cores = 4, # Número de núcleos de CPU para paralelizar
iter = 2000 # Número de iteraciones
)
## Compiling Stan program...
## Start sampling
#D. Calcular el resumen del modelo.
summary(model)
## Family: gaussian
## Links: mu = identity; sigma = identity
## Formula: Y ~ X1 + X2
## Data: data (Number of observations: 120)
## Draws: 4 chains, each with iter = 2000; warmup = 1000; thin = 1;
## total post-warmup draws = 4000
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept 0.08 0.10 -0.11 0.27 1.00 4119 2538
## X1 2.98 0.11 2.77 3.19 1.00 4274 3252
## X2 1.83 0.10 1.64 2.02 1.00 3982 2725
##
## Family Specific Parameters:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## sigma 1.04 0.07 0.92 1.18 1.00 4429 3112
##
## Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).