Modelos para el análisis de series de tiempo y proyecciones.
Project description
Paquete Series De Tiempo
Versión 1.0.1
Autor: Pablo Atarama https://pabloatarama.com/
© Derechos Reservados 2021
Importar libreria
Para importar la librería utilizamos:
import SeriesDeTiempo as st
Pasos para utilizar la librería:
- Crear un objeto del tipo Serie.
- Aplicar un modelo a un objeto del tipo Serie que nos devolverá un objeto del tipo Modelo.
Crear una serie
Para crear un objeto de tipo Serie (Serie de tiempo) utilizamos:
serie = st.Serie(DataFrame, columna="")
Donde DataFrame es el DataFrame de la librería pandas donde se extraerá la data y columna la columna del DataFrame específica que se considerará como yt.
Aplicar un modelo
Para usar un modelo se aplicara la respectiva función del modelo sobre el objeto de tipo Serie. Esto devolverá un objeto del tipo de modelo especificado. Cada función utiliza diferentes parámetros.
Modelos soportados
Considerando que se creó un objeto de tipo Serie llamado serie:
Naive
serieConModelo = serie.naive()
Media movil simple
serieConModelo = serie.mediaMovilSimple(longitud=3, desfasada=False)
- longitud: longitud de la media móvil simple, por defecto es 3.
- desfasada: Si es desfasada o no (True o False), por defecto es False.
Media movil doble
serieConModelo = serie.mediaMovilDoble(longitud=3, desfasada=False)
- longitud: longitud de ambas medias móviles, por defecto es 3.
- desfasada: Si es desfasada o no (True o False).
Media movil ponderada
serieConModelo = serie.mediaMovilPonderada(longitud, ponderaciones)
- ponderaciones: lista con alfas a ponderar ej:
[alfa1, alfa2, alfa3]donde alfa1 > alfa2 > alfa3, etc.
Suavización exponencial simple
serieConModelo = serie.suavizacionExponencialSimple(alfa=0.5)
- alfa: parámetro alfa del modelo, por defecto es 0.5.
Media movil doble con tendencia
serieConModelo = serie.mediaMovilDobleConTendencia(longitud=3)
- longitud: longitud de ambas medias moviles, por defecto es 3.
Brown o suavizacion exponencial doble
serieNaive = serie.brown(alfa=0.5, M1=None, M2=None)
- alfa: parámetro alfa del modelo, por defecto es 0.5.
- M1: Valor inicial de Mat, por defecto es yt para t = 1.
- M2: Valor inicial de Maat, por defecto es yt para t = 1.
Holt
serieConModelo = serie.holt(alfa=0.5, beta=0.5, M=None, T=0)
- alfa: parámetro alfa del modelo, por defecto es 0.5.
- beta: parámetro beta del modelo, por defecto es 0.5.
- M: Valor inicial de Mt, por defecto es yt para t = 1.
- T: Valor inicial de Tt, por defecto es 0.
Holt y Winters
serieConModelo = serie.holtYWinters(metodo, alfa=0.5, beta=0.5, gamma=0.5, L=4)
- metodo: El metodo a utilizar "aditivo" para el metodo aditivo y "multiplicativo" para el metodo multiplicativo.
- alfa: parámetro alfa del modelo, por defecto es 0.5.
- beta: parámetro beta del modelo, por defecto es 0.5.
- gamma: parámetro gamma del modelo, por defecto es 0.5.
- L: Longitud de la estacionalidad, por defecto es 4.
Descomposición
serieConModelo = serie.descomposicion(metodo, L=12)
- metodo: El metodo a utilizar "aditivo" para el metodo aditivo y "multiplicativo" para el metodo multiplicativo.
- L: Longitud de la estacionalidad, por defecto es 12.
Graficar series y modelos
Para graficar cualquier tipo de objeto de serie (sea del tipo Serie o del tipo Modelo) se utiliza la función graficar()
serie.graficar(titulo="", xlabel="", ylabel="")
- titulo: Título del gráfico.
- xlabel: Título del eje x.
- ylabel: Título del eje y.
Diagramas de cajas
Se puede realizar digramas de cajas a los objetos de tipo Serie a lo largo del tiempo agrupando por cilos mediante:
serie.cajasEstacionalidad(L=4, comienzo=1, titulo="", xlabel="", ylabel="", grilla=True)
- ciclo: Ciclos en que se agrupará los datos, por defecto es 4.
- titulo: Título de la gráfica.
- xlabel: Título del eje x.
- ylabel: Título del eje y.
- grilla: Grilla de gráfica (True o False), por defecto True.
También se puede realizar diagramas de cajas sobre la estacionalidad mediante:
serie.cajas(ciclo=4, comienzo=1, titulo="", xlabel="", ylabel="", grilla=True)
- ciclo: Ciclos en que se agrupará los datos, por defecto es 4.
- titulo: Título de la gráfica.
- xlabel: Título del eje x.
- ylabel: Título del eje y.
- grilla: Grilla de gráfica (True o False), por defecto True.
Residuales
También es posible graficar el residual de los objetos de los modelos mediante:
serieConModelo.residual.graficar(titulo="", xlabel="", ylabel="")
Gráficas extras del modelo de descomposición
Los modelos de descomposición tienen la peculiaridad de poseer las propiedades: tendencia y estacionalidad siendo estas también graficables mediante graficar()
serieDescomposicion.tendencia.graficar(titulo="", xlabel="", ylabel="")
serieDescomposicion.estacionalidad.graficar(titulo="", xlabel="", ylabel="")
En caso se requiera realizar una gráfica de otro tipo, todos los objetos de la librería contienen un DataFrame de pandas en su propiedad data:
serie.data
serieConModelo.data
Errores de los Modelos
Para consultar los errores de la aplicación de un determinado modelo que se encuentre en un objeto de ejemplo serieConModelo basaría con consultar su propiedad "errores":
serieConModelo.errores
Podemos extraer el valor específico de algún error consultando las propiedades:
serieConModelo.errores.mse
serieConModelo.errores.rmse
serieConModelo.errores.u_theil
Pronósticos
Para realizar un pronóstico se deberá llamar a la función pronosticar() y esta devolverá una copia del objeto del modelo pero con el pronóstico pedido agregado.
serieConPronostico = serieConModelo.pronosticar(self, p=1, t=None)
- p: cantidad de periodos a pronosticar, por defecto es 1.
- t: valor de t desde donde comenzará el pronóstico, por defecto comienza luego del último dato.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file series-de-tiempo-pabloatarama-2021.12.1.tar.gz.
File metadata
- Download URL: series-de-tiempo-pabloatarama-2021.12.1.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed3d21177e75f0b30ab3167da5f7444747c80eac93e13665d44ce7e1e3491f6b
|
|
| MD5 |
7da9d8ad5586f97b2d5b4259e1ef3ede
|
|
| BLAKE2b-256 |
879ee1f79eae7bf2b6bf9b59ee98a9c47b04ca9b500cb352071fc1c540b2c6a6
|
File details
Details for the file series_de_tiempo_pabloatarama-2021.12.1-py3-none-any.whl.
File metadata
- Download URL: series_de_tiempo_pabloatarama-2021.12.1-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
541133741c603c604a68727f89696aa3ae32c6e8b61477b95a5c268e89c7a5b2
|
|
| MD5 |
f3ef6aa2bf52c4842acf18aa09da9344
|
|
| BLAKE2b-256 |
12495cdd48d45cc0f241993dbbba28b396439603a69ef319d124eeb937ef7fec
|