forked from mindspore/mindspore
505 lines
110 KiB
Python
505 lines
110 KiB
Python
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 40,
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"pycharm": {
|
|
"name": "#%% Informer stock prediction\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"from utils.tools import dotdict\n",
|
|
"from exp.exp_informer import Exp_Informer\n",
|
|
"import torch\n",
|
|
"import os\n",
|
|
"\n",
|
|
"# change your workspace path\n",
|
|
"path = 'E:\\PycharmSpace\\ForkProjects\\Time-Forecasting\\Informer2020-main'\n",
|
|
"os.chdir(path)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 41,
|
|
"outputs": [],
|
|
"source": [
|
|
"args = dotdict()\n",
|
|
"\n",
|
|
"args.model = 'informer' # model of experiment, options: [informer, informerstack, informerlight(TBD)]\n",
|
|
"args.data = 'custom' # data\n",
|
|
"args.root_path = './data/stock/' # root path of data file\n",
|
|
"args.data_path = 'SH000001.csv' # data file\n",
|
|
"args.features = 'MS' # forecasting task, options:[M, S, MS]; M:multivariate predict multivariate, S:univariate predict univariate, MS:multivariate predict univariate\n",
|
|
"args.target = 'Close' # target feature in S or MS task\n",
|
|
"args.freq = 'd' # freq for time features encoding, options:[s:secondly, t:minutely, h:hourly, d:daily, b:business days, w:weekly, m:monthly], you can also use more detailed freq like 15min or 3h\n",
|
|
"args.checkpoints = './checkpoints' # location of model checkpoints\n",
|
|
"\n",
|
|
"args.seq_len = 20 # input sequence length of Informer encoder\n",
|
|
"args.label_len = 10 # start token length of Informer decoder\n",
|
|
"args.pred_len = 5 # prediction sequence length\n",
|
|
"# Informer decoder input: concat[start token series(label_len), zero padding series(pred_len)]\n",
|
|
"\n",
|
|
"args.enc_in = 5 # encoder input size\n",
|
|
"args.dec_in = 5 # decoder input size\n",
|
|
"args.c_out = 1 # output size\n",
|
|
"args.factor = 5 # probsparse attn factor\n",
|
|
"args.padding = 0 # padding type\n",
|
|
"args.d_model = 256 # dimension of model\n",
|
|
"args.n_heads = 4 # num of heads\n",
|
|
"args.e_layers = 2 # num of encoder layers\n",
|
|
"args.d_layers = 1 # num of decoder layers\n",
|
|
"args.d_ff = 256 # dimension of fcn in model\n",
|
|
"args.dropout = 0.05 # dropout\n",
|
|
"args.attn = 'prob' # attention used in encoder, options:[prob, full]\n",
|
|
"args.embed = 'timeF' # time features encoding, options:[timeF, fixed, learned]\n",
|
|
"args.activation = 'gelu' # activation\n",
|
|
"args.distil = True # whether to use distilling in encoder\n",
|
|
"args.output_attention = False # whether to output attention in ecoder\n",
|
|
"\n",
|
|
"args.batch_size = 32\n",
|
|
"args.learning_rate = 0.0001\n",
|
|
"args.loss = 'mse'\n",
|
|
"args.lradj = 'type1'\n",
|
|
"args.use_amp = False # whether to use automatic mixed precision training\n",
|
|
"\n",
|
|
"args.num_workers = 0\n",
|
|
"args.train_epochs = 20\n",
|
|
"args.patience = 3\n",
|
|
"args.des = 'exp'\n",
|
|
"\n",
|
|
"# args.use_gpu = True if torch.cuda.is_available() else False\n",
|
|
"args.use_gpu = False\n",
|
|
"args.gpu = 0\n",
|
|
"\n",
|
|
"args.use_multi_gpu = False\n",
|
|
"args.devices = '0,1,2,3'"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 42,
|
|
"outputs": [],
|
|
"source": [
|
|
"args.use_gpu = True if torch.cuda.is_available() and args.use_gpu else False\n",
|
|
"\n",
|
|
"if args.use_gpu and args.use_multi_gpu:\n",
|
|
" args.devices = args.devices.replace(' ','')\n",
|
|
" device_ids = args.devices.split(',')\n",
|
|
" args.device_ids = [int(id_) for id_ in device_ids]\n",
|
|
" args.gpu = args.device_ids[0]\n",
|
|
"\n",
|
|
"args.detail_freq = args.freq\n",
|
|
"args.freq = args.freq[-1:]"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Args in experiment:\n",
|
|
"{'model': 'informer', 'data': 'custom', 'root_path': './data/stock/', 'data_path': 'SH000001.csv', 'features': 'MS', 'target': 'Close', 'freq': 'd', 'checkpoints': './checkpoints', 'seq_len': 20, 'label_len': 10, 'pred_len': 5, 'enc_in': 5, 'dec_in': 5, 'c_out': 1, 'factor': 5, 'padding': 0, 'd_model': 256, 'n_heads': 4, 'e_layers': 2, 'd_layers': 1, 'd_ff': 256, 'dropout': 0.05, 'attn': 'prob', 'embed': 'timeF', 'activation': 'gelu', 'distil': True, 'output_attention': False, 'batch_size': 32, 'learning_rate': 0.0001, 'loss': 'mse', 'lradj': 'type1', 'use_amp': False, 'num_workers': 0, 'train_epochs': 20, 'patience': 3, 'des': 'exp', 'use_gpu': False, 'gpu': 0, 'use_multi_gpu': False, 'devices': '0,1,2,3', 'detail_freq': 'd'}\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print('Args in experiment:')\n",
|
|
"print(args)"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% Args in experiment:\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"outputs": [],
|
|
"source": [
|
|
"Exp = Exp_Informer"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Use CPU\n",
|
|
">>>>>>>start training : informer_custom_ftMS_sl20_ll10_pl5_dm256_nh4_el2_dl1_df256_atprob_fc5_ebtimeF_dtTrue_exp>>>>>>>>>>>>>>>>>>>>>>>>>>\n",
|
|
"train 659\n",
|
|
"val 95\n",
|
|
"test 191\n",
|
|
"Epoch: 1 cost time: 1.8236503601074219\n",
|
|
"Epoch: 1, Steps: 20 | Train Loss: 0.4227553 Vali Loss: 0.0319062 Test Loss: 0.0245216\n",
|
|
"Validation loss decreased (inf --> 0.031906). Saving model ...\n",
|
|
"Updating learning rate to 0.0001\n",
|
|
"Epoch: 2 cost time: 1.803605556488037\n",
|
|
"Epoch: 2, Steps: 20 | Train Loss: 0.1243612 Vali Loss: 0.0671695 Test Loss: 0.0823020\n",
|
|
"EarlyStopping counter: 1 out of 3\n",
|
|
"Updating learning rate to 5e-05\n",
|
|
"Epoch: 3 cost time: 1.8560359477996826\n",
|
|
"Epoch: 3, Steps: 20 | Train Loss: 0.0910275 Vali Loss: 0.0242387 Test Loss: 0.0311569\n",
|
|
"Validation loss decreased (0.031906 --> 0.024239). Saving model ...\n",
|
|
"Updating learning rate to 2.5e-05\n",
|
|
"Epoch: 4 cost time: 2.1183347702026367\n",
|
|
"Epoch: 4, Steps: 20 | Train Loss: 0.0757393 Vali Loss: 0.0215489 Test Loss: 0.0264782\n",
|
|
"Validation loss decreased (0.024239 --> 0.021549). Saving model ...\n",
|
|
"Updating learning rate to 1.25e-05\n",
|
|
"Epoch: 5 cost time: 2.111354351043701\n",
|
|
"Epoch: 5, Steps: 20 | Train Loss: 0.0707515 Vali Loss: 0.0184724 Test Loss: 0.0211690\n",
|
|
"Validation loss decreased (0.021549 --> 0.018472). Saving model ...\n",
|
|
"Updating learning rate to 6.25e-06\n",
|
|
"Epoch: 6 cost time: 1.6446027755737305\n",
|
|
"Epoch: 6, Steps: 20 | Train Loss: 0.0712520 Vali Loss: 0.0198189 Test Loss: 0.0230161\n",
|
|
"EarlyStopping counter: 1 out of 3\n",
|
|
"Updating learning rate to 3.125e-06\n",
|
|
"Epoch: 7 cost time: 1.7283775806427002\n",
|
|
"Epoch: 7, Steps: 20 | Train Loss: 0.0701941 Vali Loss: 0.0202722 Test Loss: 0.0219292\n",
|
|
"EarlyStopping counter: 2 out of 3\n",
|
|
"Updating learning rate to 1.5625e-06\n",
|
|
"Epoch: 8 cost time: 1.8929383754730225\n",
|
|
"Epoch: 8, Steps: 20 | Train Loss: 0.0698262 Vali Loss: 0.0195256 Test Loss: 0.0222712\n",
|
|
"EarlyStopping counter: 3 out of 3\n",
|
|
"Early stopping\n",
|
|
">>>>>>>testing : informer_custom_ftMS_sl20_ll10_pl5_dm256_nh4_el2_dl1_df256_atprob_fc5_ebtimeF_dtTrue_exp<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n",
|
|
"test 191\n",
|
|
"test shape: (5, 32, 5, 1) (5, 32, 5, 1)\n",
|
|
"test shape: (160, 5, 1) (160, 5, 1)\n",
|
|
"mse:0.021161550655961037, mae:0.1239549070596695\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# setting record of experiments\n",
|
|
"setting = '{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_at{}_fc{}_eb{}_dt{}_{}'.format(args.model, args.data, args.features,\n",
|
|
" args.seq_len, args.label_len, args.pred_len,\n",
|
|
" args.d_model, args.n_heads, args.e_layers, args.d_layers, args.d_ff, args.attn, args.factor, args.embed, args.distil, args.des)\n",
|
|
"\n",
|
|
"# set experiments\n",
|
|
"exp = Exp(args)\n",
|
|
"\n",
|
|
"# train\n",
|
|
"print('>>>>>>>start training : {}>>>>>>>>>>>>>>>>>>>>>>>>>>'.format(setting))\n",
|
|
"exp.train(setting)\n",
|
|
"\n",
|
|
"# test\n",
|
|
"print('>>>>>>>testing : {}<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'.format(setting))\n",
|
|
"exp.test(setting)\n",
|
|
"\n",
|
|
"torch.cuda.empty_cache()\n",
|
|
"\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 46,
|
|
"outputs": [],
|
|
"source": [
|
|
"import os\n",
|
|
"\n",
|
|
"# set saved model path\n",
|
|
"setting = 'informer_custom_ftMS_sl20_ll10_pl5_dm256_nh4_el2_dl1_df256_atprob_fc5_ebtimeF_dtTrue_exp'"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 47,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Use CPU\n",
|
|
"pred 1\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"exp = Exp(args)\n",
|
|
"exp.predict(setting, True)"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 48,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(1, 5, 1)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# the prediction will be saved in ./results/{setting}/real_prediction.npy\n",
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"prediction = np.load('./results/'+setting+'/real_prediction.npy')\n",
|
|
"\n",
|
|
"print(prediction.shape)"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 49,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"plt.figure()\n",
|
|
"plt.plot(prediction[0,:,-1])\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 50,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "((160, 5, 1), (160, 5, 1))"
|
|
},
|
|
"execution_count": 50,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# When we finished exp.train(setting) and exp.test(setting), we will get a trained model and the results of test experiment\n",
|
|
"# The results of test experiment will be saved in ./results/{setting}/pred.npy (prediction of test dataset) and ./results/{setting}/true.npy (groundtruth of test dataset)\n",
|
|
"\n",
|
|
"preds = np.load('./results/'+setting+'/pred.npy')\n",
|
|
"trues = np.load('./results/'+setting+'/true.npy')\n",
|
|
"\n",
|
|
"# [samples, pred_len, dimensions]\n",
|
|
"preds.shape, trues.shape"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 55,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure()\n",
|
|
"plt.plot(trues[10,:,-1], label='GroundTruth')\n",
|
|
"plt.plot(preds[10,:,-1], label='Prediction')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 59,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure()\n",
|
|
"plt.plot(trues[20,:,-1], label='GroundTruth')\n",
|
|
"plt.plot(preds[20,:,-1], label='Prediction')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 58,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure()\n",
|
|
"plt.plot(trues[30,:,-1], label='GroundTruth')\n",
|
|
"plt.plot(preds[30,:,-1], label='Prediction')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 60,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure()\n",
|
|
"plt.plot(trues[:,0,-1].reshape(-1), label='GroundTruth')\n",
|
|
"plt.plot(preds[:,0,-1].reshape(-1), label='Prediction')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% show all\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"outputs": [],
|
|
"source": [],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"name": "py3.6",
|
|
"language": "python",
|
|
"display_name": "torch_learner"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 2
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython2",
|
|
"version": "2.7.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
} |