import pandas as pd import numpy as np import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds #get_ipython().magic('matplotlib inline') lValues = [k for k in range(2, 24, 4)] # lValues = lValues + [ k for k in range(24, 128, 8)]; for cyc in lValues: print("TEST_CYCLES_START", cyc) b1 = tsds.generate_random_TS(N=3200, FREQ='D', seed=0, trendtype="constant", cycle_length=cyc, transform="", sigma=0.1, exog_count=0) df = b1.mPastData # df.tail(10) # df[:-10].tail() # df[:-10:-1] # df.describe() lEngine = autof.cForecastEngine() lEngine.mOptions.mCycleLengths = [k for k in range(2, 128)] lEngine H = cyc * 2
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N = 128 , FREQ = 'D', seed = 0, trendtype = "poly", cycle_length = 5, transform = "", sigma = 0.0, exog_count = 100, ar_order = 12); art.process_dataset(dataset);
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=32, FREQ='D', seed=0, trendtype="linear", cycle_length=7, transform="sqrt", sigma=0.0, exog_count=100, ar_order=0) art.process_dataset(dataset)
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=1024, FREQ='D', seed=0, trendtype="constant", cycle_length=0, transform="sqrt", sigma=0.0, exog_count=20, ar_order=0) art.process_dataset(dataset)
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=128, FREQ='D', seed=0, trendtype="linear", cycle_length=0, transform="diff", sigma=0.0, exog_count=20, ar_order=12) art.process_dataset(dataset)
import pandas as pd import numpy as np import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds #get_ipython().magic('matplotlib inline') b1 = tsds.generate_random_TS(N=320, FREQ='D', seed=0, trendtype="constant", cycle_length=0, transform="None", sigma=0.0) df = b1.mPastData #df.tail(10) #df[:-10].tail() #df[:-10:-1] #df.describe() lEngine = autof.cForecastEngine() lEngine H = b1.mHorizon[b1.mSignalVar] lEngine.train(df, b1.mTimeVar, b1.mSignalVar, H) lEngine.getModelInfo() lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=32, FREQ='D', seed=0, trendtype="poly", cycle_length=0, transform="inv", sigma=0.0, exog_count=20, ar_order=0) art.process_dataset(dataset)
import pandas as pd import numpy as np import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds import warnings with warnings.catch_warnings(): warnings.simplefilter("error") b1 = tsds.generate_random_TS(N=160, FREQ='D', seed=0, trendtype="constant", cycle_length=12, transform="", sigma=0.10, exog_count=1280) df = b1.mPastData # this script works on mysql with N = 600, exog_count = 20 when thread_stack = 1920K in # /etc/mysql/mysql.conf.d/mysqld.cnf #df.to_csv("outputs/rand_exogenous.csv") H = b1.mHorizon N = df.shape[0] for n in [N]: for nbex in [1280]: df1 = df.head(n).copy()
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=32, FREQ='D', seed=0, trendtype="constant", cycle_length=30, transform="pow3", sigma=0.0, exog_count=0, ar_order=12) art.process_dataset(dataset)
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N = 32 , FREQ = 'D', seed = 0, trendtype = "linear", cycle_length = 5, transform = "cumsum", sigma = 0.0, exog_count = 0, ar_order = 12); art.process_dataset(dataset);
import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds b1 = tsds.generate_random_TS(N=4000, FREQ='H', seed=0, trendtype="constant", cycle_length=24, transform="None", sigma=0.1, exog_count=0) df = b1.mPastData lEngine = autof.cForecastEngine() lEngine H = 12 lEngine.mOptions.mFilterSeasonals = False lEngine.mOptions.mParallelMode = False lEngine.mOptions.mDebugPerformance = True lEngine.train(df, b1.mTimeVar, b1.mSignalVar, H) lEngine.getModelInfo() print(lEngine.mSignalDecomposition.mTrPerfDetails.head())
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=128, FREQ='D', seed=0, trendtype="constant", cycle_length=7, transform="cumsum", sigma=0.0, exog_count=100, ar_order=12) art.process_dataset(dataset)
import pandas as pd import numpy as np import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds import pyaf.CodeGen.TS_CodeGenerator as tscodegen #get_ipython().magic('matplotlib inline') b1 = tsds.generate_random_TS(N = 3200 , FREQ = 'D', seed = 0, trendtype = "linear", cycle_length = 12, transform = "", sigma = 0.0); df = b1.mPastData #df.to_csv("outputs/acfrefefs_cycle.csv") #df.tail(10) #df[:-10].tail() #df[:-10:-1] #df.describe() H = b1.mHorizon; N = df.shape[0]; for n in [N//8 , N//4 , N//2 , N]: df1 = df.head(n).copy(); lEngine = autof.cForecastEngine() # lEngine.mOptions.mEnableSeasonals = False; # lEngine.mOptions.mDebugCycles = False; lEngine lEngine.train(df1 , b1.mTimeVar , b1.mSignalVar, H); lEngine.getModelInfo(); # lEngine.standardPlots(name = "my_cycle_" + str(n)); lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
import pyaf.Bench.TS_datasets as tsds import pyaf.tests.artificial.process_artificial_dataset as art dataset = tsds.generate_random_TS(N=1024, FREQ='D', seed=0, trendtype="linear", cycle_length=12, transform="pow3", sigma=0.0, exog_count=0, ar_order=0) art.process_dataset(dataset)
import pandas as pd import numpy as np import pyaf.ForecastEngine as autof import pyaf.Bench.TS_datasets as tsds # get_ipython().magic('matplotlib inline') # %load_ext memory_profiler lValues = [ 64 ]; for cyc in lValues: print("TEST_CYCLES_START", cyc) b1 = tsds.generate_random_TS(N = 4800 , FREQ = 'D', seed = 0, trendtype = "linear", cycle_length = cyc, transform = "", sigma = 0.0, exog_count = 100); df = b1.mPastData # df.tail(10) # df[:-10].tail() # df[:-10:-1] # df.describe() lEngine = autof.cForecastEngine() lEngine.mOptions.mCycleLengths = [ k for k in range(2,128) ]; lEngine H = b1.mHorizon; lEngine.train(df , b1.mTimeVar , b1.mSignalVar, H); lEngine.getModelInfo(); lEngine.mSignalDecomposition.mBestModel.mTimeInfo.mResolution
dfapp_out.tail(2 * H) print("Forecast Columns ", dfapp_out.columns) Forecast_DF = dfapp_out[[ idataset.mTimeVar, lSignalVar, lSignalVar + '_Forecast' ]] print(Forecast_DF.info()) print("Forecasts\n", Forecast_DF.tail(H).values) print("\n\n<ModelInfo>") print(lEngine.to_json()) print("</ModelInfo>\n\n") print("\n\n<Forecast>") print(Forecast_DF.tail(2 * H).to_json(date_format='iso')) print("</Forecast>\n\n") with warnings.catch_warnings(): warnings.simplefilter("error") dataset = tsds.generate_random_TS(N=40, FREQ='D', seed=0, trendtype="linear", cycle_length=4, transform="exp", sigma=2.0, exog_count=0) process_dataset(dataset)