Time series decomposition plot trend and seasonality together
Project description
time-decomp
Time series decomposition plot trend and seasonality
Plot trend and seasonality together in one chart as described at Business Days Time Series Weekly Trend and Seasonality.
Example usage from ./Python/tests/keew_decomp_test.py
# create test
# test_decomposition.py
import unittest
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from src.time_decomp.decomposition import DecompositionSingleton
class TestKeewDecomposition(unittest.TestCase):
def setUp(self):
self.decomp = DecompositionSingleton()
n = 2000
df = pd.DataFrame({'A': np.random.randint(0,100, size=(n,)), 'B': np.random.randint(0,100, size=(n,))})
lsDays = [pd.Timestamp(2021, 1, 1)]*n
for i in range(n):
# construct time, where iYear-iMonth-i
lsDays[i] = pd.Timestamp( np.random.randint(2021,2025), np.random.randint(1,13) , (i+1) % 28 + 1)
df['Day'] = lsDays
df['Year'] = df['Day'].dt.year
df['Month'] = df['Day'].dt.month
df['KeewMonth'] = df['Day'].apply(self.decomp.get_month_keew)
df['Keew']=(df['Month']-1)*4+df['KeewMonth']
self.decomp.df = df.groupby(['Year', 'Keew']).last().reset_index()
self.decomp.features = ['A', 'B']
self.decomp.decompose_params = {'model': 'additive', 'period':48, 'extrapolate_trend':'freq'}
def test_plot_decomposition(self):
# output df info
print("Starting test_plot_decomposition")
print("DataFrame Info:")
print(self.decomp.df.info())
print("DataFrame Head:")
print("\n%s", self.decomp.df.head())
self.decomp.m_decompose()
self.decomp.plot_decomposition('A', 'Year', range(2021,2025), 'Keew', 'A keew')
plt.show()
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
time_decomp-1.0.1.tar.gz
(8.5 kB
view details)
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 time_decomp-1.0.1.tar.gz.
File metadata
- Download URL: time_decomp-1.0.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e111ad335a728b02559c7b65bde08c8a782efd8c63ba72e943da8a9203baa59f
|
|
| MD5 |
8fa911664eff59895cb42a1acded3ea6
|
|
| BLAKE2b-256 |
1aaa2eb6d5fdc691d56bd9100be913fc9af2b76878b73e1945f02973217cf427
|
File details
Details for the file time_decomp-1.0.1-py3-none-any.whl.
File metadata
- Download URL: time_decomp-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c782072c0b9de664f8c73ff2b90cf41f7db71169fa42aa73d5604267ffc73efb
|
|
| MD5 |
7785d8635b696b958481ac430f30e56d
|
|
| BLAKE2b-256 |
1398daa3321ffbf7249ae1a202b6cb78123b0355d0f771310a80494a782def8e
|