| Title: | Tool for Statistical and Environmental Analysis |
| Version: | 0.1.2 |
| Description: | Provides a set of accessible and automated functions to apply statistical models such as Simple Linear Regression (RLS, from the Spanish 'Regresión Lineal Simple'), Multiple Linear Regression (RLM, from the Spanish 'Regresión Lineal Múltiple'), Generalized Linear Models (GLM), and time series analysis through Autoregressive Integrated Moving Average (ARIMA) models. Designed to support teaching at the Universidad Autónoma Chapingo, it facilitates results interpretation and assumption validation through automatic graphical diagnostics. Developed as part of an undergraduate thesis at the Universidad Autónoma Chapingo, under the supervision of Dr. Julio César Buendía Espinoza (thesis advisor), with the participation of the thesis committee: Diego Ernesto Lira González (secretary), Israel Lerma Serna (member), Juan Uriel Avelar Roblero (alternate), and Elisa del Carmen Martínez Ochoa (alternate). Methods for regression and time series are based on Montgomery, Peck & Vining (2021, Introduction to Linear Regression Analysis, 6th ed., Wiley, ISBN:978-1119578727) and Box, Jenkins, Reinsel & Ljung (2015, Time Series Analysis: Forecasting and Control, 5th ed., Wiley, ISBN:978-1118675021). |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| LazyData: | true |
| RoxygenNote: | 7.3.3 |
| Depends: | R (≥ 3.5) |
| Imports: | ggplot2, ggrepel, stats, lmtest |
| Suggests: | pROC, broom, car, testthat (≥ 3.0.0), AER, forecast, knitr, rmarkdown |
| VignetteBuilder: | knitr |
| Config/testthat/edition: | 3 |
| NeedsCompilation: | no |
| Packaged: | 2026-10-15 16:01:33 UTC; dbaza |
| Author: | Dayron Jared Bazan Guzman [aut, cre], Julio César Buendía Espinoza [aut, ths] (affiliation: Universidad Autónoma Chapingo, secondary_email: jcbuendiae@hotmail.com), Diego Ernesto Lira González [rev] (Secretario del comité de tesis, Universidad Autónoma Chapingo), Israel Lerma Serna [rev] (Vocal del comité de tesis, Universidad Autónoma Chapingo), Juan Uriel Avelar Roblero [rev] (Suplente del comité de tesis, Universidad Autónoma Chapingo), Elisa del Carmen Martínez Ochoa [rev] (Suplente del comité de tesis, Universidad Autónoma Chapingo) |
| Maintainer: | Dayron Jared Bazan Guzman <dbazanguzman@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-10-16 09:10:09 UTC |
Anomalías de temperatura media diaria
Description
Conjunto de datos que muestra las anomalías (diferencias respecto a la media historica) de la temperatura media diaria registradas a lo largo del tiempo. Este dataset puede utilizarse para ilustrar análisis de series de tiempo y modelos autorregresivos o ARIMA.
Usage
datos_anomalia_temperatura
Format
Un data frame con 730 observaciones y 2 variables:
- fecha
Fecha del registro (AAAA-MM-DD)
- anomalia_c
Anomalía de temperatura respecto al promedio histórico (C)
Details
Los datos fueron construidos de manera simulada a partir de patrones reales observados en bases climaticas del INEGI y de la CONAGUA. La creacion propia de esta base permite garantizar que los valores sean adecuados para fines didacticos y compatibles con las funciones del paquete GREENREG.
Source
Elaboracion propia con fines didacticos a partir de información publica de INEGI y CONAGUA.
Examples
data("datos_anomalia_temperatura")
modelo_AR <- greenreg_modelo_ar(datos_anomalia_temperatura$anomalia_c, p = 2)
modelo_AR
plot(modelo_AR)
Niveles de agua en presas de México
Description
Conjunto de datos que presenta los niveles de almacenamiento de agua registrados en distintas presas y fechas, útil para análisis de series de tiempo y modelos ARIMA.
Usage
datos_nivel_presa
Format
Un data frame con 1825 observaciones y 2 variables:
- fecha
Fecha del registro (AAAA-MM-DD)
- nivel_m
Nivel de almacenamiento de la presa (metros)
Details
Los datos fueron simulados a partir de patrones observados en reportes de CONAGUA, manteniendo coherencia temporal y realismo. Se generaron con fines didacticos para demostrar la aplicacion de modelos AR, MA y ARIMA en GREENREG.
Source
Elaboracion propia con fines didacticos basada en patrones de datos de CONAGUA.
Examples
data("datos_nivel_presa")
ts_data <- datos_nivel_presa$nivel_m
modelo_ARIMA <- greenreg_modelo_arima(ts_data, p = 1, d = 1, q = 1)
print(modelo_ARIMA)
plot(modelo_ARIMA)
Rendimiento de maíz bajo distintos niveles de fertilización
Description
Conjunto de datos que presenta el rendimiento del maíz en función de diferentes variables climaticas y de manejo del cultivo. Este dataset es útil para ejemplificar modelos de regresión lineal simple y multiple.
Usage
datos_rendimiento_maiz
Format
Un data frame con 250 observaciones y 4 variables:
- rendimiento_maiz_ton_ha
Rendimiento del cultivo de maíz (ton/ha)
- precipitacion_mm
Precipitacion registrada durante el ciclo agricola (mm)
- temperatura_c
Temperatura media (C)
- fertilizante_kg_ha
Cantidad de fertilizante aplicado (kg/ha)
Details
Los datos fueron generados de forma controlada, tomando como referencia distribuciones y rangos reales reportados por SIAP e INEGI. Esta base se diseño especificamente para probar las funciones de regresión del paquete GREENREG.
Source
Elaboracion propia con fines didacticos tomando referencia de datos del SIAP e INEGI.
Examples
data(datos_rendimiento_maiz)
modelo_rlm <- greenreg_rlm(rendimiento_maiz_ton_ha ~., data = datos_rendimiento_maiz)
modelo_rlm
plot(modelo_rlm)
Presencia de roya del café en diferentes localidades
Description
Base de datos simulada que presenta la presencia/ausencia de roya del café junto con variables ambientales y de manejo agronomico relevantes. Es útil para ejercicios de regresión logística.
Usage
datos_roya_cafe
Format
Un data frame con 300 observaciones y 4 variables:
- presencia_roya
Presencia (1) o ausencia (0) de roya del café
- humedad_relativa_pct
Humedad relativa promedio (%)
- altitud_msnm
Altitud de la finca (m s.n.m.)
- manejo_sombra
Porcentaje de cobertura de sombra en la plantacion
Details
Los datos fueron generados de forma controlada utilizando parámetros similares a los observados por SIAP y estudios agronomicos del INIFAP. Esta base fue creada para ser utilizada en funciones de regresión logística del paquete GREENREG.
Source
Elaboracion propia con fines didacticos basada en información de SIAP e INIFAP.
Examples
data(datos_roya_cafe)
modelo_log <- greenreg_logistico(presencia_roya ~ humedad_relativa_pct +
altitud_msnm + manejo_sombra,
data = datos_roya_cafe)
Registros de tala ilegal en distintas regiones
Description
Conjunto de datos que contiene el número de eventos de tala ilegal observados junto con variables explicativas relacionadas con la densidad poblacional, superficie forestal y esfuerzo de vigilancia. Ideal para ejemplificar la aplicacion de modelos de regresión Poisson.
Usage
datos_tala_ilegal_poisson
Format
Un data frame con 200 observaciones y 4 variables:
- numero_talas
Número de eventos de tala ilegal observados
- densidad_poblacion
Densidad poblacional de la region (hab/km2)
- superficie_forestal_ha
Superficie forestal en hectareas
- dias_vigilancia
Número de dias de vigilancia reportados
Details
Los datos fueron generados de manera simulada con base en valores reportados por CONAFOR y SEMARNAT. Esto permite realizar ejercicios reproducibles y seguros sin exponer datos sensibles o confidenciales.
Source
Elaboracion propia con fines didacticos tomando referencia de CONAFOR e INEGI.
Examples
data(datos_tala_ilegal_poisson)
modelo_poisson <- greenreg_reg_poisson(numero_talas ~ densidad_poblacion +
superficie_forestal_ha + dias_vigilancia,
data = datos_tala_ilegal_poisson)
Asistente Interactivo de Análisis de Datos
Description
Esta es la función principal y punto de entrada del paquete. Actua como un consultor automatizado que guia al usuario desde la carga de datos hasta la generacion del código final, seleccionando la metodologia adecuada segun la naturaleza de la variable objetivo.
Usage
greenreg_analisis_datos(data, variable_objetivo, verbose = TRUE)
analisis_datos(data, variable_objetivo, verbose = TRUE)
Arguments
data |
Data frame o base de datos que contiene las variables. |
variable_objetivo |
Cadena de texto con el nombre exacto de la columna que deseas analizar (ej. "Ventas"). |
verbose |
Lógico. Si es TRUE, despliega los menus. Por defecto es TRUE. |
Value
Devuelve de forma invisible un objeto de clase ggplot2.
La función se utiliza principalmente por su efecto secundario de imprimir
código sugerido en la consola y generar visualizaciones.
Como funciona este Asistente paso a paso?
**Escaneo y Validación:** Analiza la base de datos para asegurar que la variable objetivo existe. Ademas, realiza un test interno de autocorrelación para verificar si tiene sentido aplicar modelos de Series de Tiempo (evitando análisis espurios).
**Menu Interactivo:** Despliega opciones en la consola basandose en los datos detectados, preguntando al usuario que enfoque desea (Regresión Clasica, Modelos Generalizados o Series de Tiempo).
**Generacion de Estrategias (El "Motor"):**
-
Para Regresión y GLM: Crea dos versiones del código.
**Modelo Full:** Incluye todas las variables disponibles.
**Modelo Optimizado:** Ejecuta internamente un algoritmo "Stepwise" basado en AIC para limpiar el modelo y quedarse solo con los predictores relevantes.
-
Para Series de Tiempo: Ejecuta una "Busqueda en Rejilla" (Grid Search) probando combinaciones de parámetros (p, d, q). Identifica automaticamente si la serie necesita diferenciación (ARIMA), si es puramente autoregresiva (AR), de media móvil (MA) o mixta (ARMA), y genera el código para la función especifica.
-
Guia de la Gráfica Exploratoria Generada
Dependiendo de la opción elegida, la función genera una visualización preliminar diferente para entender los datos antes de modelar:
- Escenario 1: Regresión Lineal (Histograma + Gauss)
-
Muestra un histograma azul de tus datos superpuesto con una curva roja (Campana de Gauss teorica). Objetivo: Evaluar visualmente si la variable respuesta se parece a una distribución Normal (supuesto clave de la regresión lineal).
- Escenario 2: GLM (Barras o Histograma)
-
Detecta el tipo de variable:
*Si es Binaria (0/1):* Gráfico de barras naranja. Ayuda a ver si las clases están desbalanceadas (ej. muchos "0" y pocos "1").
*Si es Conteo:* Histograma verde. Muestra la frecuencia de eventos (típico de Poisson).
- Escenario 3: Serie de Tiempo (Línea de Tendencia)
-
Gráfica la evolución de la variable a lo largo del índice temporal. Objetivo: Identificar tendencias (subidas/bajadas a largo plazo) o ciclos repetitivos antes de ajustar el modelo.
Examples
data(datos_rendimiento_maiz)
greenreg_analisis_datos(datos_rendimiento_maiz, "rendimiento_maiz_ton_ha")
Regresión Logística Binaria (MLG Logit)
Description
Esta función ajusta un Modelo Lineal Generalizado (GLM) de la familia binomial para predecir la probabilidad de un evento dicotomico (Si/No, 0/1). A diferencia de la regresión lineal, el motor de calculo estima los coeficientes mediante Maxima Verosimilitud (MLE) y ofrece un diagnóstico especializado en clasificación.
Genera una secuencia de 9 gráficas para validar el modelo de regresión logística.
Usage
logistico(formula, data, umbral = 0.5)
greenreg_logistico(formula, data, umbral = 0.5)
## S3 method for class 'logistico_greenreg'
print(x, ...)
## S3 method for class 'logistico_greenreg'
plot(x, ..., pausar = interactive())
Arguments
formula |
Una fórmula de R (ej. |
data |
Un |
umbral |
Punto de corte para clasificar como "Evento (1)" (por defecto 0.5). |
x |
Objeto de clase logistico_greenreg. |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en cinco etapas fundamentales:
**Ajuste Logit:** Transforma la variable respuesta mediante la función de enlace
logit(p) = ln(p / (1-p)), permitiendo que la probabilidad se mantenga entre 0 y 1.**Conversion de Impacto:** Los coeficientes estimados se transforman automaticamente a **Odds Ratios (OR)** mediante
e^\beta. Esto permite concluir cuanto multiplica cada variable la posibilidad de que ocurra el evento.**Evaluación de Bondad (McFadden):** Calcula el Pseudo-
R^2comparando la verosimilitud del modelo ajustado contra un modelo nulo (sin predictores).**Metricas de Clasificación:** Genera la Matriz de Confusión basada en el
umbralespecificado y calcula la Precisión Global (Accuracy).**Diagnóstico de Influencia:** Evalua si existen observaciones que deforman las probabilidades mediante el calculo de la Distancia de Cook y el Apalancamiento (Leverage).
Value
Un objeto de clase "logistico_greenreg", que consiste en una lista con los siguientes componentes:
-
fórmula: La fórmula de R aplicada al modelo. -
modelo: El objeto de claseglmoriginal con el ajuste binomial. -
variables: Una lista que contiene el nombre de la variable respuesta (y). -
coeficientes: Matriz con las estimaciones de los coeficientes, errores estándar, estadisticos z y p-valores. -
odds_ratios: Tabla con los Odds Ratios (OR) calculados, sus intervalos de confianza y p-valores asociados. -
metricas: Una lista que incluye el Pseudo-R2 de McFadden, el Criterio de Información de Akaike (AIC) y la precisión global (Accuracy). -
confusión: Matriz de confusión que cruza los valores reales frente a los predichos segun el umbral especificado. -
predicciones: Undata.framecon los valores observados, probabilidades predichas, clasificación final y el apalancamiento (leverage). -
diag_leverage: Lista con información diagnostica sobre el apalancamiento y detección de puntos extremos. -
notas: Lista de mensajes interpretativos sobre la bondad de ajuste y la precisión. -
supuestos: Un vector de caracteres con las validaciones técnicas (semaforos) sobre significancia, multicolinealidad e influencia.
Guia de las 9 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una secuencia de validación predictiva:
- 1. Capacidad de Separación
Muestra si el modelo realmente distingue entre grupos. Buscamos "montañas" de densidad que no se traslapen.
- 2. Matriz de Confusión Visual
Mapa de calor que resume aciertos (diagonal) y errores (falsos positivos/negativos).
- 3. Odds Ratios (Forest Plot)
Visualiza la importancia de las variables. Los puntos a la derecha del 1 son factores de riesgo; a la izquierda, protectores.
- 4. Curva de Calibración
Compara la probabilidad que "dice" el modelo contra la frecuencia real observada. Debe seguir la diagonal.
- 5. Curva ROC (AUC)
Mide la potencia global de diagnóstico. Un AUC de 1.0 es una clasificación perfecta; 0.5 es puro azar.
- 6. Distancia de Cook
Detecta casos atípicos en la clasificación que tienen un peso excesivo en los coeficientes.
- 7. Trade-off de Umbrales
Permite ver como cambia la Sensibilidad y Especificidad al mover el punto de corte.
- 8. Residuos de Pearson
Busca patrones sistematicos en el error. Idealmente, la línea roja debe mantenerse cerca del cero.
- 9. Leverage vs Residuos
Identifica observaciones con combinaciones de variables X muy raras que "jalonean" las probabilidades.
Examples
data(datos_roya_cafe)
modelo_log <- greenreg_logistico(presencia_roya ~ humedad_relativa_pct +
altitud_msnm + manejo_sombra,
data = datos_roya_cafe)
Modelo Autorregresivo (AR)
Description
Esta función ajusta un modelo de series de tiempo donde el valor actual (Y_t)
se explica mediante una combinación lineal de sus propios valores pasados
(Y_{t-1}, Y_{t-2}, \dots). Es la herramienta estándar para analizar la
"persistencia" o "memoria" de un fenomeno a traves del tiempo.
Genera una secuencia de 9 gráficas de diagnóstico para validar el modelo AR.
Usage
modelo_ar(x, p = 1, nivel_confianza = 0.95)
greenreg_modelo_ar(x, p = 1, nivel_confianza = 0.95)
## S3 method for class 'ar_greenreg'
print(x, ...)
## S3 method for class 'ar_greenreg'
plot(x, ..., pausar = interactive())
Arguments
x |
Para |
p |
Orden del modelo (número de rezagos a considerar). Por defecto es 1. |
nivel_confianza |
Nivel de significancia para las bandas de error (default 0.95). |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en cinco etapas diagnosticas:
**Estimación (MLE):** Utiliza Maxima Verosimilitud para encontrar los coeficientes
\phi(Phi) que mejor describen la dependencia temporal.**Análisis de Estabilidad:** Calcula las raíces inversas del polinomio caracteristico. Un modelo AR solo es válido si es "Estacionario", es decir, si las raíces se encuentran dentro del círculo unitario.
**Inferencia de Parámetros:** Calcula errores estándar y p-valores para determinar cuantos rezagos (lags) son realmente significativos.
**Auditoría de Residuos:** Evalua si el error restante es "Ruido Blanco" mediante la prueba de Ljung-Box (independencia) y Shapiro-Wilk (normalidad).
**Traduccion Didactica:** Genera un reporte que explica si el modelo "explota" (inestable) o si ha capturado exitosamente la memoria de la serie.
Value
Un objeto de clase "ar_greenreg" que contiene:
-
modelo: Objetoarimaoriginal. -
orden_p: El orden del modelo ajustado. -
coeficientes: Matriz con estimaciones, errores estándar y p-valores. -
estabilidad: Lista con las raaces inversas y diagnóstico de estacionariedad. -
diagnósticos: Resultados de las pruebas de Ljung-Box, Shapiro-Wilk y AIC. -
notas: Reporte interpretado sobre estabilidad y ruido blanco. -
data_plot: Dataframe listo para visualización avanzada.
Guia de las 9 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una auditoría temporal completa:
- 1. Inspección Visual
Muestra la serie bruta con su media historica. Ayuda a detectar tendencias que el modelo AR no puede manejar por si solo.
- 2. Ajuste Temporal
Superpone el modelo sobre la realidad. La sombra roja indica la incertidumbre (Intervalo de Confianza).
- 3. Residuos en el Tiempo
Un "electrocardiograma" del error. No debe presentar ondas, ciclos ni tendencias.
- 4. Círculo Unitario
Gráfica matemática critica. Si los rombos rojos salen del círculo, el modelo es inestable y no sirve para pronosticar.
- 5. ACF de Residuos
Busca correlaciones remanentes. Las barras deben ser pequenas para confirmar que el error es ruido aleatorio.
- 6. PACF de Residuos
Ayuda a confirmar si el orden
pseleccionado fue suficiente para limpiar la dependencia directa.- 7. Normalidad (Q-Q Plot)
Valida que los choques aleatorios sigan una distribución normal, requisito para que los intervalos de confianza sean exactos.
- 8. Precisión (Real vs Ajustado)
Muestra la correlación directa entre la predicción y el dato observado.
- 9. Estacionariedad Móvil
Analiza si la media y la varianza cambian a lo largo de la serie. Una línea verde horizontal confirma un modelo robusto.
Examples
data("datos_anomalia_temperatura")
modelo_AR <- greenreg_modelo_ar(datos_anomalia_temperatura$anomalia_c, p = 2)
modelo_AR
plot(modelo_AR)
Modelo Integrado de Media Móvil Autorregresivo (ARIMA)
Description
Esta función ajusta el modelo más versatil para series de tiempo univariadas: el ARIMA(p, d, q). Combina la memoria de largo plazo (AR), la estabilizacion mediante diferenciación (I) para eliminar tendencias, y la respuesta a choques aleatorios de corto plazo (MA).
Genera un panel visual para evaluar el ajuste del modelo.
Usage
modelo_arima(
x,
p = 1,
d = 1,
q = 1,
include_mean = TRUE,
include_drift = FALSE
)
greenreg_modelo_arima(
x,
p = 1,
d = 1,
q = 1,
include_mean = TRUE,
include_drift = FALSE
)
## S3 method for class 'arima_greenreg'
print(x, ...)
## S3 method for class 'arima_greenreg'
plot(x, ..., pausar = interactive())
Arguments
x |
Para |
p |
Orden Autorregresivo (memoria del pasado). |
d |
Orden de Integración (número de diferenciaciones). |
q |
Orden de Media Móvil (memoria de los errores). |
include_mean |
Lógico. Incluir constante? (Suele ser |
include_drift |
Lógico. Si |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función ejecuta una auditoría de cinco fases:
-
Diferenciación (Fase I): Si
d > 0, el modelo resta los valores consecutivos para eliminar la tendencia y lograr que la serie sea "Estacionaria" (promedio constante). -
Estimación ARMA: Sobre la serie ya estabilizada, estima los parámetros
\phi(AR) y\theta(MA) mediante Maxima Verosimilitud. -
Doble Validación de Estructura: Analiza las raíces del polinomio caracteristico para asegurar que la parte AR sea Estable y la parte MA sea Invertible.
-
Auditoría de Residuos: Verifica que el error final sea "Ruido Blanco" mediante las pruebas de Ljung-Box (independencia) y Shapiro-Wilk (normalidad).
-
Diagnóstico Dinámico: Evalua si la media y la varianza se mantienen estables a lo largo del tiempo despues de la integración.
Value
Un objeto de clase "arima_greenreg" que contiene:
-
modelo: El objetoarimaoriginal destats. -
ordenes: Vector con los valores de p, d y q. -
coeficientes_tabla: Matriz con estimaciones, errores estándar y p-valores. -
estatus: Lista con el estado de estabilidad e invertibilidad. -
diagnósticos: Resultados de Ljung-Box, Shapiro-Wilk y AIC. -
data_plot: Dataframe listo para visualización conggplot2. -
data_diff: Dataframe de la serie diferenciada (sid > 0).
Guia de las 10 Gráficas de Diagnóstico
Al ejecutar plot(modelo), se despliega el diagnóstico más completo del paquete:
-
1. Serie Original: Visualiza la serie bruta. Fundamental para identificar la tendencia inicial que justifica el valor de
d. -
2. Ajuste Integrado: Superpone el modelo (púrpura) sobre la realidad, incluyendo bandas de confianza del 95%.
-
3. Serie Diferenciada: Muestra la serie despues de aplicar
d. Si el modelo es correcto, esta serie debe verse plana y sin tendencia. -
4. Círculo Unitario: Gráfica de convergencia matemática. Los puntos rojos (AR) y azules (MA) deben estar dentro del círculo gris.
-
5. Residuos en el Tiempo: Busca patrones de error. Los puntos deben formar una nube aleatoria sin ciclos visibles.
-
6. ACF de Residuos: Prueba de independencia. Las barras deben estar dentro de los límites para confirmar el Ruido Blanco.
-
7. PACF de Residuos: Ayuda a identificar si el orden autorregresivo
pes suficiente para explicar la inercia. -
8. Normalidad (Q-Q Plot): Valida que los errores sigan una distribución gaussiana para asegurar pronósticos confiables.
-
9. Precisión (Real vs Ajustado): Evaluación de la correlación de Pearson entre los datos y la estimación.
-
10. Estacionariedad Final: Muestra la media y varianza móvil. Una franja púrpura estable certifica un modelo robusto.
See Also
Examples
data("datos_nivel_presa")
ts_data <- datos_nivel_presa$nivel_m
modelo_ARIMA <- greenreg_modelo_arima(ts_data, p = 1, d = 1, q = 1)
print(modelo_ARIMA)
plot(modelo_ARIMA)
Modelo Autorregresivo de Media Móvil (ARMA)
Description
Esta función ajusta un modelo hibrido ARMA(p, q) que combina la dependencia de los valores pasados (AutoRegresivo) con la influencia de los errores pasados (Media Móvil). Es la herramienta estándar para modelar series de tiempo estacionarias con estructuras de dependencia complejas.
Genera una secuencia de 9 gráficas de diagnóstico para validar el modelo ARMA.
Usage
modelo_arma(x, p = 1, q = 1, include_mean = TRUE)
greenreg_modelo_arma(x, p = 1, q = 1, include_mean = TRUE)
## S3 method for class 'arma_greenreg'
print(x, ...)
## S3 method for class 'arma_greenreg'
plot(x, ..., pausar = interactive())
Arguments
x |
Para |
p |
Orden Autorregresivo (pasados de la variable). |
q |
Orden de Media Móvil (pasados del error). |
include_mean |
Lógico. Incluir constante/intercepto? Por defecto |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función realiza una auditoría estructural en cinco pasos:
**Estimación Conjunta:** Utiliza Maxima Verosimilitud (MLE) para encontrar simultaneamente los coeficientes
\phi(AR) y\theta(MA).**Estabilidad (Parte AR):** Verifica que el componente autorregresivo no sea explosivo. Las raíces inversas del polinomio AR deben estar dentro del círculo.
**Invertibilidad (Parte MA):** Verifica que el componente de media móvil sea univoco. Las raíces inversas del polinomio MA deben estar dentro del círculo.
**Diagnóstico de Residuos:** Evalua si el error resultante es Ruido Blanco mediante el test de Ljung-Box, asegurando que no quede señal sin capturar.
**Criterio de Información:** Proporciona el AIC para facilitar la comparación entre diferentes combinaciones de (p, q), buscando el equilibrio entre complejidad y precisión.
Value
Un objeto de clase "arma_greenreg" que contiene:
-
modelo: Objetoarimaoriginal (orden p, 0, q). -
ordenes: Vector con los valores de p y q. -
coeficientes_tabla: Matriz con estimaciones, errores estándar y p-valores. -
estatus: Lista con el estado de estabilidad e invertibilidad. -
diagnósticos: Resultados de Ljung-Box, Shapiro-Wilk y AIC. -
data_plot: Dataframe listo para visualización conggplot2.
Guia de las 9 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una secuencia de validación mixta:
- 1. Inspección de Serie
Muestra la serie bruta con su media. Fundamental para confirmar visualmente la estacionariedad.
- 2. Ajuste Mixto
Superpone el modelo (verde) sobre la realidad. Permite evaluar como interactuan la inercia y los shocks.
- 3. Residuos en el Tiempo
Evaluación de la aleatoriedad del error. Los puntos deben formar una nube sin patrones.
- 4. Círculo Unitario Dual
Gráfica critica exclusiva de ARMA. Muestra simultaneamente la Estabilidad (Puntos Rojos) e Invertibilidad (Rombos Azules).
- 5. ACF de Residuos
Busca autocorrelaciones remanentes. Las barras deben ser minimas para confirmar que el modelo es óptimo.
- 6. PACF de Residuos
Ayuda a identificar si el orden autorregresivo (p) es suficiente.
- 7. Normalidad (Q-Q Plot)
Valida que los errores sigan una campana de Gauss, requisito para la validez de los intervalos de confianza.
- 8. Precisión (Real vs Ajustado)
Muestra la correlación directa. Un ARMA exitoso suele tener una alineacion estrecha sobre la diagonal.
- 9. Estacionariedad Móvil
Prueba final de estabilidad. Una franja verde horizontal confirma que el modelo no se desplaza en el tiempo.
Examples
data("datos_anomalia_temperatura")
ts_data <- datos_anomalia_temperatura$anomalia_c
modelo <- greenreg_modelo_arma(ts_data, p = 1, q = 1)
modelo
plot(modelo)
Modelo de Media Móvil (MA)
Description
Esta función ajusta un modelo de series de tiempo donde el valor actual (Y_t)
se explica mediante una combinación lineal de los errores (shocks) pasados
(\epsilon_{t-1}, \epsilon_{t-2}, ...). Es ideal para modelar fenomenos con
efectos de memoria corta o impactos transitorios.
Genera una secuencia de 9 gráficas de diagnóstico para validar el modelo MA.
Usage
modelo_ma(x, q = 1, include_mean = TRUE)
greenreg_modelo_ma(x, q = 1, include_mean = TRUE)
## S3 method for class 'ma_greenreg'
print(x, ...)
## S3 method for class 'ma_greenreg'
plot(x, ..., pausar = interactive())
Arguments
x |
Para |
q |
Orden del modelo (número de choques pasados a considerar). Por defecto es 1. |
include_mean |
Lógico. Incluir el promedio constante de la serie? Por defecto |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en cinco etapas fundamentales:
**Estimación (MLE):** Utiliza Maxima Verosimilitud para estimar los parámetros
\theta(Theta). A diferencia del AR, el MA requiere algoritmos iterativos ya que los errores no son directamente observables.**Análisis de Invertibilidad:** Calcula las raíces inversas del polinomio caracteristico. Un modelo MA debe ser "Invertible" para que el error pueda expresarse como una función convergente de los datos observados.
**Identificación Estructural:** Evalua la ACF (Autocorrelación). En un proceso MA(q), la ACF debe "cortarse" abruptamente despues del lag q.
**Auditoría de Residuos:** Verifica que el error remanente sea Ruido Blanco mediante la prueba de Ljung-Box y la distribución Gaussiana (Shapiro-Wilk).
**Traduccion Didactica:** Genera un reporte que explica la persistencia de los choques y valida si el modelo es único y matematicamente solido.
Value
Un objeto de clase "ma_greenreg", que consiste en una lista con:
-
modelo: El objetoarimaoriginal (orden 0,0,q). -
orden_q: El orden del modelo ajustado. -
coeficientes_tabla: Matriz con estimaciones, errores estándar y p-valores. -
invertibilidad: Lista con las raíces inversas y diagnóstico de invertibilidad. -
diagnósticos: Resultados de las pruebas de Ljung-Box, Shapiro-Wilk y AIC. -
data_plot: Dataframe listo para visualización conggplot2.
Guia de las 9 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una auditoría de "shocks" temporales:
- 1. Inspección Visual
Muestra la serie bruta con su media historica. El modelo MA supone que la serie siempre es atraida hacia este nivel central.
- 2. Ajuste Temporal
Superpone el modelo (azul) sobre la realidad. Permite ver como el modelo "suaviza" los picos de la serie.
- 3. Precisión (Real vs Ajustado)
Gráfica de dispersión para evaluar la correlación. Los puntos deben seguir la diagonal roja.
- 4. Círculo Unitario
Prueba de Invertibilidad. Los rombos azules deben estar dentro del círculo para asegurar que el modelo sea único.
- 5. Residuos en el Tiempo
Evaluación de aleatoriedad. No debe haber patrones; los errores deben ser impredecibles.
- 6. ACF de Residuos
Prueba critica de Ruido Blanco. Si hay barras largas (números rojos), el orden
qes insuficiente.- 7. PACF de Residuos
Complemento de la ACF para verificar que no existan dependencias directas remanentes.
- 8. Normalidad (Q-Q Plot)
Valida que los choques sigan una campana de Gauss, asegurando la validez de los intervalos de confianza.
- 9. Estacionariedad Móvil
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 <- greenreg_modelo_ma(datos_anomalia_temperatura$anomalia_c, q = 1, include_mean = TRUE)
modelo_MA
plot(modelo_MA)
Regresión de Poisson (Modelos de Conteo)
Description
Esta función ajusta un Modelo Lineal Generalizado (GLM) de la familia Poisson con
función de enlace logaritmica \ln(\lambda). Esta disenada para modelar variables
de respuesta que representan conteos enteros no negativos (0, 1, 2, 3...) y tasas
de incidencia en estudios agronomicos, forestales y sociales.
Genera una secuencia de 8 gráficas de diagnóstico para validar el modelo Poisson.
Usage
reg_poisson(formula, data)
greenreg_reg_poisson(formula, data)
## S3 method for class 'poisson_greenreg'
print(x, ...)
## S3 method for class 'poisson_greenreg'
plot(x, ..., pausar = interactive())
Arguments
formula |
Una fórmula de R (ej. |
data |
Un |
x |
Objeto de clase. |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en seis etapas criticas:
**Ajuste Log-Lineal:** Estima la relación entre los predictores y el logaritmo de la tasa de eventos (
\lambda). Utiliza Maxima Verosimilitud (MLE) para el ajuste.**Interpretación de Tasas (IRR):** Los coeficientes originales (
\beta) se exponencian automaticamentee^{\beta}para obtener los **Ratios de Tasas de Incidencia**. Esto permite concluir en que porcentaje aumenta o disminuye la frecuencia de eventos por cada unidad de cambio en X.**Diagnóstico de Equidispersion:** Calcula el Ratio de Dispersión basado en el estadístico de Pearson
(X^2 / gl). En una distribución Poisson perfecta, este valor debe ser 1. Valores > 1.5 indican **Sobredispersión**, sugiriendo que los datos varian más de lo que el modelo permite.**Inferencia Robusta:** Genera intervalos de confianza para los IRR, permitiendo identificar factores de riesgo (IRR > 1) y factores protectores (IRR < 1).
**Evaluación de Residuos:** Calcula residuos de devianza y Pearson para identificar patrones de error sistematicos o falta de ajuste en conteos especificos (como el cero).
**Traduccion Didactica:** Genera un reporte que advierte si el modelo es válido o si se debe migrar a un modelo Binomial Negativa debido a la dispersión.
Value
Un objeto de clase "poisson_greenreg" que contiene:
-
modelo: Objetoglmoriginal de la familia Poisson. -
irr_table: Tabla con los Ratios de Tasas de Incidencia, intervalos y p-valores. -
dispersión: El ratio de dispersión calculado (Pearson / GL). -
metricas: Lista con AIC, Log-Verosimilitud y Devianzas. -
predicciones: Dataframe con valores observados, lambda estimado y diagnósticos (leverage/residuos).
Guia de las 8 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una secuencia de validación para conteos:
- 1. Distribución de Conteos (Real vs Modelo)
Compara las frecuencias observadas contra las que el modelo "esperaba" predecir. Crucial para detectar el exceso de ceros.
- 2. Precisión (Predicho vs Real)
Scatterplot entre el Lambda estimado y el conteo real. Los puntos deben seguir la tendencia de la línea roja diagonal.
- 3. Importancia de Variables (IRR)
Visualiza el impacto relativo de cada predictor. Los puntos verdes son significativos; si el intervalo cruza el 1, la variable es ruido.
- 4. Verificación de Sobredispersión
Gráfica la relación Media-Varianza. Si la línea verde (datos) se eleva sobre la negra (teoria), el supuesto Poisson se rompe.
- 5. Distancia de Cook
Identifica casos atípicos en el conteo que tienen un peso excesivo en la estimación de la tasa promedio.
- 6. Residuos de Devianza
Analiza la calidad del ajuste en escala logaritmica. Busca una nube uniforme sin formas de "U" o de embudo.
- 7. Apalancamiento (Leverage)
Detecta observaciones con valores de X inusuales que controlan la pendiente del modelo.
- 8. Densidad de Ajuste Global
Superpone las curvas de probabilidad del modelo y la realidad para evaluar el solapamiento total.
Examples
data(datos_tala_ilegal_poisson)
modelo_poisson <- greenreg_reg_poisson(numero_talas ~ densidad_poblacion +
superficie_forestal_ha + dias_vigilancia,
data = datos_tala_ilegal_poisson)
plot(modelo_poisson)
Regresión Lineal Multiple (RLM)
Description
Esta función ajusta un modelo de regresión lineal con multiples variables predictoras
y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_k x_k mediante Minimos Cuadrados Ordinarios (OLS).
Incluye un robusto motor de diagnóstico de Multicolinealidad (VIF) y pruebas de supuestos
con recomendaciones de acción para el investigador.
Genera una secuencia de 10 gráficas para validar el modelo.
Usage
rlm(formula, data, nivel_confianza = 0.95)
greenreg_rlm(formula, data, nivel_confianza = 0.95)
## S3 method for class 'rlm_greenreg'
print(x, ...)
## S3 method for class 'rlm_greenreg'
plot(x, ..., pausar = interactive())
Arguments
formula |
Fórmula del modelo. |
data |
Dataframe con los datos. |
nivel_confianza |
Nivel de confianza para intervalos (default 0.95). |
x |
Objeto de clase rlm_greenreg. |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en seis etapas:
**Validación de Datos:** Asegura que la fórmula sea valida y que el dataframe no contenga errores estructurales.
**Ajuste (Engine):** Utiliza
stats::lm. En RLM, el foco principal es el **R2 Ajustado**, que penaliza la inclusion de variables innecesarias que no aportan información real.**Detección de Multicolinealidad (VIF):** Calcula manualmente el Factor de Inflación de la Varianza
VIF = 1 / (1 - R^2_j)para cada predictor. Esto identifica si las variables X están correlacionadas entre si, lo cual infla los errores estándar y vuelve inestables los coeficientes.**Auditoría de Supuestos:** Ejecuta de forma nativa pruebas de Normalidad (Shapiro), Homocedasticidad (Breusch-Pagan), Independencia (Durbin-Watson) y Linealidad (Rainbow Test).
**Traduccion Automática:** Evalua los estadisticos y genera "Notas". y sugerencias de mejora (ej. transformar variables o eliminar predictores redundantes).
**Preparacion de Diagnóstico:** Construye un dataframe optimizado para
ggplot2que incluye residuos estandarizados, distancias de Cook y apalancamiento (leverage).
Value
Un objeto de clase "rlm_greenreg" que contiene:
-
modelo: Objetolmoriginal. -
variables: Lista con los nombres de Y y los predictores X. -
coeficientes: Matriz con estimaciones, p-valores e intervalos de confianza. -
vif: Vector con los valores del Factor de Inflación de la Varianza (VIF). -
supuestos: Resultados de los tests de Shapiro-Wilk (Normalidad), Breusch-Pagan (Homocedasticidad), Durbin-Watson (Independencia) y Rainbow (Linealidad). -
notas: Reporte interpretado con recomendaciones de acción. -
data_plot: Dataframe optimizado para visualizaciones.
Guia de las 10 Gráficas de Diagnóstico ('plot')
Al ejecutar plot(modelo), se despliega una secuencia educativa de 10 visualizaciones:
- 1. Distribución de Variables (Y, Xi)
Muestra histogramas y densidades de todas las variables. Permite detectar sesgos o datos atípicos antes del ajuste.
- 2. Relación de Variables (Y vs Xi)
Scatterplots individuales de la respuesta contra cada predictor con una curva LOESS para verificar la linealidad visualmente.
- 3. Ajuste (Observados vs Ajustados)
Muestra la precisión global. Los puntos deben seguir la diagonal de 45 grados.
- 4. Q-Q Plot (Normalidad)
Valida si los residuos siguen una distribución normal. Crucial para la validez de los P-valores.
- 5. Homocedasticidad
Residuos vs. Predichos. Busca una "nube de estrellas" sin forma de embudo.
- 6. Independencia
Residuos vs. Orden de recolección. Detecta patrones temporales o espaciales en los errores.
- 7. Predicción vs Realidad (Identidad)
Version simplificada del ajuste para evaluar la correlación de Pearson.
- 8. Multicolinealidad (VIF)
Gráfica de barras exclusiva de RLM. Las barras rojas (VIF > 10) indican variables que deben ser eliminadas por redundancia.
- 9. Distancia de Cook
Identifica observaciones influyentes. Barras que superan el umbral $4/n$ indican datos que deforman los resultados.
- 10. Leverage vs Residuos
Cruza la "rareza" de X (Leverage) con el error en Y (Residuo). Detecta puntos que actuan como palancas sobre la recta.
Examples
data(datos_rendimiento_maiz)
modelo_rlm <- greenreg_rlm(rendimiento_maiz_ton_ha ~ ., data = datos_rendimiento_maiz)
print(modelo_rlm)
plot(modelo_rlm)
Regresión Lineal Simple (RLS)
Description
Esta función ajusta un modelo de regresión lineal y = \beta_0 + \beta_1 x mediante
Minimos Cuadrados Ordinarios (OLS, por sus siglas en ingles 'Ordinary Least Squares').
A diferencia de lm() estándar, esta función devuelve un objeto enriquecido con
interpretaciones en lenguaje natural, verificaciones automaticas de supuestos y
sugerencias para el investigador.
Genera una secuencia de 9 gráficas para validar el modelo.
Usage
rls(formula, data, nivel_confianza = 0.95)
greenreg_rls(formula, data, nivel_confianza = 0.95)
## S3 method for class 'rls_greenreg'
print(x, ...)
## S3 method for class 'rls_greenreg'
plot(x, ..., pausar = interactive())
Arguments
formula |
Una fórmula de R estándar (ej. |
data |
El data.frame que contiene las variables. |
nivel_confianza |
Nivel de confianza para los intervalos (por defecto 0.95). |
x |
Objeto de clase rls_greenreg. |
... |
Argumentos adicionales. |
pausar |
Lógico. Si |
Details
El flujo interno de la función se divide en cinco etapas criticas:
**Preparacion:** Valida que los datos sean coherentes y extrae las variables de la fórmula.
**Estimación:** Calcula los coeficientes, el error estándar residual
(\sigma)y la significancia global (F-test).**Inferencia:** Genera intervalos de confianza para los parámetros
(\beta)al nivel especificado.**Auditoría de Supuestos:** Ejecuta pruebas de Shapiro-Wilk (Normalidad), Breusch-Pagan (Homocedasticidad) y Durbin-Watson (Independencia).
**Traduccion:** Convierte los estadisticos abstractos en "Notas" de texto que recomiendan acciones especificas (ej. aplicar logaritmos o revisar datos atípicos).
Value
Un objeto de clase "rls_greenreg" que es una lista con:
-
modelo: El objetolmoriginal. -
variables: Nombres de X e Y. -
coeficientes: Matriz con Estimaciones, Errores e Intervalos. -
supuestos: Resultados de los tests de Shapiro, BP y DW. -
notas: Diccionario de interpretaciones y sugerencias de mejora. -
data_plot: Dataframe con residuos e indices de influencia.
Guia de las 9 Gráficas de Diagnóstico (plot)
Al ejecutar plot(modelo), se despliega una secuencia educativa:
- 1. Histogramas Exploratorios
Compara la distribución de X e Y. Útil para detectar sesgos iniciales.
- 2. Relación Original (Scatterplot)
Muestra la nube de puntos pura para confirmar linealidad.
- 3. Recta de Regresión
Visualiza el ajuste final con bandas de confianza.
- 4. Q-Q Plot (Normalidad)
Gráfica los cuantiles de los residuos contra una normal teorica.
- 5. Homocedasticidad
Residuos vs. Predichos para verificar varianza constante.
- 6. Independencia
Residuos vs. Orden de datos para detectar autocorrelación.
- 7. Precisión (Predicho vs Real)
Muestra la correlación directa entre valores reales y estimados.
- 8. Distancia de Cook
Identifica observaciones influyentes o atípicos peligrosos.
- 9. Leverage vs Residuos
Diferencia entre errores en Y (Outliers) y valores extremos en X (Apalancamiento).
Examples
data(datos_rendimiento_maiz)
modelo <- greenreg_rls(rendimiento_maiz_ton_ha ~ precipitacion_mm, data = datos_rendimiento_maiz)
print(modelo)
plot(modelo)