Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mientras menor aleatoriedad de las variables los ajustes, pronósticos van a tener menor
incertidumbre y serán mas certeros.
Ejemplo: La planificación de la producción de una fábrica depende del pronóstico de las ventas, de
una demanda futura.
Realizar pronósticos con tan pocos datos es muy difícil, por eso se deben hacer simulaciones.
SIMULACIÓN
*Apunta a crear datos, a inventar datos; pero que esos datos sigan algún patrón en específico y
comúnmente lo que se hace es simular datos y ajustar a continuación un modelo de regresión que
intente replicar esa simulación y comparar los parámetros
*Si simulamos datos, lo que hacemos es indicarle los parámetros teóricos, que representan de
buena manera el comportamiento de esa variable.
•En regresiones de series de tiempo, es común que la serie de error 𝑧𝑡 esté autocorrelacionada.
En el siguiente código se simulará y se graficará una serie con tendencia de línea recta (50 + 3𝑡)
con errores autocorrelacionados.
*Aquí se crean 2 variables, z y w que siguen una distribución normal, son 100 datos para cada
variable y una desviación estándar de 20. Ambas variables son iguales
*Desde el tiempo 2 al tiempo 100 va a seguir el error autocorrelacionado, el 0,8 se entrega (es con
el cual se comporta el error auto correlacionado).
Intercepto 50 y la pendiente es +3
st asociada a la estacionalidad
zt asciada al ruido
Va haber un beta para cada modelo (dependiendo si es mensual, trimestral o anual va a ser la
cantidad de betas).
ESTIMACIÓN
Los parámetros del modelo en esta ecuación pueden ser estimados por MCO o Mínimos cuadrado
generalizados, tratando al término estacional 𝑠𝑡 como un factor. En R, la función factor() puede ser
aplicada para los índices estacionales extraídos usando la función cycle().
*La componente estacionalidad (seas) se debe incorporar como un factor. Para que estime cada
beta para cada trimestre, mes o año.
MODELOS NO LINEALES
Por ejemplo, si se conoce que una serie está derivada de un proceso no lineal, puede que esté
basada en una ley determinística en la ciencia, es por eso que será mejor usar esta información en
la formulación del modelo y ajustar un modelo no lineal directamente a los datos.
SIMULACIÓN Y ESTIMACIÓN EN R
El modelo puede ser estimado por mínimos cuadrados no lineales, de la siguiente manera:
PREDICCIÓN EN R
La función genérica para hacer predicciones en R es predict(). La clave para usar esta función con
un modelo de regresión es asegurarse que la nueva data está debidamente definida y etiquetada
en un data.frame.
PREDICCIÓN EN R
PRONÓSTICOS
Un pronóstico es una predicción para el futuro. En el contexto de regresión de series de tiempo,
un pronóstico implica la extrapolación del modelo ajustado evaluando en él la función para nuevas
series de tiempo. El problema principal con esta aproximación es que las tendencias que se
presentan en las series ajustadas pueden cambiar en el futuro. Por lo tanto, es mejor pensar en un
pronóstico de una regresión como un valor condicional esperado en tendencias pasadas que
continúan en el futuro.
PRONÓSTICO EN R
La función genérica para hacer pronósticos en R es forecast(), mediante esta función se indica el
modelo que mejor se ajusta a los datos observados y los periodos hacia el futuro que necesita
proyectar el comportamiento de la variable.
Linea azul replica el comportamiento hacia el futuro.
EJERCICIO EN R
Para el caso de la regresión de series de tiempo hay dos formas de poder aproximarnos a ella, una
a través de la simulación de datos ficticios que siguen ciertos patrones (Cuando no hay datos
observados) para evaluar.
Para el caso lo que se quiere es simular una variable (x) pero la particularidad es que tiene un error
autocorrelacionado, es decir, el error que presenta la variable en el tiempo presente(t) depende
de un periodo atrás (t-1), entonces el error o ruido la aleatoriedad que presente el mes pasado va
a estar afectando en el mes presente a la variable que estemos modelando.
Una vez simulados esos datos se va a justar un modelo de regresión para comparar los parámetros
, los que se dieron en un principio versus los que da el modelo ajustado.
La función Set.Seed (1) es para fijar una semilla y así la simulación de exactamente los mismos
resultados
*Que ambas sigan una distribución normal, son 100 datos con desviación estándar 20 :
Ahí se crean 100 datos, las dos variables son idénticas y eso ocurre porque se le da la igualdad
lineal.
POSTERIORMENTE SE VA A PEDIR ITERAR VALORES QUE PARTAN DESDE 2 AL 100
*Es decir de la observación 2 en adelante
*Que el valor del error al tiempo t dependa de un resago ejemplo (t-1, t-2, t-3)
Z es la variable aleatoria que representa el error estocastico y W también es una variable aleatoria
que representa el error estocastico pero del modelo de error, es decir es el error estocastico del
error.
EL TIEMPO VA A IR DE 1 A 100
La función “lm” (lineal model) es la que se va a utilizar, x es la variable que se quiere ajustar, va a
estar en función del tiempo
Se había pedido que tuviera un intercepto de 50 y una pendiente de +3, lo que me dice el modelo
es:
2.- Se va a crear una variable que sigue una distribución normal, con 100 datos y desviación
estándar 10:
El error estándar de los parámetros es muy bajito y ambos son estadísticamente significativos.
Ese es el comportamiento del PNB a precios corrientes, tiene una tendencia al alza muy marcada,
la componente estacional no se logra identificar de manera muy clara
2.- Tendencia
3.- Estacionalidad : Muestra que es un comportamiento no definido, ya que es mas bien uniforme
4.- Aleatoriedad
No hay una diferencia muy grande, solo cambia muy levemente la aleatoriedad
Para el caso si ajustaramos un modelo de regresión del 1967 en adelante encontraremos que la
alta aleatoriedad que presenta la variable del 1967 y 1983 aproximadamente va a perjudicar el
ajuste del modelo, no va a ser muy bueno el modelo en términos de ajuste si se considera todo el
periodo y posteriormente los pronósticos van a tener un mayor nivel de incertidumbre.
gnpt = window(gnp.ts, start = 1990) # se extrae una submuestra para trabajar con una parte de los datos
# para extraer los terminos estacionales y el termino del tiempo para dicha serie
coef(temp.lm)
El primer beta es 528.322 en valor absoluto, beta2 es 528.333, beta 3 528366 y beta4 528.348 eso
quiere decir que son prácticamente similares y eso es una muestra inequicova de que la variable
no presenta variables estacionales
frequency = 4)
*Para el caso el ajuste es muy malo, hay regiones de subestimación y sobreestimación. Eso se
debe al periodo de tiempo que se esta ocupando en el modelo, probablemente se debe ocupar un
periodo mas acotado para mejorarlo.
Se pueden cambiar las fechas a 1995, esto pasaría
Ahí se observa una mejoría, aunque la ultima parte no la logra representar de manera muy clara.
Eso se debe a que no tiene una componente estacional muy marcada, muy característica
library(forecast)
mod = tslm(gnpt ~ trend + season)
fc = forecast(mod, h = 8)
fc
plot(fc, type = "l")
El valor proyectado para el tercer trimestre del 2002 es de 9681 unidades monetarias con un
intervalo de confianza que va entre 9400 y 9900, es decir, el promedio es 9600 pero puede
fluctuar entre 9400 y 9900 a un 80% de confianza
Para el segundo trimestre de 2004 es de 10183, pero va a fluctuar entre 9907 (intervalo inferior) y
10460 (intervalo superior), para el caso del limite al 95% va entre 9755 y 10612.