ICEEMDAN-Solar_power-forecast/ConvBigru_IRPE_Attention特定数...

956 lines
172 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from math import sqrt\n",
"from numpy import concatenate\n",
"from matplotlib import pyplot\n",
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.metrics import mean_squared_error\n",
"from tensorflow.keras import Sequential\n",
"\n",
"from tensorflow.keras.layers import Dense\n",
"from tensorflow.keras.layers import LSTM\n",
"from tensorflow.keras.layers import Dropout\n",
"from sklearn.model_selection import train_test_split\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"这段代码是一个函数 time_series_to_supervised它用于将时间序列数据转换为监督学习问题的数据集。下面是该函数的各个部分的含义\n",
"\n",
"data: 输入的时间序列数据可以是列表或2D NumPy数组。\n",
"n_in: 作为输入的滞后观察数即用多少个时间步的观察值作为输入。默认值为96表示使用前96个时间步的观察值作为输入。\n",
"n_out: 作为输出的观测数量即预测多少个时间步的观察值。默认值为1表示预测未来1个时间步的观察值。\n",
"dropnan: 布尔值表示是否删除具有NaN值的行。默认为True即删除具有NaN值的行。\n",
"函数首先检查输入数据的维度并初始化一些变量。然后它创建一个新的DataFrame对象 df 来存储输入数据,并保存原始的列名。接着,它创建了两个空列表 cols 和 names用于存储新的特征列和列名。\n",
"\n",
"接下来,函数开始构建特征列和对应的列名。首先,它将原始的观察序列添加到 cols 列表中,并将其列名添加到 names 列表中。然后,它依次将滞后的观察序列添加到 cols 列表中,并构建相应的列名,格式为 (原始列名)(t-滞后时间)。这样就创建了输入特征的部分。\n",
"\n",
"接着,函数开始构建输出特征的部分。它依次将未来的观察序列添加到 cols 列表中,并构建相应的列名,格式为 (原始列名)(t+未来时间)。\n",
"\n",
"最后函数将所有的特征列拼接在一起构成一个新的DataFrame对象 agg。如果 dropnan 参数为True则删除具有NaN值的行。最后函数返回处理后的数据集 agg。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def time_series_to_supervised(data, n_in=96, n_out=1,dropnan=True):\n",
" \"\"\"\n",
" :param data:作为列表或2D NumPy数组的观察序列。需要。\n",
" :param n_in:作为输入的滞后观察数X。值可以在[1..len数据]之间可选。默认为1。\n",
" :param n_out:作为输出的观测数量y。值可以在[0..len数据]之间。可选的。默认为1。\n",
" :param dropnan:Boolean是否删除具有NaN值的行。可选的。默认为True。\n",
" :return:\n",
" \"\"\"\n",
" n_vars = 1 if type(data) is list else data.shape[1]\n",
" df = pd.DataFrame(data)\n",
" origNames = df.columns\n",
" cols, names = list(), list()\n",
" cols.append(df.shift(0))\n",
" names += [('%s' % origNames[j]) for j in range(n_vars)]\n",
" n_in = max(0, n_in)\n",
" for i in range(n_in, 0, -1):\n",
" time = '(t-%d)' % i\n",
" cols.append(df.shift(i))\n",
" names += [('%s%s' % (origNames[j], time)) for j in range(n_vars)]\n",
" n_out = max(n_out, 0)\n",
" for i in range(1, n_out+1):\n",
" time = '(t+%d)' % i\n",
" cols.append(df.shift(-i))\n",
" names += [('%s%s' % (origNames[j], time)) for j in range(n_vars)]\n",
" agg = pd.concat(cols, axis=1)\n",
" agg.columns = names\n",
" if dropnan:\n",
" agg.dropna(inplace=True)\n",
" return agg"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Temp Humidity GHI DHI Rainfall Power\n",
"0 19.779453 40.025826 3.232706 1.690531 0.0 0.0\n",
"1 19.714937 39.605961 3.194991 1.576346 0.0 0.0\n",
"2 19.549330 39.608631 3.070866 1.576157 0.0 0.0\n",
"3 19.405870 39.680702 3.038623 1.482489 0.0 0.0\n",
"4 19.387363 39.319881 2.656474 1.134153 0.0 0.0\n",
"(104256, 6)\n"
]
}
],
"source": [
"# 加载数据\n",
"path1 = r\"D:\\project\\小论文1-基于ICEEMDAN分解的时序高维变化的短期光伏功率预测模型\\CEEMAN-PosConv1dbiLSTM-LSTM\\模型代码流程\\data6.csv\"#数据所在路径\n",
"#我的数据是excel表若是csv文件用pandas的read_csv()函数替换即可。\n",
"datas1 = pd.DataFrame(pd.read_csv(path1))\n",
"#我只取了data表里的第3、23、16、17、18、19、20、21、27列如果取全部列的话这一行可以去掉\n",
"# data1 = datas1.iloc[:,np.r_[3,23,16:22,27]]\n",
"data1=datas1.interpolate()\n",
"values1 = data1.values\n",
"print(data1.head())\n",
"print(data1.shape)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(104256, 6)\n"
]
}
],
"source": [
"# 使用MinMaxScaler进行归一化\n",
"scaler = MinMaxScaler(feature_range=(0, 1))\n",
"scaledData1 = scaler.fit_transform(data1)\n",
"print(scaledData1.shape)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0 1 2 3 4 5 0(t-96) \\\n",
"96 0.555631 0.349673 0.190042 0.040558 0.0 0.236302 0.490360 \n",
"97 0.564819 0.315350 0.211335 0.044613 0.0 0.258204 0.489088 \n",
"98 0.576854 0.288321 0.229657 0.047549 0.0 0.279860 0.485824 \n",
"99 0.581973 0.268243 0.247775 0.053347 0.0 0.301336 0.482997 \n",
"100 0.586026 0.264586 0.266058 0.057351 0.0 0.322851 0.482632 \n",
"\n",
" 1(t-96) 2(t-96) 3(t-96) ... 2(t-1) 3(t-1) 4(t-1) 5(t-1) \\\n",
"96 0.369105 0.002088 0.002013 ... 0.166009 0.036794 0.0 0.214129 \n",
"97 0.364859 0.002061 0.001839 ... 0.190042 0.040558 0.0 0.236302 \n",
"98 0.364886 0.001973 0.001839 ... 0.211335 0.044613 0.0 0.258204 \n",
"99 0.365615 0.001950 0.001697 ... 0.229657 0.047549 0.0 0.279860 \n",
"100 0.361965 0.001679 0.001167 ... 0.247775 0.053347 0.0 0.301336 \n",
"\n",
" 0(t+1) 1(t+1) 2(t+1) 3(t+1) 4(t+1) 5(t+1) \n",
"96 0.564819 0.315350 0.211335 0.044613 0.0 0.258204 \n",
"97 0.576854 0.288321 0.229657 0.047549 0.0 0.279860 \n",
"98 0.581973 0.268243 0.247775 0.053347 0.0 0.301336 \n",
"99 0.586026 0.264586 0.266058 0.057351 0.0 0.322851 \n",
"100 0.590772 0.258790 0.282900 0.060958 0.0 0.343360 \n",
"\n",
"[5 rows x 588 columns]\n"
]
}
],
"source": [
"n_steps_in =96 #历史时间长度\n",
"n_steps_out=1#预测时间长度\n",
"processedData1 = time_series_to_supervised(scaledData1,n_steps_in,n_steps_out)\n",
"print(processedData1.head())"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"data_x = processedData1.loc[:,'0(t-96)':'5(t-1)']#去除power剩下的做标签列\n",
"data_y = processedData1.loc[:,'5']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"冒号\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(104159, 576)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_x.shape"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"96 0.236302\n",
"97 0.258204\n",
"98 0.279860\n",
"99 0.301336\n",
"100 0.322851\n",
" ... \n",
"104250 0.000000\n",
"104251 0.000000\n",
"104252 0.000000\n",
"104253 0.000000\n",
"104254 0.000000\n",
"Name: 5, Length: 104159, dtype: float64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_y"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(104159,)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_y.shape"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(93743, 96, 6) (93743,) (8854, 96, 6) (8854,) (1562, 96, 6) (1562,)\n"
]
}
],
"source": [
"# 计算训练集、验证集和测试集的大小\n",
"train_size = int(len(data_x) * 0.90)\n",
"test_size = int(len(data_x) * 0.015)\n",
"val_size = len(data_x) - train_size - test_size\n",
"\n",
"# 计算训练集、验证集和测试集的索引范围\n",
"train_indices = range(train_size)\n",
"val_indices = range(train_size, train_size + val_size)\n",
"test_indices = range(train_size + val_size, len(data_x))\n",
"\n",
"# 根据索引范围划分数据集\n",
"train_X1 = data_x.iloc[train_indices].values.reshape((-1, n_steps_in, scaledData1.shape[1]))\n",
"val_X1 = data_x.iloc[val_indices].values.reshape((-1, n_steps_in, scaledData1.shape[1]))\n",
"test_X1 = data_x.iloc[test_indices].values.reshape((-1, n_steps_in, scaledData1.shape[1]))\n",
"train_y = data_y.iloc[train_indices].values\n",
"val_y = data_y.iloc[val_indices].values\n",
"test_y = data_y.iloc[test_indices].values\n",
"\n",
"# reshape input to be 3D [samples, timesteps, features]\n",
"train_X = train_X1.reshape((train_X1.shape[0], n_steps_in, scaledData1.shape[1]))\n",
"val_X = val_X1.reshape((val_X1.shape[0], n_steps_in, scaledData1.shape[1]))\n",
"test_X = test_X1.reshape((test_X1.shape[0], n_steps_in, scaledData1.shape[1]))\n",
"\n",
"print(train_X.shape, train_y.shape, val_X.shape, val_y.shape, test_X.shape, test_y.shape)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(93743, 96, 6)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_X1.shape"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"functional_4\"</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[1mModel: \"functional_4\"\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃<span style=\"font-weight: bold\"> Layer (type) </span>┃<span style=\"font-weight: bold\"> Output Shape </span>┃<span style=\"font-weight: bold\"> Param # </span>┃<span style=\"font-weight: bold\"> Connected to </span>┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">96</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">6</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │ - │\n",
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">InputLayer</span>) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv1d_4 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv1D</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">95</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">832</span> │ input_layer_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>]… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ max_pooling1d_4 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">95</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │ conv1d_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>][<span style=\"color: #00af00; text-decoration-color: #00af00\">0</span>] │\n",
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">MaxPooling1D</span>) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ bidirectional_4 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">95</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">49,920</span> │ max_pooling1d_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Bidirectional</span>) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ attention_with_imp… │ [(<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, │ <span style=\"color: #00af00; text-decoration-color: #00af00\">66,304</span> │ bidirectional_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">AttentionWithImpr…</span> │ <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>), (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">8</span>, │ │ bidirectional_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
"│ │ <span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>)] │ │ bidirectional_4[<span style=\"color: #00af00; text-decoration-color: #00af00\">…</span> │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_average_poo… │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │ attention_with_i… │\n",
"│ (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">GlobalAveragePool…</span> │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_24 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">129</span> │ global_average_p… │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n",
"</pre>\n"
],
"text/plain": [
"┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓\n",
"┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mConnected to \u001b[0m\u001b[1m \u001b[0m┃\n",
"┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩\n",
"│ input_layer_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m96\u001b[0m, \u001b[38;5;34m6\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ - │\n",
"│ (\u001b[38;5;33mInputLayer\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ conv1d_4 (\u001b[38;5;33mConv1D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m95\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m832\u001b[0m │ input_layer_4[\u001b[38;5;34m0\u001b[0m]… │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ max_pooling1d_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m95\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ conv1d_4[\u001b[38;5;34m0\u001b[0m][\u001b[38;5;34m0\u001b[0m] │\n",
"│ (\u001b[38;5;33mMaxPooling1D\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ bidirectional_4 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m95\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m49,920\u001b[0m │ max_pooling1d_4[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mBidirectional\u001b[0m) │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ attention_with_imp… │ [(\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;45mNone\u001b[0m, │ \u001b[38;5;34m66,304\u001b[0m │ bidirectional_4[\u001b[38;5;34m…\u001b[0m │\n",
"│ (\u001b[38;5;33mAttentionWithImpr…\u001b[0m │ \u001b[38;5;34m128\u001b[0m), (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m8\u001b[0m, │ │ bidirectional_4[\u001b[38;5;34m…\u001b[0m │\n",
"│ │ \u001b[38;5;45mNone\u001b[0m, \u001b[38;5;45mNone\u001b[0m)] │ │ bidirectional_4[\u001b[38;5;34m…\u001b[0m │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ global_average_poo… │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │ attention_with_i… │\n",
"│ (\u001b[38;5;33mGlobalAveragePool…\u001b[0m │ │ │ │\n",
"├─────────────────────┼───────────────────┼────────────┼───────────────────┤\n",
"│ dense_24 (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1\u001b[0m) │ \u001b[38;5;34m129\u001b[0m │ global_average_p… │\n",
"└─────────────────────┴───────────────────┴────────────┴───────────────────┘\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">117,185</span> (457.75 KB)\n",
"</pre>\n"
],
"text/plain": [
"\u001b[1m Total params: \u001b[0m\u001b[38;5;34m117,185\u001b[0m (457.75 KB)\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">117,185</span> (457.75 KB)\n",
"</pre>\n"
],
"text/plain": [
"\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m117,185\u001b[0m (457.75 KB)\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
"</pre>\n"
],
"text/plain": [
"\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import tensorflow as tf\n",
"from tensorflow.keras.layers import Input, Conv1D, Bidirectional, GlobalAveragePooling1D, Dense, GRU, MaxPooling1D\n",
"from tensorflow.keras.models import Model\n",
"from tensorflow.keras.initializers import RandomUniform\n",
"class AttentionWithImproveRelativePositionEncoding(tf.keras.layers.Layer):\n",
" def __init__(self, d_model, num_heads, max_len=5000):\n",
" super(AttentionWithImproveRelativePositionEncoding, self).__init__()\n",
" self.num_heads = num_heads\n",
" self.d_model = d_model\n",
" self.max_len = max_len\n",
" self.wq = tf.keras.layers.Dense(d_model)\n",
" self.wk = tf.keras.layers.Dense(d_model)\n",
" self.wv = tf.keras.layers.Dense(d_model)\n",
" self.dense = tf.keras.layers.Dense(d_model)\n",
" self.position_encoding = ImproveRelativePositionEncoding(d_model)\n",
"\n",
" def call(self, v, k, q, mask):\n",
" batch_size = tf.shape(q)[0]\n",
" q = self.wq(q)\n",
" k = self.wk(k)\n",
" v = self.wv(v)\n",
"\n",
" # 添加位置编码\n",
" k += self.position_encoding (k)\n",
" q += self.position_encoding (q)\n",
"\n",
" q = self.split_heads(q, batch_size)\n",
" k = self.split_heads(k, batch_size)\n",
" v = self.split_heads(v, batch_size)\n",
"\n",
" scaled_attention, attention_weights = self.scaled_dot_product_attention(q, k, v, mask)\n",
" scaled_attention = tf.transpose(scaled_attention, perm=[0, 2, 1, 3])\n",
" concat_attention = tf.reshape(scaled_attention, (batch_size, -1, self.d_model))\n",
" output = self.dense(concat_attention)\n",
" return output, attention_weights\n",
"\n",
" def split_heads(self, x, batch_size):\n",
" x = tf.reshape(x, (batch_size, -1, self.num_heads, self.d_model // self.num_heads))\n",
" return tf.transpose(x, perm=[0, 2, 1, 3])\n",
"\n",
" def scaled_dot_product_attention(self, q, k, v, mask):\n",
" matmul_qk = tf.matmul(q, k, transpose_b=True)\n",
" dk = tf.cast(tf.shape(k)[-1], tf.float32)\n",
" scaled_attention_logits = matmul_qk / tf.math.sqrt(dk)\n",
"\n",
" if mask is not None:\n",
" scaled_attention_logits += (mask * -1e9)\n",
"\n",
" attention_weights = tf.nn.softmax(scaled_attention_logits, axis=-1)\n",
" output = tf.matmul(attention_weights, v)\n",
" return output, attention_weights\n",
"\n",
"class ImproveRelativePositionEncoding(tf.keras.layers.Layer):\n",
" def __init__(self, d_model, max_len=5000):\n",
" super(ImproveRelativePositionEncoding, self).__init__()\n",
" self.max_len = max_len\n",
" self.d_model = d_model\n",
" # 引入可变化的参数u和v进行线性变化\n",
" self.u = self.add_weight(shape=(self.d_model,),\n",
" initializer=RandomUniform(),\n",
" trainable=True)\n",
" self.v = self.add_weight(shape=(self.d_model,),\n",
" initializer=RandomUniform(),\n",
" trainable=True)\n",
" def call(self, inputs):\n",
" seq_length = inputs.shape[1]\n",
" pos_encoding = self.relative_positional_encoding(seq_length, self.d_model)\n",
" \n",
" # 调整原始的相对位置编码公式将u和v参数融入其中\n",
" pe_with_params = pos_encoding * self.u+ pos_encoding * self.v\n",
" return inputs + pe_with_params\n",
"\n",
" def relative_positional_encoding(self, position, d_model):\n",
" pos = tf.range(position, dtype=tf.float32)\n",
" i = tf.range(d_model, dtype=tf.float32)\n",
" \n",
" angles = 1 / tf.pow(10000.0, (2 * (i // 2)) / tf.cast(d_model, tf.float32))\n",
" angle_rads = tf.einsum('i,j->ij', pos, angles)\n",
" #保留了sinous机制\n",
" # Apply sin to even indices; 2i\n",
" angle_rads_sin = tf.sin(angle_rads[:, 0::2])\n",
" # Apply cos to odd indices; 2i+1\n",
" angle_rads_cos = tf.cos(angle_rads[:, 1::2])\n",
"\n",
" pos_encoding = tf.stack([angle_rads_sin, angle_rads_cos], axis=2)\n",
" pos_encoding = tf.reshape(pos_encoding, [1, position, d_model])\n",
"\n",
" return pos_encoding\n",
"\n",
"\n",
"\n",
"def PosConv1biGRUWithSelfAttention(input_shape, gru_units, num_heads):\n",
" inputs = Input(shape=input_shape)\n",
" # CNN layer\n",
" cnn_layer = Conv1D(filters=64, kernel_size=2, activation='relu')(inputs)\n",
" cnn_layer = MaxPooling1D(pool_size=1)(cnn_layer)\n",
" gru_output = Bidirectional(GRU(gru_units, return_sequences=True))(cnn_layer)\n",
" \n",
" # Apply Self-Attention\n",
" self_attention =AttentionWithImproveRelativePositionEncoding(d_model=gru_units*2, num_heads=num_heads)\n",
" gru_output, _ = self_attention(gru_output, gru_output, gru_output, mask=None)\n",
" \n",
" pool1 = GlobalAveragePooling1D()(gru_output)\n",
" output = Dense(1)(pool1)\n",
" \n",
" return Model(inputs=inputs, outputs=output)\n",
"\n",
"\n",
"input_shape = (96, 6)\n",
"gru_units = 64\n",
"num_heads = 8\n",
"\n",
"# Create model\n",
"model = PosConv1biGRUWithSelfAttention(input_shape, gru_units, num_heads)\n",
"model.compile(optimizer='adam', loss='mse')\n",
"model.summary()\n"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m106s\u001b[0m 71ms/step - loss: 0.0198 - val_loss: 0.0016\n",
"Epoch 2/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0016 - val_loss: 0.0015\n",
"Epoch 3/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m108s\u001b[0m 74ms/step - loss: 0.0015 - val_loss: 0.0015\n",
"Epoch 4/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0015 - val_loss: 0.0014\n",
"Epoch 5/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m106s\u001b[0m 73ms/step - loss: 0.0014 - val_loss: 0.0016\n",
"Epoch 6/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m105s\u001b[0m 71ms/step - loss: 0.0014 - val_loss: 0.0015\n",
"Epoch 7/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m104s\u001b[0m 71ms/step - loss: 0.0014 - val_loss: 0.0014\n",
"Epoch 8/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0013 - val_loss: 0.0014\n",
"Epoch 9/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0013 - val_loss: 0.0014\n",
"Epoch 10/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m106s\u001b[0m 72ms/step - loss: 0.0013 - val_loss: 0.0015\n",
"Epoch 11/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m105s\u001b[0m 71ms/step - loss: 0.0013 - val_loss: 0.0014\n",
"Epoch 12/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m105s\u001b[0m 72ms/step - loss: 0.0013 - val_loss: 0.0015\n",
"Epoch 13/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0013 - val_loss: 0.0014\n",
"Epoch 14/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m108s\u001b[0m 74ms/step - loss: 0.0012 - val_loss: 0.0014\n",
"Epoch 15/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m107s\u001b[0m 73ms/step - loss: 0.0013 - val_loss: 0.0014\n",
"Epoch 16/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m104s\u001b[0m 71ms/step - loss: 0.0013 - val_loss: 0.0013\n",
"Epoch 17/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m105s\u001b[0m 72ms/step - loss: 0.0013 - val_loss: 0.0013\n",
"Epoch 18/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m105s\u001b[0m 72ms/step - loss: 0.0012 - val_loss: 0.0014\n",
"Epoch 19/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 69ms/step - loss: 0.0012 - val_loss: 0.0013\n",
"Epoch 20/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 70ms/step - loss: 0.0012 - val_loss: 0.0014\n",
"Epoch 21/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m103s\u001b[0m 70ms/step - loss: 0.0012 - val_loss: 0.0014\n",
"Epoch 22/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 70ms/step - loss: 0.0011 - val_loss: 0.0014\n",
"Epoch 23/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 69ms/step - loss: 0.0012 - val_loss: 0.0018\n",
"Epoch 24/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m101s\u001b[0m 69ms/step - loss: 0.0012 - val_loss: 0.0014\n",
"Epoch 25/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 70ms/step - loss: 0.0011 - val_loss: 0.0014\n",
"Epoch 26/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m102s\u001b[0m 70ms/step - loss: 0.0012 - val_loss: 0.0015\n",
"Epoch 27/100\n",
"\u001b[1m1465/1465\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m97s\u001b[0m 66ms/step - loss: 0.0012 - val_loss: 0.0015\n"
]
}
],
"source": [
"# Compile and train the model\n",
"model.compile(optimizer='adam', loss='mean_squared_error')\n",
"from keras.callbacks import EarlyStopping, ModelCheckpoint\n",
"\n",
"# 定义早停机制\n",
"early_stopping = EarlyStopping(monitor='val_loss', min_delta=0, patience=10, verbose=0, mode='min')\n",
"\n",
"# 拟合模型,并添加早停机制和模型检查点\n",
"history = model.fit(train_X, train_y, epochs=100, batch_size=64, validation_data=(val_X, val_y), \n",
" callbacks=[early_stopping])\n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[1m49/49\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 16ms/step\n"
]
}
],
"source": [
"# 预测\n",
"lstm_pred = model.predict(test_X)\n",
"# 将预测结果的形状修改为与原始数据相同的形状\n"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
"test_y_pre=test_y"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(history.history['loss'], label='train')\n",
"plt.plot(history.history['val_loss'], label='test')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1562, 1)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm_pred.shape"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1562,)"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_y_pre.shape"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"test_y_pre1=test_y_pre.reshape(1562,1)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.90540195],\n",
" [0.90466702],\n",
" [0.89696645],\n",
" ...,\n",
" [0. ],\n",
" [0. ],\n",
" [0. ]])"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_y_pre1"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [],
"source": [
"results1 = np.broadcast_to(lstm_pred, (1562, 6))"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [],
"source": [
"test_y2 = np.broadcast_to(test_y_pre1, (1562, 6))"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [],
"source": [
"# 反归一化\n",
"inv_forecast_y = scaler.inverse_transform(results1)\n",
"inv_test_y = scaler.inverse_transform(test_y2)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 4.08374339e+01, 9.30529669e+01, 1.27546074e+03,\n",
" 5.95908965e+02, 2.15485743e+01, 4.67959929e+00],\n",
" [ 4.08001461e+01, 9.29803001e+01, 1.27442567e+03,\n",
" 5.95425556e+02, 2.15310831e+01, 4.67580080e+00],\n",
" [ 4.04094426e+01, 9.22188951e+01, 1.26358018e+03,\n",
" 5.90360385e+02, 2.13478095e+01, 4.63600016e+00],\n",
" ...,\n",
" [-5.09990072e+00, 3.53003502e+00, 2.91584611e-01,\n",
" 3.66558254e-01, 0.00000000e+00, 0.00000000e+00],\n",
" [-5.09990072e+00, 3.53003502e+00, 2.91584611e-01,\n",
" 3.66558254e-01, 0.00000000e+00, 0.00000000e+00],\n",
" [-5.09990072e+00, 3.53003502e+00, 2.91584611e-01,\n",
" 3.66558254e-01, 0.00000000e+00, 0.00000000e+00]])"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"inv_test_y"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test RMSE: 0.063\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABP4AAAKTCAYAAACJusZ+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5xseV3n/9e3clVX6nhznDt5mGFmSEMcBxBEBcT8Q5E1u6CyigF32V1BHddlUXSVRdffD1ERFl3XXVlEUKLAAAPDDJPv3Bw6V87h/P74nuruOzd3V9Wp8H4+HvO4t/p2d30u3NPnnM/5BOM4joOIiIiIiIiIiIiMFJ/XAYiIiIiIiIiIiEj3KfEnIiIiIiIiIiIygpT4ExERERERERERGUFK/ImIiIiIiIiIiIwgJf5ERERERERERERGkBJ/IiIiIiIiIiIiI0iJPxERERERERERkREU6Pcbttttzpw5QyKRwBjT77cXEREREREREREZao7jUCgU2LlzJz7fxev6+p74O3PmDHv27On324qIiIiIiIiIiIyUkydPsnv37ov+ed8Tf4lEArCBJZPJfr+9iIiIiIiIiIjIUMvn8+zZs2ctz3YxfU/8ddp7k8mkEn8iIiIiIiIiIiKbdLkxelruISIiIiIiIiIiMoKU+BMRERERERERERlBSvyJiIiIiIiIiIiMoL7P+BMRERERERERkfHTarVoNBpehzEUgsEgfr9/y99HiT8REREREREREekZx3GYn58nm816HcpQSafTbN++/bILPC7lqhJ///E//kd+/dd//ZyPXX/99Tz22GObDkBEREREREREREZXJ+k3NzdHLBbbUiJrHDiOQ7lcZnFxEYAdO3Zs+ntddcXfzTffzCc/+cn1bxBQ0aCIiIiIiIiIiJyv1WqtJf2mp6e9DmdoRKNRABYXF5mbm9t02+9VZ+0CgQDbt2/f1JuJiIiIiIiIiMj46Mz0i8ViHkcyfDr/mzUajU0n/q56q++TTz7Jzp07OXjwIK9//es5ceLEJT+/VquRz+fP+U9ERERERERERMaH2nuvXjf+N7uqxN9zn/tc3v/+9/MP//APvPe97+Xo0aO86EUvolAoXPRr7r33XlKp1Np/e/bs2XLQIiIiIiIiIiIicmnGcRxns1+czWbZt28f7373u/mxH/uxC35OrVajVqutvc7n8+zZs4dcLkcymdzsW4uIiIiIiIiIyICrVqscPXqUAwcOEIlEvA5nqFzqf7t8Pk8qlbpsfm1LmznS6TTXXXcdhw8fvujnhMNhwuHwVt5GRERERERERERErtJVz/jbqFgs8tRTT21prbCIiIiIiIiIiMigufvuu3nLW97idRhbclWJv7e+9a185jOf4dixY3zhC1/gu77ru/D7/fzgD/5gr+ITEREREREREREZOI7j0Gw2vQ7jkq4q8Xfq1Cl+8Ad/kOuvv57v+77vY3p6mi996UvMzs72Kj4RERERERERERkhjuNQrjf7/t/VrLl44xvfyGc+8xne8573YIzBGMP73/9+jDF87GMf48477yQcDvP5z3+eN77xjbz2ta895+vf8pa3cPfdd6+9brfb3HvvvRw4cIBoNMptt93GX//1X3fpf9GLu6oZfx/60Id6FYeIiIiIiIiIiIyBSqPFTf/+431/30fe8QpioStLhb3nPe/hiSee4JZbbuEd73gHAA8//DAAv/qrv8q73vUuDh48yOTk5BV9v3vvvZe/+Iu/4L/9t//Gtddey2c/+1l+6Id+iNnZWV7ykpds7i90Bba03ENERERERERERGTUpFIpQqEQsViM7du3A/DYY48B8I53vIOXv/zlV/y9arUav/Vbv8UnP/lJ7rrrLgAOHjzI5z//ed73vvcp8SciIiIiIiIiIqMhGvTzyDte4cn7dsOznvWsq/r8w4cPUy6Xz0sW1ut1br/99q7EdDFK/ImIiIiIiIiISN8YY6645XYQTUxMnPPa5/OdNz+w0Wis/b5YLALw0Y9+lF27dp3zeeFwuEdRWsP7v7KIiIiIiIiIiEiPhEIhWq3WZT9vdnaWb37zm+d87IEHHiAYDAJw0003EQ6HOXHiRE/bei9EiT8REREREREREZGn2b9/P/fddx/Hjh0jHo/Tbrcv+Hn33HMP//k//2c+8IEPcNddd/EXf/EXfPOb31xr400kErz1rW/l3/ybf0O73eaFL3whuVyOf/mXfyGZTPIjP/IjPfs7+Hr2nUVERERERERERIbUW9/6Vvx+PzfddBOzs7OcOHHigp/3ile8gre//e388i//Ms9+9rMpFAq84Q1vOOdz3vnOd/L2t7+de++9lxtvvJFXvvKVfPSjH+XAgQM9/TsY5+lNyD2Wz+dJpVLkcjmSyWQ/31pERERERERE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REREZCAGf0RERERERERERAZi8EdERERERERERGQgBn9EREREREREREQGYvBHRERERERERERkIAZ/REREREREREREBmLwR0REREREREREZCAGf0RERERERERERAZi8EdERERERERERGQgBn9EREREREREREQGYvBHRERERERERERkIAZ/REREREREREREBmLwR0REREREREREZCAGf0RERERERERERAZi8EdERERERERERGQgBn9EREREREREREQGYvBHRERERERERERkIAZ/REREREREREREBmLwR0REREREREREZCAGf0RERERERERERAZi8EdERERERERERGQgBn9EREREREREREQGYvBHRERERERERERkIAZ/REREREREREREBnIW/RtKKQEAvV5v0b81ERERERERERHR0itztTJn28rCg79+vw8AuPDCCxf9WxMRERERERERERmj3+9jdXV1y68LuVM0OGNFUeCBBx5At9uFEGKRv/VC9Ho9XHjhhbjvvvuwsrJS9XBoyfD1Q/vF1xDtB18/tF98DdF+8PVD+8XXEO0HXz+0H1W8fqSU6Pf7OO+882BZW3fyW3jFn2VZuOCCCxb92y7cysoK3yxoz/j6of3ia4j2g68f2i++hmg/+Pqh/eJriPaDrx/aj0W/frar9CvxcA8iIiIiIiIiIiIDMfgjIiIiIiIiIiIyEIO/GfN9H7/6q78K3/erHgotIb5+aL/4GqL94OuH9ouvIdoPvn5ov/gaov3g64f24yC/fhZ+uAcRERERERERERHNHyv+iIiIiIiIiIiIDMTgj4iIiIiIiIiIyEAM/oiIiIiIiIiIiAzE4I+IiIiIiIiIiMhADP6IiIiIiIiIiIgMxOBvht7znvfg4osvRqPRwOWXX44vfelLVQ+JDoCrrroKz33uc9HtdnHs2DH8yI/8CG6//fZN3xNFEa688kocOXIEnU4HP/qjP4qHHnpo0/fce++9eOUrX4lWq4Vjx47hLW95C7IsW+QfhQ6Ad7zjHRBC4I1vfOPoc3z90E7uv/9+/MRP/ASOHDmCZrOJZzzjGfinf/qn0dellPiVX/kVnHvuuWg2m3jpS1+KO+64Y9P/4+TJk3jd616HlZUVrK2t4ad/+qcxGAwW/UehBcvzHG9/+9txySWXoNls4glPeAL+43/8j5BSjr6Hrx+adO211+JV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",
"text/plain": [
"<Figure size 1600x800 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 计算均方根误差\n",
"rmse = sqrt(mean_squared_error(inv_test_y[:,5], inv_forecast_y[:,5]))\n",
"print('Test RMSE: %.3f' % rmse)\n",
"#画图\n",
"plt.figure(figsize=(16,8))\n",
"plt.plot(inv_test_y[:,5], label='true')\n",
"plt.plot(inv_forecast_y[:,5], label='pre')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"mean_squared_error: 0.00014629570256978046\n",
"mean_absolute_error: 0.008445659571024366\n",
"rmse: 0.01209527604355438\n",
"r2 score: 0.9988370101682903\n"
]
}
],
"source": [
"from sklearn.metrics import mean_squared_error, mean_absolute_error # 评价指标\n",
"# 使用sklearn调用衡量线性回归的MSE 、 RMSE、 MAE、r2\n",
"from math import sqrt\n",
"from sklearn.metrics import mean_absolute_error\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.metrics import r2_score\n",
"print('mean_squared_error:', mean_squared_error(lstm_pred, test_y_pre)) # mse)\n",
"print(\"mean_absolute_error:\", mean_absolute_error(lstm_pred, test_y_pre)) # mae\n",
"print(\"rmse:\", sqrt(mean_squared_error(lstm_pred,test_y_pre)))\n",
"#r2对比区域\n",
"print(\"r2 score:\", r2_score(inv_test_y[:], inv_forecast_y[:]))#预测50天数据"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [],
"source": [
"df1 = pd.DataFrame(inv_test_y[:,5], columns=['column_name'])"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"# 指定文件路径和文件名保存DataFrame到CSV文件中\n",
"df1.to_csv('test.csv', index=False)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
"df2 = pd.DataFrame(inv_forecast_y[:], columns=['column_name'])"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"# 指定文件路径和文件名保存DataFrame到CSV文件中\n",
"df2.to_csv('forecast.csv', index=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}