766 lines
631 KiB
Plaintext
766 lines
631 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "5bcd2239",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# 将原始数据的时区进行修改并保存"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 18,
|
|||
|
"id": "e748c456",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"'\\n修改时区的数据集,可以作为测试集使用\\n'"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 18,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"\"\"\"\n",
|
|||
|
"修改时区的数据集,可以作为测试集使用\n",
|
|||
|
"\"\"\""
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 4,
|
|||
|
"id": "de443c1c",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import numpy as np\n",
|
|||
|
"import pandas as pd\n",
|
|||
|
"data = pd.read_csv('./datasets/station08.csv')\n",
|
|||
|
"data['date_time'] = pd.to_datetime(data['date_time'])\n",
|
|||
|
"data['date_time'] = data['date_time'] + pd.Timedelta(hours=8)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 17,
|
|||
|
"id": "e643a462",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"data.to_csv('./datasets/station08_utf8.csv',index=False)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "ea36d529",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# 验证预测结果与真实结果的差别"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 65,
|
|||
|
"id": "f8ad23ae",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"'\\n找到测试集中,排名前十的好结果\\n\\n'"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 65,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"\"\"\"\n",
|
|||
|
"找到测试集中,排名前十的好结果\n",
|
|||
|
"\"\"\""
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 28,
|
|||
|
"id": "87c09ab0",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import os\n",
|
|||
|
"data_path = '/home/xiazj/project_test/Crossformer-master/results/Crossformer_station08_il192_ol96_sl6_win2_fa10_dm256_nh4_el3_itr0'"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 29,
|
|||
|
"id": "219373d9",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"pred_data = np.load(os.path.join(data_path,'pred.npy'))"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 30,
|
|||
|
"id": "a4d53dd8",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"true_data = np.load(os.path.join(data_path,'true.npy'))"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 57,
|
|||
|
"id": "8362e0c3",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"mse_list= []\n",
|
|||
|
"for i in range(len(pred_data)):\n",
|
|||
|
" pred_data_ = np.array(pred_data[i,:,-1:]).reshape(96)\n",
|
|||
|
" true_data_ = np.array(true_data[i,:,-1:]).reshape(96)\n",
|
|||
|
" pred_data_ = np.clip(pred_data_, 0, None)\n",
|
|||
|
" mse = np.mean((pred_data_ - true_data_) ** 2)\n",
|
|||
|
" mse_list.append(mse)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 75,
|
|||
|
"id": "107e463a",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"# 最大\n",
|
|||
|
"top_10_indices = np.argpartition(mse_list, 10)[:10]\n",
|
|||
|
"# 最小\n",
|
|||
|
"# top_10_indices = np.argpartition(mse_list, -10)[-10:]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 104,
|
|||
|
"id": "ba9faa8f",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"(6529, 96, 14)"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 104,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"true_data.shape"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 76,
|
|||
|
"id": "19c1da5f",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"array([4717, 4703, 4735, 4702, 4701, 4740, 4736, 4712, 4711, 4716])"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 76,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"top_10_indices"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 77,
|
|||
|
"id": "a1ef5195",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import matplotlib.pyplot as plt"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 78,
|
|||
|
"id": "3903716a",
|
|||
|
"metadata": {
|
|||
|
"scrolled": false
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4701\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4702\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4703\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHHCAYAAAC7soLdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACUx0lEQVR4nOzdd3gUZdfA4d/uZrPpCSEdAiTUhN6bNOkiRVBUUIqI/VWsr+VVwYaoKBYEG6AiIiogn0gJIL2X0HsLLQkJpLfN7nx/TLIQkkBCymySc19XruzOzM6cfTI7OfvMU3SKoigIIYQQQlRieq0DEEIIIYQoa5LwCCGEEKLSk4RHCCGEEJWeJDxCCCGEqPQk4RFCCCFEpScJjxBCCCEqPUl4hBBCCFHpScIjhBBCiEpPEh4hhBBCVHqS8AgbnU7HxIkTtQ6jxH7++WcaNWqE0WjEy8tL63Bu6sYynzNnDjqdjjNnzmgW043s7bwYM2YMderU0ToMu1SnTh3GjBmjdRiFWr58OS1atMDJyQmdTkdCQoLWIZW6OnXqcPfdd2sdhiiAJDzXOXnyJI8//jihoaE4OTnh4eFB586d+fzzz0lPT9c6PFEER44cYcyYMdStW5fvvvuOb7/9ttBtJ06ciE6ns/24uLgQHh7O//73P5KSksox6pKbN28e06ZN0zoMu5CbNN7qR8uk6dNPP0Wn07Fq1apCt/nuu+/Q6XQsWbKkHCMrO/Hx8QwfPhxnZ2emT5/Ozz//jKura5kd71bnwdatW8vs2CVRWLwBAQFlcry0tDQmTpzI2rVry2T/9sRB6wDsxdKlS7nvvvswmUyMGjWKJk2akJWVxcaNG3n55Zc5ePDgTf95Vgbp6ek4OFTsU2Lt2rVYrVY+//xz6tWrV6TXzJgxAzc3N1JSUli5ciXvv/8+a9asYdOmTeh0ujKOOK+HH36YBx54AJPJVKzXzZs3jwMHDjBhwoSyCawC6dq1Kz///HOeZY8++ijt2rXjsccesy1zc3Mr79BsHnjgAV5++WXmzZtHr169Ctxm3rx5VK9enf79+5dzdGVjx44dJCcn8+677xb6nsvCO++8Q0hISL7lRb0+aKF3796MGjUqzzJnZ+cyOVZaWhqTJk0CoHv37mVyDHtRsf+7lZLTp0/zwAMPULt2bdasWUNgYKBt3dNPP82JEydYunSphhGWHavVSlZWFk5OTjg5OWkdTonFxsYCFOtW1r333ouPjw8ATzzxBMOGDWPhwoVs3bqVjh07FviatLQ0XFxcShzvjQwGAwaDodT3W5WEhoYSGhqaZ9kTTzxBaGgoDz30UKGvy87Oxmq14ujoWNYhEhQURI8ePVi4cCEzZszIl+BeuHCB9evX89hjj2E0Gss8nvJwO5/NW0lNTb1lLVH//v1p06ZNqR2zPDRo0OCm52pFUJ6fp6KSW1rARx99REpKCj/88EOeZCdXvXr1eO6552zPs7Ozeffdd6lbty4mk4k6derw+uuvk5mZmed1ufdy165dS5s2bXB2dqZp06a2qsOFCxfStGlTnJycaN26NXv27Mnz+jFjxuDm5sapU6fo27cvrq6uBAUF8c4773DjJPeffPIJnTp1onr16jg7O9O6dWv++OOPfO9Fp9PxzDPP8Msvv9C4cWNMJhPLly+3rbu+rUZycjITJkygTp06mEwm/Pz86N27N7t3786zz99//53WrVvj7OyMj48PDz30EBcuXCjwvVy4cIEhQ4bg5uaGr68vL730EhaLpZC/TF5ff/21LeagoCCefvrpPG0A6tSpw9tvvw2Ar6/vbbc9ufPOOwE1EQb1W0+TJk3YtWsXXbt2xcXFhddffx2AzMxM3n77berVq4fJZCI4OJhXXnkl37mQmZnJ888/j6+vL+7u7gwaNIjz58/nO3ZhbXiWLVtGt27dcHd3x8PDg7Zt2zJv3jxbfEuXLuXs2bMF3q4p7RgLkpWVxVtvvUXr1q3x9PTE1dWVLl268O+//+bZ7syZM+h0Oj755BO+/fZb22eobdu27NixI99+Fy9eTJMmTXBycqJJkyYsWrSoSPHcyvVxTJs2zRbHoUOHCv0brF27Fp1Ol6/qf9u2bfTr1w9PT09cXFzo1q0bmzZtumUMDz30EImJiQV+mZo/fz5Wq5WRI0cCRf983yj3tu2NbnaedenSBVdXV9zd3RkwYAAHDx7Ms010dDRjx46lZs2amEwmAgMDGTx48E3bnXXv3p3Ro0cD0LZtW3Q6XZ62RsW5hpw8eZK77roLd3d3W/mUVHHKd+7cubRr1w4XFxeqVatG165dWblyZb7tNm7cSLt27XByciI0NJSffvqpVGIFNSF+5JFH8Pf3x2Qy0bhxY2bNmpVnm6J8Js+cOYOvry8AkyZNsl0/cq+b3bt3L7DW58Z2dDf7PIHa1ODee+/F29sbJycn2rRpo8mtWqnhAf7v//6P0NBQOnXqVKTtH330UX788UfuvfdeXnzxRbZt28bkyZM5fPhwvgvyiRMnGDFiBI8//jgPPfQQn3zyCQMHDmTmzJm8/vrrPPXUUwBMnjyZ4cOHc/ToUfT6a3moxWKhX79+dOjQgY8++ojly5fz9ttvk52dzTvvvGPb7vPPP2fQoEGMHDmSrKws5s+fz3333cfff//NgAED8sS0Zs0aFixYwDPPPIOPj0+hbRmeeOIJ/vjjD5555hnCw8OJj49n48aNHD58mFatWgHqhXPs2LG0bduWyZMnExMTw+eff86mTZvYs2dPnm9zFouFvn370r59ez755BNWrVrF1KlTqVu3Lk8++eRNy3zixIlMmjSJXr168eSTT3L06FFmzJjBjh072LRpE0ajkWnTpvHTTz+xaNEi222qZs2a3fLveaOTJ08CUL16dduy+Ph4+vfvzwMPPMBDDz2Ev78/VquVQYMGsXHjRh577DHCwsLYv38/n332GceOHWPx4sW21z/66KPMnTuXESNG0KlTJ9asWZPv71KYOXPm8Mgjj9C4cWNee+01vLy82LNnD8uXL2fEiBG88cYbJCYmcv78eT777DPg2u2a8ooxKSmJ77//ngcffJDx48eTnJzMDz/8QN++fdm+fTstWrTIs/28efNITk7m8ccfR6fT8dFHHzF06FBOnTplq9FYuXIlw4YNIzw8nMmTJxMfH2/7R1taZs+eTUZGBo899hgmkwlvb+9ivX7NmjX079+f1q1b8/bbb6PX65k9ezZ33nknGzZsoF27doW+dujQoTz55JPMmzePoUOH5lk3b948ateuTefOnYHifb5v188//8zo0aPp27cvU6ZMIS0tjRkzZnDHHXewZ88e23Vi2LBhHDx4kP/85z/UqVOH2NhYIiIiiIqKKvRa8sYbb9CwYUO+/fZb2y2munXrAsW7hmRnZ9O3b1/uuOMOPvnkkyLVsiYmJhIXF5dnmU6ny/P5Lmr5Tpo0iYkTJ9KpUyfeeecdHB0d2bZtG2vWrKFPnz627U6cOMG9997LuHHjGD16NLNmzWLMmDG0bt2axo0b3zLmjIyMfDG7u7tjMpmIiYmhQ4cOti+vvr6+LFu2jHHjxpGUlGS7rV2Uz6Svry8zZszgySef5J577rGdh7dz3YSCP08HDx6kc+fO1KhRg1dffRVXV1cWLFjAkCFD+PPPP7nnnntu61i3RaniEhMTFUAZPHhwkbaPjIxUAOXRRx/Ns/yll15SAGXNmjW2ZbVr11YAZfPmzbZlK1asUADF2dlZOXv2rG35N998owDKv//+a1s2evRoBVD+85//2JZZrVZlwIABiqOjo3L58mXb8rS0tDzxZGVlKU2aNFHuvPPOPMsBRa/XKwcPHsz33gDl7bfftj339PRUnn766ULLIisrS/Hz81OaNGmipKen25b//fffCqC89dZb+d7LO++8k2cfLVu2VFq3bl3oMRRFUWJjYxVHR0elT58+isVisS3/6quvFECZNWuWbdnbb7+tAHnKpjC52x49elS5fPmycvr0aeWbb75RTCaT4u/vr6SmpiqKoijdunVTAGXmzJl5Xv/zzz8rer1e2bBhQ57lM2fOVABl06ZNiqJcO2eeeuq
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4711\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHHCAYAAAC7soLdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACXzklEQVR4nOzdd3hT5dvA8W+SpuneuxRo2Xtv2VsUARUVlKHiwoF7K+BAVPy5EFyAiig44EUQGQKy995QCmWXAt0rTc77x6Gh6YCWjpO29+e6eiV5zkly52mS3n2mTlEUBSGEEEKISkyvdQBCCCGEEGVNEh4hhBBCVHqS8AghhBCi0pOERwghhBCVniQ8QgghhKj0JOERQgghRKUnCY8QQgghKj1JeIQQQghR6UnCI4QQQohKTxIeYaPT6Rg/frzWYZTYTz/9RP369TEajfj4+GgdznXlrfNZs2ah0+k4ceKEZjHl5Wjvi1GjRlGzZk2tw3BINWvWZNSoUVqHUah//vmH5s2b4+Ligk6nIyEhQeuQSl3NmjW57bbbtA5DFEASnlyio6N59NFHiYqKwsXFBS8vLzp16sRnn31Genq61uGJIjh06BCjRo2iVq1afPvtt3zzzTeFnjt+/Hh0Op3tx83NjYYNG/LGG2+QlJRUjlGX3Jw5c/j000+1DsMh5CSNN/rRMmn65JNP0Ol0rFixotBzvv32W3Q6HQsXLizHyMrOpUuXGDp0KK6urkydOpWffvoJd3f3Mnu+G70PNm3aVGbPXRKFxRsSElImz5eWlsb48eNZvXp1mTy+I3HSOgBHsXjxYu6++25MJhMjRoygcePGZGVlsW7dOl588UX2799/3T+elUF6ejpOThX7LbF69WqsViufffYZtWvXLtJ9pk2bhoeHBykpKSxbtoz33nuPlStXsn79enQ6XRlHbO+BBx7g3nvvxWQyFet+c+bMYd++fYwbN65sAqtAunTpwk8//WRX9vDDD9O2bVseeeQRW5mHh0d5h2Zz77338uKLLzJnzhx69epV4Dlz5szB39+f/v37l3N0ZWPr1q0kJyfzzjvvFPqay8LEiROJjIzMV17U7wct9O7dmxEjRtiVubq6lslzpaWlMWHCBAC6detWJs/hKCr2X7dSEhMTw7333kuNGjVYuXIloaGhtmNjx47l2LFjLF68WMMIy47VaiUrKwsXFxdcXFy0DqfE4uLiAIrVlXXXXXcREBAAwGOPPcadd97Jn3/+yaZNm+jQoUOB90lLS8PNza3E8eZlMBgwGAyl/rhVSVRUFFFRUXZljz32GFFRUdx///2F3i87Oxur1Yqzs3NZh0hYWBjdu3fnzz//ZNq0afkS3DNnzrBmzRoeeeQRjEZjmcdTHm7ms3kjqampN2wl6t+/P61bty615ywPdevWve57tSIoz89TUUmXFvDhhx+SkpLC999/b5fs5KhduzbPPPOM7XZ2djbvvPMOtWrVwmQyUbNmTV577TUyMzPt7pfTl7t69Wpat26Nq6srTZo0sTUd/vnnnzRp0gQXFxdatWrFzp077e4/atQoPDw8OH78OH379sXd3Z2wsDAmTpxI3k3uP/74Yzp27Ii/vz+urq60atWK33//Pd9r0el0PPnkk/z88880atQIk8nEP//8YzuWe6xGcnIy48aNo2bNmphMJoKCgujduzc7duywe8zffvuNVq1a4erqSkBAAPfffz9nzpwp8LWcOXOGQYMG4eHhQWBgIC+88AIWi6WQ34y9r776yhZzWFgYY8eOtRsDULNmTd5++20AAgMDb3rsSY8ePQA1EQb1v57GjRuzfft2unTpgpubG6+99hoAmZmZvP3229SuXRuTyURERAQvvfRSvvdCZmYmzz77LIGBgXh6ejJw4EBOnz6d77kLG8OzZMkSunbtiqenJ15eXrRp04Y5c+bY4lu8eDEnT54ssLumtGMsSFZWFm+99RatWrXC29sbd3d3OnfuzKpVq+zOO3HiBDqdjo8//phvvvnG9hlq06YNW7duzfe4CxYsoHHjxri4uNC4cWPmz59fpHhuJHccn376qS2OAwcOFPo7WL16NTqdLl/T/+bNm+nXrx/e3t64ubnRtWtX1q9ff8MY7r//fhITEwv8Z+rXX3/FarUyfPhwoOif77xyum3zut77rHPnzri7u+Pp6cmAAQPYv3+/3Tnnz59n9OjRVKtWDZPJRGhoKHfcccd1x51169aNkSNHAtCmTRt0Op3dWKPifIdER0dz66234unpaaufkipO/c6ePZu2bdvi5uaGr68vXbp0YdmyZfnOW7duHW3btsXFxYWoqCh+/PHHUokV1IT4wQcfJDg4GJPJRKNGjZgxY4bdOUX5TJ44cYLAwEAAJkyYYPv+yPne7NatW4GtPnnH0V3v8wTqUIO77roLPz8/XFxcaN26tSZdtdLCA/z1119ERUXRsWPHIp3/8MMP88MPP3DXXXfx/PPPs3nzZiZNmsTBgwfzfSEfO3aMYcOG8eijj3L//ffz8ccfc/vttzN9+nRee+01nnjiCQAmTZrE0KFDOXz4MHr9tTzUYrHQr18/2rdvz4cffsg///zD22+/TXZ2NhMnTrSd99lnnzFw4ECGDx9OVlYWv/76K3fffTeLFi1iwIABdjGtXLmSefPm8eSTTxIQEFDoWIbHHnuM33//nSeffJKGDRty6dIl1q1bx8GDB2nZsiWgfnGOHj2aNm3aMGnSJC5cuMBnn33G+vXr2blzp91/cxaLhb59+9KuXTs+/vhjVqxYwZQpU6hVqxaPP/74det8/PjxTJgwgV69evH4449z+PBhpk2bxtatW1m/fj1Go5FPP/2UH3/8kfnz59u6qZo2bXrD32de0dHRAPj7+9vKLl26RP/+/bn33nu5//77CQ4Oxmq1MnDgQNatW8cjjzxCgwYN2Lt3L//73/84cuQICxYssN3/4YcfZvbs2QwbNoyOHTuycuXKfL+XwsyaNYsHH3yQRo0a8eqrr+Lj48POnTv5559/GDZsGK+//jqJiYmcPn2a//3vf8C17pryijEpKYnvvvuO++67jzFjxpCcnMz3339P37592bJlC82bN7c7f86cOSQnJ/Poo4+i0+n48MMPGTJkCMePH7e1aCxbtow777yThg0bMmnSJC5dumT7Q1taZs6cSUZGBo888ggmkwk/P79i3X/lypX079+fVq1a8fbbb6PX65k5cyY9evRg7dq1tG3bttD7DhkyhMcff5w5c+YwZMgQu2Nz5syhRo0adOrUCSje5/tm/fTTT4wcOZK+ffsyefJk0tLSmDZtGrfccgs7d+60fU/ceeed7N+/n6eeeoqaNWsSFxfH8uXLiY2NLfS75PXXX6devXp88803ti6mWrVqAcX7DsnOzqZv377ccsstfPzxx0VqZU1MTCQ+Pt6uTKfT2X2+i1q/EyZMYPz48XTs2JGJEyfi7OzM5s2bWblyJX369LGdd+zYMe666y4eeughRo4cyYwZMxg1ahStWrWiUaNGN4w5IyMjX8yenp6YTCYuXLhA+/btbf+8BgYGsmTJEh566CGSkpJs3dpF+UwGBgYybdo0Hn/8cQYPHmx7H97M9yYU/Hnav38/nTp1Ijw8nFdeeQV3d3fmzZvHoEGD+OOPPxg8ePBNPddNUaq4xMREBVDuuOOOIp2/a9cuBVAefvhhu/IXXnhBAZSVK1faymrUqKEAyoYNG2xlS5cuVQDF1dVVOXnypK3866+/VgBl1apVtrKRI0cqgPLUU0/ZyqxWqzJgwADF2dlZuXjxoq08LS3NLp6srCylcePGSo8ePezKAUWv1yv79+/P99oA5e2337bd9vb2VsaOHVtoXWRlZSlBQUFK48aNlfT0dFv5okWLFEB566238r2WiRMn2j1GixYtlFatWhX6HIqiKHFxcYqzs7PSp08fxWKx2Mq//PJLBVBmzJhhK3v77bcVwK5uCpNz7uHDh5WLFy8qMTExytdff62YTCYlODhYSU1NVRRFUbp27aoAyvTp0+3u/9NPPyl6vV5Zu3atXfn06dMVQFm/fr2iKNfeM0888YTdecOGDctX5zN
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4712\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4716\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4717\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4735\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4736\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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bvR+AktXg3vuuQcvLy8cHBxo166dKk21UsMD/PXXX4SFhdG5c+cS7f/www/zww8/cM899/DMM8+wZcsWpk6dysGDBwt9IB89epThw4fz6KOPcv/99/PBBx9wxx13MHPmTF5++WWeeOIJAKZOncqwYcOIi4tDq/0vDzWZTPTv359bbrmF9957j+XLl/PGG2+Qm5vLlClTrPt98sknDBo0iBEjRpCTk8O8efMYOnQoS5YsYeDAgQViWr16NfPnz2f8+PH4+PgU25fhscce4/fff2f8+PFERERw6dIlNm7cyMGDB2nbti1g+eAcM2YM7du3Z+rUqSQkJPDJJ5+wadMmdu3aVeDXnMlkol+/fnTs2JEPPviAVatWMX36dMLDw3n88cdvWOaTJk1i8uTJ9O7dm8cff5y4uDhmzJjBtm3b2LRpE3q9no8//pgff/yRRYsWWZupWrZsedP/5/WOHTsGgLe3t3XbpUuXGDBgAPfeey/3338//v7+mM1mBg0axMaNG3nkkUdo2rQpe/fu5aOPPuLw4cMsXrzY+viHH36YOXPmMHz4cDp37szq1asL/V+KM3v2bB588EGaNWvGSy+9hIeHB7t27WL58uUMHz6cV155hZSUFM6cOcNHH30E/NdcU1Uxpqam8u2333LfffcxduxY0tLS+O677+jXrx9bt26ldevWBfafO3cuaWlpPProo2g0Gt577z3uvvtujh8/bq3RWLlyJUOGDCEiIoKpU6dy6dIl6xdtRZk1axZZWVk88sgjGAwGvLy8SvX41atXM2DAACIjI3njjTfQarXMmjWLW2+9lQ0bNtChQ4diH3v33Xfz+OOPM3fuXO6+++4C982dO5fQ0FC6dOkClO79XVY//fQTo0aNol+/fkybNo3MzExmzJhB165d2bVrl/VzYsiQIezfv5//+7//o169eiQmJhIdHU18fHyxnyWvvPIKjRs35uuvv7Y2MYWHhwOl+wzJzc2lX79+dO3alQ8++KBEtawpKSkkJSUV2KbRaAq8v0tavpMnT2bSpEl07tyZKVOmYG9vz5YtW1i9ejV9+/a17nf06FHuueceHnroIUaNGsX333/P6NGjiYyMpFmzZjeNOSsrq1DMrq6uGAwGEhISuOWWW6w/Xn19fVm2bBkPPfQQqamp1mbtkrwnfX19mTFjBo8//jh33XWX9XVYls9NKPr9tH//frp06UJwcDAvvvgizs7OzJ8/n8GDB7NgwQLuuuuuMp2rTJRaLiUlRQGUO++8s0T7x8bGKoDy8MMPF9j+7LPPKoCyevVq67bQ0FAFUGJiYqzbVqxYoQCKo6OjcurUKev2r776SgGUNWvWWLeNGjVKAZT/+7//s24zm83KwIEDFXt7e+XixYvW7ZmZmQXiycnJUZo3b67ceuutBbYDilarVfbv31/ouQHKG2+8Yb3t7u6ujBs3rtiyyMnJUfz8/JTmzZsrV69etW5fsmSJAiivv/56oecyZcqUAsdo06aNEhkZWew5FEVREhMTFXt7e6Vv376KyWSybv/8888VQPn++++t29544w0FKFA2xcnfNy4uTrl48aJy4sQJ5auvvlIMBoPi7++vZGRkKIqiKFFRUQqgzJw5s8Djf/rpJ0Wr1SobNmwosH3mzJkKoGzatElRlP9eM0888USB/YYPH16ozGf
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"4740\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHHCAYAAAC7soLdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAACT50lEQVR4nOzdd3hT5dvA8W+SpuneuxRaNmVvZSNbQIaKCgouXDhQ0Z/jRcGFqLgVXICKiChDFBHKkil7C6UtZRXaUqB7pcl5/wgNhLbQ0nHS9v5cV6+k55ycc+dpkt55pkZRFAUhhBBCiBpMq3YAQgghhBCVTRIeIYQQQtR4kvAIIYQQosaThEcIIYQQNZ4kPEIIIYSo8SThEUIIIUSNJwmPEEIIIWo8SXiEEEIIUeNJwiOEEEKIGk8SHmGl0WiYMmWK2mGU248//kjTpk3R6/V4eXmpHc41XV3mc+fORaPRcPz4cdViupq9vS7uv/9+wsPD1Q7DLoWHh3P//ferHUaJ/v77b9q0aYOTkxMajYbU1FS1Q6pw4eHhDBkyRO0wRDEk4blCXFwcjz76KPXr18fJyQkPDw+6du3KJ598Qk5OjtrhiVI4cuQI999/Pw0aNOCbb77h66+/LvHYKVOmoNForD8uLi5ERkbyf//3f6Snp1dh1OU3f/58Pv74Y7XDsAuFSeP1ftRMmj788EM0Gg2rV68u8ZhvvvkGjUbDsmXLqjCyynP+/HlGjRqFs7MzX3zxBT/++COurq6Vdr3rvQ7+/fffSrt2eZQUb1BQUKVcLzs7mylTprB+/fpKOb89cVA7AHuxfPly7rzzTgwGA2PHjqVFixbk5+ezadMmXnjhBQ4dOnTNf541QU5ODg4O1fslsX79esxmM5988gkNGzYs1WNmzpyJm5sbmZmZrFq1irfffpu1a9eyefNmNBpNJUds67777uPuu+/GYDCU6XHz58/n4MGDTJw4sXICq0Z69OjBjz/+aLPt4YcfplOnTjzyyCPWbW5ublUdmtXdd9/NCy+8wPz58+nbt2+xx8yfPx9fX18GDRpUxdFVjh07dpCRkcGbb75Z4nOuDG+88QYRERFFtpf280EN/fr1Y+zYsTbbnJ2dK+Va2dnZTJ06FYBevXpVyjXsRfX+71ZB4uPjufvuu6lXrx5r164lODjYum/ChAnExsayfPlyFSOsPGazmfz8fJycnHByclI7nHJLTk4GKFNT1h133IGfnx8Ajz32GLfffjuLFy/m33//5eabby72MdnZ2bi4uJQ73qvpdDp0Ol2Fn7c2qV+/PvXr17fZ9thjj1G/fn3uvffeEh9XUFCA2WzG0dGxskMkJCSE3r17s3jxYmbOnFkkwU1ISGDDhg088sgj6PX6So+nKtzIe/N6srKyrltLNGjQIDp06FBh16wKjRs3vuZrtTqoyvdTaUmTFvDee++RmZnJd999Z5PsFGrYsCHPPPOM9feCggLefPNNGjRogMFgIDw8nFdeeYW8vDybxxW25a5fv54OHTrg7OxMy5YtrVWHixcvpmXLljg5OdG+fXv27Nlj8/j7778fNzc3jh07xoABA3B1dSUkJIQ33niDqxe5/+CDD+jSpQu+vr44OzvTvn17fvvttyLPRaPR8OSTT/LTTz/RvHlzDAYDf//9t3XflX01MjIymDhxIuHh4RgMBgICAujXrx+7d++2Oeevv/5K+/btcXZ2xs/Pj3vvvZeEhIRin0tCQgLDhw/Hzc0Nf39/Jk2ahMlkKuEvY+vLL7+0xhwSEsKECRNs+gCEh4fz+uuvA+Dv73/DfU9uueUWwJIIg+VbT4sWLdi1axc9evTAxcWFV155BYC8vDxef/11GjZsiMFgICwsjBdffLHIayEvL49nn30Wf39/3N3due222zh9+nSRa5fUh2fFihX07NkTd3d3PDw86NixI/Pnz7fGt3z5ck6cOFFsc01Fx1ic/Px8XnvtNdq3b4+npyeurq50796ddevW2Rx3/PhxNBoNH3zwAV9//bX1PdSxY0d27NhR5LxLly6lRYsWODk50aJFC5YsWVKqeK7nyjg+/vhjaxz//fdfiX+D9evXo9FoilT9b9u2jYEDB+Lp6YmLiws9e/Zk8+bN143h3nvvJS0trdgvUwsWLMBsNjNmzBig9O/vqxU2217tWq+z7t274+rqiru7O4MHD+bQoUM2xyQmJvLAAw9Qp04dDAYDwcHBDBs27Jr9znr16sW4ceMA6NixIxqNxqavUVk+Q+Li4rj11ltxd3e3lk95laV8582bR6dOnXBxccHb25sePXqwatWqIsdt2rSJTp064eTkRP369fnhhx8qJFawJMQPPvgggYGBGAwGmjdvzuzZs22OKc178vjx4/j7+wMwdepU6+dH4edmr169iq31ubof3bXeT2DpanDHHXfg4+ODk5MTHTp0UKWpVmp4gD/++IP69evTpUuXUh3/8MMP8/3333PHHXfw/PPPs23bNqZNm8bhw4eLfCDHxsYyevRoHn30Ue69914++OADhg4dyqxZs3jllVd44oknAJg2bRqjRo0iOjoarfZyHmoymRg4cCA33XQT7733Hn///Tevv/46BQUFvPHGG9bjPvnkE2677TbGjBlDfn4+CxYs4M477+TPP/9k8ODBNjGtXbuWhQsX8uSTT+Ln51diX4bHHnuM3377jSeffJLIyEjOnz/Ppk2bOHz4MO3atQMsH5wPPPAAHTt2ZNq0aSQlJfHJJ5+wefNm9uzZY/NtzmQyMWDAADp37swHH3zA6tWrmTFjBg0aNODxxx+/ZplPmTKFqVOn0rdvXx5//HGio6OZOXMmO3bsYPPmzej1ej7++GN++OEHlixZYm2matWq1XX/nleLi4sDwNfX17rt/PnzDBo0iLvvvpt7772XwMBAzGYzt912G5s2beKRRx6hWbNmHDhwgI8++oijR4+ydOlS6+Mffvhh5s2bx+jRo+nSpQtr164t8ncpydy5c3nwwQdp3rw5L7/8Ml5eXuzZs4e///6b0aNH8+qrr5KWlsbp06f56KOPgMvNNVUVY3p6Ot9++y333HMP48ePJyMjg++++44BAwawfft22rRpY3P8/PnzycjI4NFHH0Wj0fDee+8xcuRIjh07Zq3RWLVqFbfffjuRkZFMmzaN8+fPW//RVpQ5c+aQm5vLI488gsFgwMfHp0yPX7t2LYMGDaJ9+/a8/vrraLVa5syZwy233MLGjRvp1KlTiY8dOXIkjz/+OPPnz2fkyJE2++bPn0+9evXo2rUrULb394368ccfGTduHAMGDGD69OlkZ2czc+ZMunXrxp49e6yfE7fffjuHDh3iqaeeIjw8nOTkZKKiojh58mSJnyWvvvoqTZo04euvv7Y2MTVo0AAo22dIQUEBAwYMoFu3bnzwwQelqmVNS0sjJSXFZptGo7F5f5e2fKdOncqUKVPo0qULb7zxBo6Ojmzbto21a9fSv39/63GxsbHccccdPPTQQ4wbN47Zs2dz//330759e5o3b37dmHNzc4vE7O7ujsFgICkpiZtuusn65dXf358VK1bw0EMPkZ6ebm3WLs170t/fn5kzZ/L4448zYsQI6+vwRj43ofj306FDh+jatSuhoaG89NJLuLq6snDhQoYPH86iRYsYMWLEDV3rhii1XFpamgIow4YNK9Xxe/fuVQDl4Ycfttk+adIkBVDWrl1r3VavXj0FULZs2WLdtnLlSgVQnJ2dlRMnTli3f/XVVwqgrFu3zrpt3LhxCqA89dRT1m1ms1kZPHiw4ujoqJw7d866PTs72yae/Px8pUWLFsott9xisx1QtFqtcujQoSLPDVBef/116++enp7KhAkTSiyL/Px8JSAgQGnRooWSk5Nj3f7nn38qgPLaa68VeS5vvPGGzTnatm2rtG/fvsRrKIqiJCcnK46Ojkr//v0Vk8lk3f75558rgDJ79mzrttdff10BbMqmJIXHRkdHK+fOnVPi4+OVr776SjEYDEpgYKCSlZWlKIqi9OzZUwGUWbNm2Tz+xx9/VLRarbJx40ab7bNmzVIAZfPmzYqiXH7NPPHEEzbHjR4
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"for i in range(len(pred_data)):\n",
|
|||
|
" if i in top_10_indices:\n",
|
|||
|
" print(i)\n",
|
|||
|
" pred_data_ = np.array(pred_data[i,:,-1:]).reshape(96)\n",
|
|||
|
" true_data_ = np.array(true_data[i,:,-1:]).reshape(96)\n",
|
|||
|
" pred_data_ = np.clip(pred_data_, 0, None)\n",
|
|||
|
" # 设置 x 轴范围\n",
|
|||
|
" x = np.arange(1, 97) # x 轴从 1 到 14\n",
|
|||
|
" # 遍历每个特征\n",
|
|||
|
"\n",
|
|||
|
" plt.plot(x,pred_data_, label=f'Predicted Feature ', linestyle='--')\n",
|
|||
|
" plt.plot(x,true_data_, label=f'True Feature ')\n",
|
|||
|
"\n",
|
|||
|
" # 添加图例\n",
|
|||
|
" plt.legend()\n",
|
|||
|
" plt.title('Comparison of Predicted and True Values for Each Feature')\n",
|
|||
|
" plt.xlabel('Time Steps')\n",
|
|||
|
" plt.ylabel('Values')\n",
|
|||
|
" plt.axhline(0, color='black', linewidth=0.5, ls='--') # 添加水平线表示零偏差\n",
|
|||
|
" plt.grid()\n",
|
|||
|
" plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "27ad1813",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# 推理结果可视化"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 72,
|
|||
|
"id": "5a953efb",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAIpCAYAAAAxYBJBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAADOCElEQVR4nOzdd3hU1dbH8e9kUuiE3hI6CggiiqhoBK4URb1IwIIFUa/6XhvYUUkICYpdsFwrdsGCERsKqCBVpKpIl16kCYSWNpn3j81JMskkmSRTk9/neXjOmXPOzOzASciatfbaNqfT6UREREREREREAios0AMQEREREREREQXoIiIiIiIiIkFBAbqIiIiIiIhIEFCALiIiIiIiIhIEFKCLiIiIiIiIBAEF6CIiIiIiIiJBQAG6iIiIiIiISBBQgC4iIiIiIiISBBSgi4iIiIiIiAQBBegiIhJ0WrZsic1mc/kTFRVFTEwMAwcO5Jtvvgn0EJkzZw42m41evXoFeiilUvDv1WazUbVqVdq0acNNN93E77//Hugh5ho+fDg2m413333X5XhSUhI2m42kpCSfjyFU/51FRCQ0hQd6ACIiIkU5//zzadu2LQCHDx9mxYoVfPXVV3z11Vfce++9PP/88wEeYejq378/jRs3BmDv3r0sWbKEd999l48++ogPP/yQq666KsAj9A+bzQaA0+kM8EhEREQUoIuISBD7z3/+w/Dhw3MfZ2dnc++99/Lyyy/zwgsvMHToUM4+++zADTCEjRo1yiUrfPjwYa688kpmzZrFrbfeSt++falTp07gBliMu+66i2uuuYb69ev7/L26d+/OmjVrqFatms/fS0RERCXuIiISMsLDw3nmmWeoVasWAF9//XWAR1Rx1K5dmzfeeAOAtLQ0ZsyYEeARFa1+/fq0b9/eLwF6tWrVaN++Pc2bN/f5e4mIiChAFxGRkFKlShXatWsHwJ49e9xe8+OPPxIfH0+TJk2IjIykYcOGDBo0iEWLFrm9/tdff+Whhx6ie/fuNG7cmMjISBo1asTll1/ODz/84JVxr127FpvNRp06dUhPTy/yum7dumGz2fjyyy9zj+3evZsRI0ZwyimnUKVKFapVq0ZsbCwXXXQRzz77rFfGB2buf926dQHYsmVL7tZms9GyZUscDgfPP/88Xbt2pUaNGrnl4Zb169dz++2306ZNG6pUqULt2rW58MIL+fDDD4t8z3/++YeRI0fSokULoqKiaN68OXfddRf//PNPkc8paQ76+vXrueOOOzj11FOpVq0atWrVomPHjtxxxx2sWrXK5TUsBeflW19/SXPQ165dy0033ZQ7/rp163LRRRfx6aefljj2ffv2ceeddxIbG0tkZCSxsbHcfffdHDp0yO1zP/vsM/r06UO9evWIiIigXr16dOzYkVtvvTWoegeIiEjZqcRdRERCTlpaGgCNGjUqdO6BBx7gueeeIywsjG7duhEXF8e2bdv48ssv+frrr3nzzTe56aabXJ7z6KOPMnv2bE477TTOOussqlevzl9//cU333zDN998w4QJExgxYkS5xty+fXvOO+88Fi1axLRp07jmmmsKXfPHH3+wbNkyGjVqxKWXXgrA33//Tbdu3di1axfNmzfn4osvpkqVKuzatYuVK1eybNkyHnjggXKNzZKTk8OxY8cAiIqKcjnndDqJj4/n+++/Jy4ujg4dOvDnn3/mnv/ss88YNmwY6enptG/fngEDBnD48GEWL17MDTfcwE8//cTbb7/t8pp79uwhLi6ODRs2UKdOHS677DJycnL46KOP+P777znttNNK/TVMnjyZm2++mYyMDJo3b86AAQPIyclh06ZNvPbaazRs2JBOnTpxxhlncOONN/Lee+8BcOONN7q8To0aNUp8r2+//ZYhQ4aQnp7OqaeeSnx8PHv37uXnn3/mp59+YsaMGUyaNMntc7dv386ZZ55JVlYW559/Punp6SxYsICXX36ZxYsXs2DBAiIiInKvT05OZsyYMYSHh9OjRw+aNWvG4cOH2bZtG5MmTeK0007j9NNPL/Xfl4iIBBmniIhIkGnRooUTcL7zzjuFzq1evdppt9udgHPJkiUu59544w0n4Gzbtq3zt99+czn3888/O2vWrOmMjIx0rl+/3uXc9OnTnbt27Sr0XgsXLnTWqlXLGRER4dyxY4fLudmzZzsBZ8+ePT3+ut58800n4Ozfv7/b8/fee68TcN5///25x8aOHesEnLfddpszJyfH5frMzEznDz/84PH7O51OJ+AEnLNnzy507ptvvsk9/9NPPzmdTqdz8+bNucdiYmKc69atK/S833//3RkVFeWsUqWK8/PPP3c5t2XLFmfnzp2dgPO9995zOTdkyBAn4IyLi3MeOnQo9/iBAwec55xzTu77FrwPxowZ4wScY8aMcTm+dOlSZ0REhNNmszlffPFFp8PhKDSWpUuXuv37KEpR/85///23s3bt2k7AOW7cOJd/myVLljjr1KnjBJxvvPGG27EDzuHDhzvT09Nzz23bts3ZrFkzJ+CcPHly7vH09HRn1apVnTVq1HCuXbu20Bi3bNniXLNmTZFfg4iIhA6VuIuISEg4fPgwM2fOJD4+HofDwejRo+nWrVvu+ZycnNyS548//rhQNvHCCy8kISGBzMxMXn/9dZdzl1xyCU2aNCn0nueddx533nknWVlZLiXnZXX11VdTrVo1Zs2axc6dO13OZWVl5ZaC58/wW2X8F198caGS8oiICC666KJyj2v//v1MmTKFm2++GYAzzjiDnj17FrruiSee4JRTTil0/PHHHycjI4Nx48YRHx/vcq5Fixa5WeQXX3wx9/j27dtJTU3FZrPx2muvUbt27dxzdevW5bXXXiv11zFu3DiysrK46667uPvuuwkLc/01p0WLFpx11lmlfl133nzzTQ4fPsxZZ53FY4895vJv061bNx577DEAnnnmGbfPj4mJ4ZVXXnGpVLBK3AGXqRVpaWmcOHGC1q1bc+qppxZ6rRYtWtC+fXuvfF0iIhJYCtBFRCRo3XTTTblzgqOjo+nfvz8bNmzgww8/JCUlxeXaFStWsGvXLtq0aVNkEGbNI164cGGhcwcOHOD999/noYce4tZbb2X48OEMHz6cn3/+GYB169aV++upWbMmQ4YMIScnh/fff9/l3Lfffsu+ffvo3r27S2l39+7dAdN1PTU1laNHj5Z7HAC9e/fO/btt0KAB1157LXv37uXMM89k2rRphYJbgMGDBxc6lpOTw3fffQeYDyDc6datGzVq1GDFihW58+/nzp1LTk4OZ555Jh07diz0nDPOOKNUJdsOh4NZs2YBcNttt3n8vLKaM2cOULg03nLLLbcAsGHDBnbt2lXo/EUXXeS2M3yHDh0AXD7AadCgAS1btuT333/n/vvvZ/Xq1eUdvoiIBCnNQRcRkaCVfx30ffv2MW/ePI4cOcJ///tf2rVrlxu8AmzatAmAv/76q1CmuaB9+/a5PH7zzTe59957c+dfu2PNey+vm2++mffff593332XRx55JPf4O++8A1BofvwNN9zArFmz+Oijjxg8eDB2u52OHTtywQUXMGTIEP71r3+VaRz510GPioqiadOmxMXF5QbuBTVs2NBtQHngwIHcv5vY2NgS3/fAgQM0a9aMHTt2ANCqVasir23VqpXHzc8OHDiQ++/nLsvsbVYAXdT4o6OjqVu3Lv/88w87duygadOmLueL6gpvrVBQsJHg+++/z5AhQ3j++ed5/vnnqVu3Lueccw59+/blhhtu8EtHexER8T0F6CIiErQKroN++PBhBg0axOzZs7nqqqtYvXp1btCYk5MDQOPGjenfv3+xr5s/mFm2bBm33347drudp556issvv5zmzZtTrVo1bDYbb7zxBrfffjtOp9MrX9OFF15ImzZtWL9+PQsXLqRHjx7s3buX6dOnU6VKlULN48LCwvjwww959NFH+fbbb1mwYAELFizg1Vdf5dVXX+Xyyy/niy++wG63l2ocBddBL0nVqlXdHrf+3qHobHJ+BZvPVVbuKhSKExcXx5YtW/j222/5+ee
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 1200x600 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"real = [[0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.1170799999999999], [0.226425], [0.556652], [1.090384], [1.735596], [2.418046], [2.505163], [3.456932], [1.469682], [4.7706230000000005], [5.965847], [6.104462], [7.312792], [6.203876], [4.957963], [3.701485], [4.493279], [5.98692], [6.851398], [6.898161], [11.08569], [10.24586], [9.231687], [12.13076], [11.30536], [12.62044], [13.02087], [11.04955], [13.152729999999998], [8.404561], [11.72761], [9.320998], [4.060809], [3.344008], [4.563134], [5.036594], [9.309683], [7.437724], [5.168396], [4.341616999999999], [3.589081], [1.63901], [1.266235], [1.411258], [1.906713], [2.103406], [1.811167], [1.492544], [1.77341], [1.549872], [1.45219], [0.498169], [0.423753], [0.120082], [0.2112409999999999], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0], [0.0]]\n",
|
|||
|
"Predictions = [[-2.86124706e-01], [-1.85412407e-01], [-1.23522758e-01], [-2.36801863e-01], [-1.44170523e-01], [-1.88258648e-01], [-2.88140297e-01], [-3.10372591e-01], [-3.25312853e-01], [-3.01664591e-01], [-3.51567268e-01], [-3.99164915e-01], [-1.98129177e-01], [-2.40688801e-01], [-1.31866693e-01], [-1.35723829e-01], [-1.25133514e-01], [-5.73484898e-02], [-4.16159391e-01], [-3.20464611e-01], [-1.97598696e-01], [3.75599861e-02], [1.71803951e-01], [2.54544497e-01], [-8.46397877e-02], [2.03914165e-01], [4.66168642e-01], [9.69486117e-01], [1.44746566e+00], [1.93339133e+00], [3.05528426e+00], [3.98479152e+00], [4.61557865e+00], [5.74502182e+00], [6.33362198e+00], [7.41310310e+00], [7.41493511e+00], [8.36355972e+00], [8.93667889e+00], [9.44896412e+00], [1.04542589e+01], [1.08695698e+01], [1.06164064e+01], [1.12903938e+01], [1.15168724e+01], [1.20199852e+01], [1.21539640e+01], [1.24546432e+01], [1.18046064e+01], [1.19759865e+01], [1.18456869e+01], [1.18761501e+01], [1.18272791e+01], [1.17170534e+01], [1.13529377e+01], [1.10521955e+01], [1.06786232e+01], [1.05224686e+01], [9.81320190e+00], [9.53697395e+00], [8.66638947e+00], [7.97475529e+00], [7.41621113e+00], [6.65187836e+00], [5.92018986e+00], [5.26671886e+00], [4.15544462e+00], [3.40540767e+00], [2.59274578e+00], [2.10804391e+00], [1.37592804e+00], [1.06501186e+00], [1.13409483e+00], [6.22718215e-01], [1.52500153e-01], [-7.96604156e-03], [-3.04882288e-01], [-6.02218390e-01], [1.50711298e-01], [-1.30321026e-01], [-3.54492903e-01], [-4.41823721e-01], [-3.99953127e-01], [-5.66465855e-01], [-2.37069845e-01], [-3.53769541e-01], [-3.37545872e-01], [-4.05787230e-01], [-3.33610773e-01], [-3.95320892e-01], [-4.33113575e-01], [-3.90184402e-01], [-3.61282110e-01], [-2.99006939e-01], [-2.87155390e-01], [-2.05773354e-01]]\n",
|
|||
|
"\n",
|
|||
|
"# 将数据转换为一维数组\n",
|
|||
|
"real = np.array(real).flatten()\n",
|
|||
|
"Predictions = np.array(Predictions).flatten()\n",
|
|||
|
"Predictions = np.clip(Predictions, 0, None)\n",
|
|||
|
"# 创建 x 轴数据(索引)\n",
|
|||
|
"x = np.arange(len(real))\n",
|
|||
|
"\n",
|
|||
|
"# 绘制折线图\n",
|
|||
|
"plt.figure(figsize=(12, 6))\n",
|
|||
|
"plt.plot(x, real, label='Real', marker='o', linestyle='-', color='blue')\n",
|
|||
|
"plt.plot(x, Predictions, label='Predictions', marker='x', linestyle='--', color='red')\n",
|
|||
|
"\n",
|
|||
|
"# 添加标题和标签\n",
|
|||
|
"plt.title('Real vs Predictions', fontsize=16)\n",
|
|||
|
"plt.xlabel('Index', fontsize=12)\n",
|
|||
|
"plt.ylabel('Value', fontsize=12)\n",
|
|||
|
"\n",
|
|||
|
"# 添加图例\n",
|
|||
|
"plt.legend()\n",
|
|||
|
"\n",
|
|||
|
"# 显示网格\n",
|
|||
|
"plt.grid(True)\n",
|
|||
|
"\n",
|
|||
|
"# 显示图表\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"id": "0cba9d8f",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"# 定位好的测试集的开始时间"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 84,
|
|||
|
"id": "a6c4ecf4",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"good_data = true_data[4717]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 85,
|
|||
|
"id": "c705a36d",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"good_data_first = true_data[4717][0]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 86,
|
|||
|
"id": "18e849b2",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"ori_data = pd.read_csv('./datasets/station08_utf8.csv')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 97,
|
|||
|
"id": "78f6b7bf",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"Index(['date_time', 'nwp_globalirrad', 'nwp_directirrad', 'nwp_temperature',\n",
|
|||
|
" 'nwp_humidity', 'nwp_windspeed', 'nwp_winddirection', 'nwp_pressure',\n",
|
|||
|
" 'lmd_totalirrad', 'lmd_diffuseirrad', 'lmd_temperature', 'lmd_pressure',\n",
|
|||
|
" 'lmd_winddirection', 'lmd_windspeed', 'power'],\n",
|
|||
|
" dtype='object')"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 97,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"ori_data.columns"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 93,
|
|||
|
"id": "50567220",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"array([ 0.0000000e+00, -7.6293945e-06, 2.0690001e+01, 5.8049999e+01,\n",
|
|||
|
" 5.9600000e+00, 2.8688000e+02, 9.4463000e+02, -1.5258789e-05,\n",
|
|||
|
" 0.0000000e+00, 2.2600000e+01, 9.4320001e+02, 2.1600000e+02,\n",
|
|||
|
" 1.1000000e+00, 0.0000000e+00], dtype=float32)"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 93,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"good_data_first"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 109,
|
|||
|
"id": "e3c5cdf6",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/html": [
|
|||
|
"<div>\n",
|
|||
|
"<style scoped>\n",
|
|||
|
" .dataframe tbody tr th:only-of-type {\n",
|
|||
|
" vertical-align: middle;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe tbody tr th {\n",
|
|||
|
" vertical-align: top;\n",
|
|||
|
" }\n",
|
|||
|
"\n",
|
|||
|
" .dataframe thead th {\n",
|
|||
|
" text-align: right;\n",
|
|||
|
" }\n",
|
|||
|
"</style>\n",
|
|||
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|||
|
" <thead>\n",
|
|||
|
" <tr style=\"text-align: right;\">\n",
|
|||
|
" <th></th>\n",
|
|||
|
" <th>date_time</th>\n",
|
|||
|
" <th>nwp_globalirrad</th>\n",
|
|||
|
" <th>nwp_directirrad</th>\n",
|
|||
|
" <th>nwp_temperature</th>\n",
|
|||
|
" <th>nwp_humidity</th>\n",
|
|||
|
" <th>nwp_windspeed</th>\n",
|
|||
|
" <th>nwp_winddirection</th>\n",
|
|||
|
" <th>nwp_pressure</th>\n",
|
|||
|
" <th>lmd_totalirrad</th>\n",
|
|||
|
" <th>lmd_diffuseirrad</th>\n",
|
|||
|
" <th>lmd_temperature</th>\n",
|
|||
|
" <th>lmd_pressure</th>\n",
|
|||
|
" <th>lmd_winddirection</th>\n",
|
|||
|
" <th>lmd_windspeed</th>\n",
|
|||
|
" <th>power</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>31213</th>\n",
|
|||
|
" <td>2019-05-25 03:15:00</td>\n",
|
|||
|
" <td>0.0</td>\n",
|
|||
|
" <td>0.0</td>\n",
|
|||
|
" <td>20.69</td>\n",
|
|||
|
" <td>58.05</td>\n",
|
|||
|
" <td>5.96</td>\n",
|
|||
|
" <td>286.88</td>\n",
|
|||
|
" <td>944.63</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>22.6</td>\n",
|
|||
|
" <td>943.200012</td>\n",
|
|||
|
" <td>216</td>\n",
|
|||
|
" <td>1.1</td>\n",
|
|||
|
" <td>0.0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" date_time nwp_globalirrad nwp_directirrad nwp_temperature \\\n",
|
|||
|
"31213 2019-05-25 03:15:00 0.0 0.0 20.69 \n",
|
|||
|
"\n",
|
|||
|
" nwp_humidity nwp_windspeed nwp_winddirection nwp_pressure \\\n",
|
|||
|
"31213 58.05 5.96 286.88 944.63 \n",
|
|||
|
"\n",
|
|||
|
" lmd_totalirrad lmd_diffuseirrad lmd_temperature lmd_pressure \\\n",
|
|||
|
"31213 0 0 22.6 943.200012 \n",
|
|||
|
"\n",
|
|||
|
" lmd_winddirection lmd_windspeed power \n",
|
|||
|
"31213 216 1.1 0.0 "
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 109,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"ori_data[(ori_data['nwp_globalirrad'] == good_data_first[0]) &\n",
|
|||
|
"# (ori_data['nwp_directirrad'] == good_data_first[1]) &\n",
|
|||
|
"# (ori_data['nwp_temperature'] == good_data_first[2]) &\n",
|
|||
|
"# (ori_data['nwp_humidity'] == good_data_first[3]) &\n",
|
|||
|
"# (ori_data['nwp_windspeed'] == good_data_first[4]) &\n",
|
|||
|
"# (ori_data['nwp_winddirection'] == good_data_first[5]) &\n",
|
|||
|
"# (ori_data['nwp_pressure'] == good_data_first[6]) &\n",
|
|||
|
"# (ori_data['lmd_totalirrad'] == good_data_first[7]) &\n",
|
|||
|
" (ori_data['lmd_diffuseirrad'] == 0) &\n",
|
|||
|
" (ori_data['lmd_temperature'] == 22.6) &\n",
|
|||
|
"# (ori_data['lmd_pressure'] == good_data_first[10]) &\n",
|
|||
|
" (ori_data['lmd_winddirection'] == 216) &\n",
|
|||
|
" (ori_data['lmd_windspeed'] == 1.1) &\n",
|
|||
|
" (ori_data['power'] == good_data_first[13])]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 120,
|
|||
|
"id": "1a1e7b2f",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"data_1 = ori_data.loc[31213 - 192 : 31213 + 95]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 122,
|
|||
|
"id": "dbbebba5",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"(109, 15)"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 122,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data_1.shape"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 118,
|
|||
|
"id": "0ffe8b7f",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAIpCAYAAAAxYBJBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9ZUlEQVR4nO3dd3hUVf7H8c/NJAQivYcklEVXxK6AikaIUkRlgRiQooAVBZWA4rIqa0OxssGyYMcCqGDABmpESkRAirhWQKWGUJWEGsLk/v44vwmETCBlkjt38n49D8+9c+6ZyTfDSTLfe5pl27YtAAAAAADgqDCnAwAAAAAAACToAAAAAAAEBRJ0AAAAAACCAAk6AAAAAABBgAQdAAAAAIAgQIIOAAAAAEAQIEEHAAAAACAIkKADAAAAABAESNABAAAAAAgCJOgAgKDTvHlzWZZV4F9kZKRiY2PVo0cPffLJJ06HqPnz58uyLHXs2NHpUErk2PfVsixVq1ZNLVu21A033KD//e9/ToeYb/DgwbIsS5MnTy5Q/tBDD8myLD300EPlHoNb/58BAO4U7nQAAAAU5eKLL9bJJ58sScrKytJ3332njz76SB999JFGjBih8ePHOxyhe3Xt2lWNGzeWJG3fvl3Lli3T5MmTNWXKFL3zzjvq06ePwxFWDMuyJEm2bTscCQAAJOgAgCB28803a/DgwfmPDx8+rBEjRuiFF17Qf/7zH/Xr109t27Z1LkAXGz16dIFe4aysLPXu3VtpaWm65ZZb1LlzZ9WpU8e5AI/jjjvuUN++fVW/fv1y/1rt2rXTL7/8oqioqHL/WgAAMMQdAOAa4eHhevrpp1WzZk1J0scff+xwRKGjVq1aevnllyVJ2dnZ+vzzzx2OqGj169dXq1atKiRBj4qKUqtWrdS0adNy/1oAAJCgAwBcpWrVqjrllFMkSdu2bfNbZ+7cuUpMTFR0dLSqVKmihg0bqlevXlq8eLHf+t9++63uvfdetWvXTo0bN1aVKlXUqFEjde/eXV9++WVA4v71119lWZbq1KmjgwcPFlmvTZs2sixLH374YX5ZZmamhg8frr///e+qWrWqoqKiFBcXp8svv1zPPPNMQOKTzNz/unXrSpLWr1+ff7QsS82bN5fX69X48eN17rnnqnr16vnDw33WrFmjIUOGqGXLlqpatapq1aqlSy+9VO+8806RX/PPP/9UcnKymjVrpsjISDVt2lR33HGH/vzzzyKfc6I56GvWrNHQoUN16qmnKioqSjVr1lTr1q01dOhQ/fjjjwVew+fYefm+7/9Ec9B//fVX3XDDDfnx161bV5dffrnef//9E8a+Y8cODRs2THFxcapSpYri4uJ05513avfu3X6fO336dHXq1En16tVTRESE6tWrp9atW+uWW24JqrUDAAClxxB3AIDrZGdnS5IaNWpU6No999yjZ599VmFhYWrTpo3i4+O1ceNGffjhh/r444/1yiuv6IYbbijwnPvuu0/z5s3T6aefrvPPP18nnXSSfv/9d33yySf65JNPlJKSouHDh5cp5latWumiiy7S4sWLNWvWLPXt27dQnR9++EErVqxQo0aNdNVVV0mStm7dqjZt2mjLli1q2rSprrjiClWtWlVbtmzRqlWrtGLFCt1zzz1lis0nLy9P+/btkyRFRkYWuGbbthITE/XZZ58pPj5ep512mn766af869OnT9fAgQN18OBBtWrVSldeeaWysrK0dOlSXX/99frqq6/0+uuvF3jNbdu2KT4+XmvXrlWdOnV09dVXKy8vT1OmTNFnn32m008/vcTfw9SpU3XjjTcqJydHTZs21ZVXXqm8vDz98ccfmjRpkho2bKgzzjhD55xzjgYNGqQ333xTkjRo0KACr1O9evUTfq1PP/1USUlJOnjwoE499VQlJiZq+/btWrBggb766it9/vnneu211/w+d9OmTTrvvPOUm5uriy++WAcPHtSiRYv0wgsvaOnSpVq0aJEiIiLy6z/yyCN68MEHFR4ervbt2ysmJkZZWVnauHGjXnvtNZ1++uk666yzSvx+AQCCjA0AQJBp1qyZLcl+4403Cl37+eefbY/HY0uyly1bVuDayy+/bEuyTz75ZPv7778vcG3BggV2jRo17CpVqthr1qwpcG327Nn2li1bCn2tb775xq5Zs6YdERFhb968ucC1efPm2ZLsDh06FPv7euWVV2xJdteuXf1eHzFihC3Jvvvuu/PLHn74YVuSfeutt9p5eXkF6h86dMj+8ssvi/31bdu2JdmS7Hnz5hW69sknn+Rf/+qrr2zbtu1169bll8XGxtqrV68u9Lz//e9/dmRkpF21alX7gw8+KHBt/fr19plnnmlLst98880C15KSkmxJdnx8vL179+788l27dtkXXHBB/tc9th08+OCDtiT7wQcfLFC+fPlyOyIiwrYsy37uuedsr9dbKJbly5f7fT+KUtT/89atW+1atWrZkuyxY8cW+L9ZtmyZXadOHVuS/fLLL/uNXZI9ePBg++DBg/nXNm7caMfExNiS7KlTp+aXHzx40K5WrZpdvXp1+9dffy0U4/r16+1ffvmlyO8BAOAeDHEHALhCVlaWvvjiCyUmJsrr9eqBBx5QmzZt8q/n5eXlD3l+9913C/UmXnrppRozZowOHTqkl156qcC1bt26KTo6utDXvOiiizRs2DDl5uYWGHJeWtdee62ioqKUlpamjIyMAtdyc3Pzh4If3cPvG8Z/xRVXFBpSHhERocsvv7zMce3cuVPTpk3TjTfeKEk655xz1KFDh0L1Hn/8cf39738vVP7YY48pJydHY8eOVWJiYoFrzZo1y+9Ffu655/LLN23apNTUVFmWpUmTJqlWrVr51+rWratJkyaV+PsYO3ascnNzdccdd+jOO+9UWFjBjznNmjXT+eefX+LX9eeVV15RVlaWzj//fN1///0F/m/atGmj+++/X5L09NNP+31+bGysXnzxxQIjFXxD3CUVmFqRnZ2tAwcO6G9/+5tOPfXUQq/VrFkztWrVKiDfFwDAWSToAICgdcMNN+TPCa5du7a6du2qtWvX6p133tGjjz5aoO53332nLVu2qGXLlkUmYb55xN98802ha7t27dJbb72le++9V7fccosGDx6swYMHa8GCBZKk1atXl/n7qVGjhpKSkpSXl6e33nqrwLVPP/1UO3bsULt27QoM7W7Xrp0ks+p6amqq9u7dW+Y4JCkhISH/vW3QoIH69++v7du367zzztOsWbMKJbeSdM011xQqy8vL05w5cySZGxD+tGnTRtWrV9d3332XP/9+4cKFysvL03nnnafWrVsXes4555xToiHbXq9XaWlpkqRbb7212M8rrfnz50sqPDTe56abbpIkrV27Vlu2bCl0/fLLL/e7Mvxpp50mSQVu4DRo0EDNmzfX//73P9199936+eefyxo+ACBIMQcdABC0jt4HfceOHUpPT9eePXt0++2365RTTslPXiXpjz/+kCT9/vvvhXqaj7Vjx44Cj1955RWNGDEif/61P75572V144036q233tLkyZP1r3/9K7/8jTfekKRC8+Ovv/56paWlacqUKbrmmmvk8XjUunVrXXLJJUpKStJll11WqjiO3gc9MjJSTZo0UXx8fH7ifqyGDRv6TSh37dqV/97ExcWd8Ovu2rVLMTEx2rx5sySpRYsWRdZt0aJFsRc/27VrV/7/n79e5kDzJdBFxV+7dm3VrVtXf/75pzZv3qwmTZoUuF7UqvC+HQqOXUjwrbfeUlJSksaPH6/x48erbt26uuCCC9S5c2ddf/31FbKiPQCg/JGgAwCC1rH7oGdlZalXr16aN2+e+vTpo59//jk/aczLy5MkNW7cWF27dj3u6x6dzKxYsUJDhgyRx+PRk08+qe7du6tp06aKioqSZVl6+eWXNWTIENm2HZDv6dJLL1XLli21Zs0affPNN2rfvr22b9+u2bNnq2rVqoUWjwsLC9M777yj++67T59++qkWLVqkRYsWaeLEiZo4caK6d++umTNnyuPxlCiOY/dBP5Fq1ar5Lfe971LRvclHO3b
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 1200x600 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"real = data_1['power']\n",
|
|||
|
"# 创建 x 轴数据(索引)\n",
|
|||
|
"x = np.arange(96)\n",
|
|||
|
"\n",
|
|||
|
"# 绘制折线图\n",
|
|||
|
"plt.figure(figsize=(12, 6))\n",
|
|||
|
"plt.plot(x, real, label='Real', marker='o', linestyle='-', color='blue')\n",
|
|||
|
"\n",
|
|||
|
"# 添加标题和标签\n",
|
|||
|
"plt.title('Real vs Predictions', fontsize=16)\n",
|
|||
|
"plt.xlabel('Index', fontsize=12)\n",
|
|||
|
"plt.ylabel('Value', fontsize=12)\n",
|
|||
|
"\n",
|
|||
|
"# 添加图例\n",
|
|||
|
"plt.legend()\n",
|
|||
|
"\n",
|
|||
|
"# 显示网格\n",
|
|||
|
"plt.grid(True)\n",
|
|||
|
"\n",
|
|||
|
"# 显示图表\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"id": "6f164db5",
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "data_ana",
|
|||
|
"language": "python",
|
|||
|
"name": "data_ana"
|
|||
|
},
|
|||
|
"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.0"
|
|||
|
},
|
|||
|
"toc": {
|
|||
|
"base_numbering": 1,
|
|||
|
"nav_menu": {},
|
|||
|
"number_sections": true,
|
|||
|
"sideBar": true,
|
|||
|
"skip_h1_title": false,
|
|||
|
"title_cell": "Table of Contents",
|
|||
|
"title_sidebar": "Contents",
|
|||
|
"toc_cell": false,
|
|||
|
"toc_position": {},
|
|||
|
"toc_section_display": true,
|
|||
|
"toc_window_display": false
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 5
|
|||
|
}
|