% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/Modelo_media_movil_(MA).R
\name{modelo_ma}
\alias{modelo_ma}
\alias{print.ma_greenreg}
\alias{plot.ma_greenreg}
\title{Modelo de Media Movil (MA)}
\usage{
modelo_ma(x, q = 1, include_mean = TRUE)

\method{print}{ma_greenreg}(x, ...)

\method{plot}{ma_greenreg}(x, ...)
}
\arguments{
\item{x}{Objeto de clase.}

\item{q}{Orden del modelo (numero de choques pasados a considerar). Por defecto es 1.}

\item{include_mean}{Logico. Incluir el promedio constante de la serie? Por defecto \code{TRUE}.}

\item{...}{Argumentos adicionales.}
}
\value{
Un objeto de clase \code{"ma_greenreg"}, que consiste en una lista con:
\itemize{
\item \code{modelo}: El objeto \code{arima} original (orden 0,0,q).
\item \code{orden_q}: El orden del modelo ajustado.
\item \code{coeficientes_tabla}: Matriz con estimaciones, errores estandar y p-valores.
\item \code{invertibilidad}: Lista con las raices inversas y diagnostico de invertibilidad.
\item \code{diagnosticos}: Resultados de las pruebas de Ljung-Box, Shapiro-Wilk y AIC.
\item \code{data_plot}: Dataframe listo para visualizacion con \code{ggplot2}.
}
}
\description{
Esta funcion ajusta un modelo de series de tiempo donde el valor actual \eqn{(Y_t)}
se explica mediante una combinacion lineal de los errores (shocks) pasados
(\eqn{\epsilon_{t-1}}, \eqn{\epsilon_{t-2}}, ...). Es ideal para modelar fenomenos con
efectos de memoria corta o impactos transitorios.

Genera una secuencia de 9 graficas de diagnostico para validar el modelo MA.
}
\details{
El flujo interno de la funcion se divide en cinco etapas fundamentales:
\enumerate{
\item \strong{Estimacion (MLE):} Utiliza Maxima Verosimilitud para estimar los
parametros \eqn{\theta} (Theta). A diferencia del AR, el MA requiere
algoritmos iterativos ya que los errores no son directamente observables.
\item \strong{Analisis de Invertibilidad:} Calcula las raices inversas del polinomio
caracteristico. Un modelo MA debe ser "Invertible" para que el error
pueda expresarse como una funcion convergente de los datos observados.
\item \strong{Identificacion Estructural:} Evalua la ACF (Autocorrelacion). En un
proceso MA(q), la ACF debe "cortarse" abruptamente despues del lag q.
\item \strong{Auditoria de Residuos:} Verifica que el error remanente sea Ruido Blanco
mediante la prueba de Ljung-Box y la distribucion Gaussiana (Shapiro-Wilk).
\item \strong{Traduccion Didactica:} Genera un reporte que explica la persistencia
de los choques y valida si el modelo es unico y matematicamente solido.
}
}
\section{Guia de las 9 Graficas de Diagnostico (\code{plot})}{

Al ejecutar \code{plot(modelo)}, se despliega una auditoria de "shocks" temporales:
\describe{
\item{\strong{1. Inspeccion Visual}}{Muestra la serie bruta con su media historica. El modelo MA supone que la serie siempre es atraida hacia este nivel central.}
\item{\strong{2. Ajuste Temporal}}{Superpone el modelo (azul) sobre la realidad. Permite ver como el modelo "suaviza" los picos de la serie.}
\item{\strong{3. Precision (Real vs Ajustado)}}{Grafica de dispersion para evaluar la correlacion. Los puntos deben seguir la diagonal roja.}
\item{\strong{4. Circulo Unitario}}{Prueba de Invertibilidad. Los rombos azules deben estar dentro del circulo para asegurar que el modelo sea unico.}
\item{\strong{5. Residuos en el Tiempo}}{Evaluacion de aleatoriedad. No debe haber patrones; los errores deben ser impredecibles.}
\item{\strong{6. ACF de Residuos}}{Prueba critica de Ruido Blanco. Si hay barras largas (numeros rojos), el orden \code{q} es insuficiente.}
\item{\strong{7. PACF de Residuos}}{Complemento de la ACF para verificar que no existan dependencias directas remanentes.}
\item{\strong{8. Normalidad (Q-Q Plot)}}{Valida que los choques sigan una campana de Gauss, asegurando la validez de los intervalos de confianza.}
\item{\strong{9. Estacionariedad Movil}}{Confirma que la media y varianza no se desplazan. Vital para asegurar que el modelo MA sea aplicable.}
}
}

\examples{
data("datos_anomalia_temperatura")
modelo_MA <- modelo_ma(datos_anomalia_temperatura$anomalia_c, q = 1, include_mean = TRUE)
modelo_MA
plot(modelo_MA)

}
