#** 1.- EXPLICACIÓN DEL EJERCICIO**
Ejemplo aplicado del MANOVA para unas características de inversiones financieras, el objetivo es determinar si existen diferencias entre los tipos de inversiones y las combinaciones de ellas, con un resultado en tiempo y ganancias.
Se simulan los datos por medio de funciones de distribución para así observar la aplicación del MANOVA en una investigación de finanzas para generar mayor margen de rentabilidad.
Covariables o Variables X
Tipo_inversion : Es la modalidad por la cual se quiere invertir, se tienen este factor con 3 niveles los cuales son:
Acciones: inversión en la compra de una parte de la empresa
Bonos: Valores mobiliarios emitidos por gobiernos o empresas para obtener financiamiento,como una forma de préstamos que genera intereses según la rentabilidad de la empresa
Fondos mutuos: un fondo que agrupa el capital de varios inversores para invertirlo en una cartera diversificada de activos como algunos indicadores ejemplo S&P500 entre otros.
Perfil_riesgo: puede representarse por los inversores que toman la decisión de escoger cuál será la probabilidad de riesgo al momento de invertir, se tiene este factor con 2 niveles:
conservador: Formas de inversión pasiva generalmente son inversiones de poco riesgo
agresivo:Son formas de inversión que mayor variabilidad pueden tener por lo tanto puede existir mayor probabilidad de pérdida o ganancia
Variables dependientes Y
duracion_inversion: El tiempo en meses de la inversión
rendimiento_inversion: Es el porcentaje efectivo de ganancia que obtuvieron
set.seed(65456)
num_inversores <- 30
perfil_riesgo <- c("conservador","agresivo")
tipo_inversion <- c("acciones","bonos","fondos mutuos")
duracion_inversion <- rnorm(num_inversores,20,10)
rendimiento_inversion <- rnorm(num_inversores,mean = 0.05, sd = 0.1)
perfil_riesgo <- sample(perfil_riesgo, num_inversores, replace = TRUE)
tipo_inversion <- sample(tipo_inversion, num_inversores, replace = TRUE)
datos <- data.frame(perfil_riesgo, tipo_inversion,duracion_inversion, rendimiento_inversion)
2.- Transformación de los datos
#Definiendo las variables dependientes e independientes
rendimiento_inversion <- datos$rendimiento_inversion
datos$perfil_riesgo <- as.factor(datos$perfil_riesgo)
datos$tipo_inversion <- as.factor(datos$tipo_inversion)
datos$duracion_inversion <- as.integer(datos$duracion_inversion)
#3.- Exploración de los datos
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot(data = datos, aes(x = tipo_inversion, y = rendimiento_inversion)) +
geom_boxplot(fill = c("#00CDCD","#76EEC6","#76EE00")) +theme_classic()+
labs(title = "Diagrama de caja y bigotes", x = "Grupo", y = "Valores")
Se observa que las acciones y los fondos mutuos tienen una rentabilidad similar, pero superior a la de los bonos. Más concretamente, la rentabilidad de las acciones y los fondos es similar, pero las acciones muestran una menor dispersión. En cuanto a los bonos, son activos financieros (AF) de mayor dispersión y de menor rentabilidad que los anteriores (fondos y acciones).
ggplot(data = datos, aes(x= rendimiento_inversion, y = duracion_inversion)) +
geom_point() +
labs(title = "Scatter", x= "profit", y= "duration")
En la mayoría de los casos, implica que un mayor beneficio está ligado
con una mayor duración de la inversión. Normalmente, los bonos ,
acciones o fondos mantenidos a más largo plazo reportan mayor beneficio
al inversor (obivamente por la capitalización de los intereses).
str(datos)
## 'data.frame': 30 obs. of 4 variables:
## $ perfil_riesgo : Factor w/ 2 levels "agresivo","conservador": 2 2 2 1 2 1 1 1 2 2 ...
## $ tipo_inversion : Factor w/ 3 levels "acciones","bonos",..: 2 1 1 2 3 1 1 3 2 3 ...
## $ duracion_inversion : int 2 7 16 33 25 10 23 18 15 32 ...
## $ rendimiento_inversion: num -0.1161 -0.1042 0.0766 -0.128 0.1039 ...
summary(datos)
## perfil_riesgo tipo_inversion duracion_inversion
## agresivo :14 acciones : 9 Min. : 0.00
## conservador:16 bonos : 8 1st Qu.:11.25
## fondos mutuos:13 Median :17.50
## Mean :18.37
## 3rd Qu.:25.00
## Max. :34.00
## rendimiento_inversion
## Min. :-0.18520
## 1st Qu.:-0.05894
## Median : 0.03968
## Mean : 0.02208
## 3rd Qu.: 0.08526
## Max. : 0.19806
Variables de respuesta: duracion de la inversión en meses y rendimiento de la inversión en porcentaje (%)
• Unidad experimental: Cartera de inversiones de las personas.
• Unidad observacional: individuo de algun tipo de caracteristicas y tipo de inversion.
• Factores principales: Tipo de inversión y el perfil del inversor
• Niveles: tres tipos de inversión, dos rasgos del inversor
• Tratamientos: 6 tratamientos
Diseño y el modelo para analizar estos datos.
El diseño es de dos factores y dos variables de respuesta en un MANOVA y se especifica de la siguiente manera:
yij=μ+τi+ϵij
i=1,2,3,4 j=1,2,3
Se desea probar si el perfil de riesgo y el tipo de inversión tienen un efecto sobre la rentabilidad de los individuos.
H0:τ1=τ2=τ3=0 H1:τi≠0
H0: no hay un efecto significativo de los tratamientos sobre la rentabilidad de las personas
H1: Algún tratamiento presenta un efecto significativo de los tratamientos sobre la rentabilidad de las personas.
#5.- MANOVA DE 2 FACTORES
# Modelo para un factor (tipo de inversión: acciones, bonos y fondos)
modelo1 <- manova(cbind(rendimiento_inversion,duracion_inversion) ~tipo_inversion)
#Modelo de dos factores (tipo de inversión y perfil de riesgo) aditivo
modelo2 <- manova(cbind(rendimiento_inversion,duracion_inversion) ~ perfil_riesgo+tipo_inversion)
# Modelo de dos factores (tipo de inversión y perfil de riesgo) de interacción
modelo3 <- manova(cbind(rendimiento_inversion,duracion_inversion) ~ perfil_riesgo*tipo_inversion)
summary(modelo1)
## Df Pillai approx F num Df den Df Pr(>F)
## tipo_inversion 2 0.31139 2.4895 4 54 0.05392 .
## Residuals 27
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Se obtiene un estadístico de F de 2,4895 > 0,05. Tenemos evidencia empírica suficiente para aceptar la igualdad de medias: implica que el rendimiento de la inversión y la duración es similar para cada tipo de inversión (acciones, bonos o fondos)
summary(modelo2)
## Df Pillai approx F num Df den Df Pr(>F)
## perfil_riesgo 1 0.07542 1.0196 2 25 0.3753
## tipo_inversion 2 0.41845 3.4396 4 52 0.0144 *
## Residuals 26
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para el perfil de riesgo, el estadístico F asciende a 1.0196 con un p valor de 0.37 > 0.05. Se obtiene evidencia para indicar que el perfil de riesgo proporciona rentabilidad y duraciones similares.
Para el tipo de inversión, el estadístico F es 3.43 y el p valor es 0.01 < 0.05. En este caso, existen diferencias significativas en cuanto a la rentabilidad y la duración cuando se analizan por separado el tipo de inversión.
summary(modelo3)
## Df Pillai approx F num Df den Df Pr(>F)
## perfil_riesgo 1 0.07765 0.9682 2 23 0.39472
## tipo_inversion 2 0.42697 3.2572 4 48 0.01923 *
## perfil_riesgo:tipo_inversion 2 0.04215 0.2583 4 48 0.90315
## Residuals 24
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Para el perfil de riesgo, el estadístico F asciende a 0.96 con un p valor de 0.39 > 0.05. Se obtiene evidencia para indicar que el perfil de riesgo proporciona rentabilidad y duraciones similares.
Para el tipo de inversión, el estadístico F es 3.25 y el p valor es 0.019 < 0.05. En este caso, existen diferencias significativas en cuanto a la rentabilidad y la duración cuando se analizan por separado el tipo de inversión.
La interacción entre el perfil de riesgo y el tipo de inversión tiene un estadístico de F de 0.25 con un p valor de 0.90 > 0.05. Tenemos evidencia para indicar que la interacción no es significativa sobre el rendimiento y la duración de la inversión.
NORMALIDAD MULTIVARIANTE
library(mvShapiroTest)
mvShapiro.Test(cbind(datos$duracion_inversion,datos$rendimiento_inversion))
##
## Generalized Shapiro-Wilk test for Multivariate Normality by
## Villasenor-Alva and Gonzalez-Estrada
##
## data: cbind(datos$duracion_inversion, datos$rendimiento_inversion)
## MVW = 0.97033, p-value = 0.6268
El estadístico es 0.97 con un p valor de 0.62 > 0.05. Se acepta la hipótesis de normalidad multivariante.
library(MVN)
## Warning: package 'MVN' was built under R version 4.2.3
mvn(cbind(datos$duracion_inversion,datos$rendimiento_inversion),desc = T,
mvnTest = "hz",multivariatePlot = "qq")
## $multivariateNormality
## Test HZ p value MVN
## 1 Henze-Zirkler 0.2190522 0.954464 YES
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling Column1 0.2421 0.7487 YES
## 2 Anderson-Darling Column2 0.2944 0.5755 YES
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th
## 1 30 18.36666667 9.66502166 17.50000000 0.0000000 34.0000000 11.25000000
## 2 30 0.02207765 0.09901145 0.03968087 -0.1852027 0.1980636 -0.05893652
## 75th Skew Kurtosis
## 1 25.00000000 -0.1152053 -1.0790885
## 2 0.08526408 -0.2063545 -0.9308986
El estadístico HZ es 0.22 con p valor de 0.95 > 0.05. Tenemos evidencia empírica suficiente a favor de la normalidad multivariante.
El estadístico AD (c1) es 0.24 con p valor de 0.74 > 0.05. Tenemos evidencia empírica suficiente a favor de la normalidad de la duración.
El estadístico AD (c2) es 0.29 con un p valor de 0.57 > 0.05. Tenemos evidencia empírica suficiente a favor de la normalidad de la rentabilidad.
Para el qqplot, la mayoría de los puntos se encuentran cercanos a la recta de los cuantiles de la normal. Por tanto, no se rechaza la hipótesis de normalidad.
Todos los contrastes indican que se verifica la normalidad multivariante.
mauchly.test(modelo2)
##
## Mauchly's test of sphericity
##
## data: SSD matrix from manova(cbind(rendimiento_inversion, duracion_inversion) ~ perfil_riesgo + SSD matrix from tipo_inversion)
## W = 0.00032107, p-value < 2.2e-16
El estadístico asciende a 0.0032 con p valot de 0<0.05. Por lo tanto, se rechaza la hipótesis de esfericidad (hay heterocedasticidad).
plot(cbind(datos$duracion_inversion, datos$rendimiento_inversion))
Los puntos son aleatorios, indicando que los datos son independientes
entre sí.
cor(datos$duracion_inversion, datos$rendimiento_inversion)
## [1] 0.1438625
La correlación entre ambas variables es del 14,38%.
cor.test(datos$duracion_inversion, datos$rendimiento_inversion)
##
## Pearson's product-moment correlation
##
## data: datos$duracion_inversion and datos$rendimiento_inversion
## t = 0.76925, df = 28, p-value = 0.4482
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2282360 0.4792905
## sample estimates:
## cor
## 0.1438625
El estadístico del contraste es 0.769, con un p valor de 0.44>0.05. Tenemos evidencia acerca de la H0; es decir, que la correlación no es significativa.
Los resultados muestran que existen diferencias significativas entre el tipo de inversión, pero no sobre el perfil de riesgo y la interacción entre ellos. Por tanto, sólo se obtienen promedios diferentes en la duración y en la rentabilidad por cada tipo de inversión, no para el perfil de riesgo ni para relación entre el perfil de riesgo y tipo de activo financiero, pues estos factores no tienen una interacción significativa, puesto que no están correlacionados de manera fuerte.
sesion_info <- devtools::session_info()
dplyr::select(
tibble::as_tibble(sesion_info$packages),
c(package, loadedversion, source)
)
## # A tibble: 82 × 3
## package loadedversion source
## <chr> <chr> <chr>
## 1 abind 1.4-5 CRAN (R 4.2.0)
## 2 boot 1.3-28 CRAN (R 4.2.2)
## 3 bslib 0.4.2 CRAN (R 4.2.2)
## 4 cachem 1.0.6 CRAN (R 4.2.2)
## 5 callr 3.7.3 CRAN (R 4.2.3)
## 6 car 3.1-2 CRAN (R 4.2.3)
## 7 carData 3.0-5 CRAN (R 4.2.3)
## 8 cli 3.6.0 CRAN (R 4.2.2)
## 9 colorspace 2.1-0 CRAN (R 4.2.3)
## 10 crayon 1.5.2 CRAN (R 4.2.3)
## # ℹ 72 more rows