コード例 #1
0
ファイル: test_cycles_full_long.py プロジェクト: noirqs/pyaf
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
コード例 #2
0
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);
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
ファイル: test_const_signal.py プロジェクト: vfx01j/pyaf
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
コード例 #7
0
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)
コード例 #8
0
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()
コード例 #9
0
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)
コード例 #10
0
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);
コード例 #11
0
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())
コード例 #12
0
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)
コード例 #13
0
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
コード例 #14
0
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)
コード例 #15
0
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
コード例 #16
0
        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)