Gráfico a replicar
Continuamos con la serie iniciada sobre la creación de gráficos del libro An Introduction to Statistical Learning con ggplot2 parte 1. En esta ocasión replicaremos el gráfico de la figura 1.3. Se trata de un diagrama de caja en el que representamos el resultado de un análisis discriminante cuadrático (lda). Aplicamos un análisis análisis discriminante cuadrático al subconjunyo de datos de Smarket comprendido entre 2001-2007 y predecimos la probabilidad de que el mercado de valores decrezca usando los datos de 2005.
Solución
# Análisis discriminante cuadrático
library(ISLR)
library(MASS)
library(ggplot2)
train <- (Smarket$Year < 2005)
Direction.2005 <- Smarket$Direction[!train]
Smarket.2005 <- Smarket[!train,]
qda.fit <- qda(Direction ~ Lag1 + Lag2, data = Smarket, subset = train)
qda.class <- predict(qda.fit, Smarket.2005)$class
mean(qda.class == Direction.2005)
[1] 0.5992063
En media la predicción de probabilidad de que decrezca el mercado de valores es mayor en los días en los que el mercado decrece. Basándonos en estos resultados, podemos predecir correctamente la dirección del movimiento de mercado en un 60% de las veces.
qda.pred <- predict(qda.fit, Smarket.2005)
qda.pred <- cbind(data.frame(qda.pred), pred = Direction.2005)
ggplot(qda.pred, aes(x = pred, y = posterior.Down, fill = pred)) +
stat_boxplot(geom = "errorbar", width = 0.5) +
geom_boxplot(show.legend = FALSE, outlier.alpha = .5) +
scale_fill_manual(values = c("royalblue", "orangered")) +
labs(x = "Today's Direction", y = "Predicted probability")
Dejo el panel de fondo por defecto pues ayuda a evaluar mejor el gráfico. Si lo que queremos en blanco tal y como el libro añadiríamos al código anterior:
theme(panel.background = element_blank())
Entradas relacionadas
No hay comentarios:
Publicar un comentario