{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"ForecastingClimatic_validation.ipynb","version":"0.3.2","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"markdown","metadata":{"id":"N9eRnbeURTNT","colab_type":"text"},"source":["# Required libraries"]},{"cell_type":"code","metadata":{"id":"mO0FwGM2QqIS","colab_type":"code","colab":{}},"source":["import pandas\n","import tqdm\n","import gzip\n","import os\n","import urllib.request\n","import pickle\n","import numpy\n","import time\n","import PIL.Image\n","\n","import torch\n","import torch.nn as nn\n","import torch.optim as optim\n","import torch.utils.data as dataset\n","\n","import scipy.signal as signal\n","import matplotlib.pyplot as plt\n","import matplotlib as mpl"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"6B7Aob0wRdeM","colab_type":"text"},"source":["# Settings"]},{"cell_type":"code","metadata":{"id":"0JGkcu1ARe-u","colab_type":"code","colab":{}},"source":["DATA_URL = ('https://crudata.uea.ac.uk/cru/data/hrg/cru_ts_4.01/'\n"," 'cruts.1709081022.v4.01/tmp/cru_ts4.01.1901.2016.tmp.dat.gz')\n","DATA_DIR = 'data'\n","DATA_CSV = os.path.join(DATA_DIR, 'cru_ts4.01.1901.2016.tmp.dat.gz')\n","DATA_PKL = os.path.join(DATA_DIR, 'cru_ts4.01.1901.2016.tmp.dat.pkl')\n","\n","SAMPLE_SIZE = 519718\n","TRAIN_SIZE = int(519718 * 0.75)\n","VALID_SIZE = int(519718 * 0.25)\n","TEST_SIZE = int(519718 * 0.25)\n","\n","EPOCH = 30\n","BATCH_SIZE = 128\n","LEARNING_RATE = 0.01"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"TNZjKPRBRi7f","colab_type":"text"},"source":["# Download"]},{"cell_type":"code","metadata":{"id":"8D6zsKoqSLsf","colab_type":"code","outputId":"a5bc0d1b-cac5-4629-b2d8-5291385955f6","executionInfo":{"status":"ok","timestamp":1557214565410,"user_tz":-540,"elapsed":3819,"user":{"displayName":"Atsushi Takeda","photoUrl":"https://lh3.googleusercontent.com/-61K4FDewkLo/AAAAAAAAAAI/AAAAAAAAACM/eYtVf1e5o5A/s64/photo.jpg","userId":"06675068946284916780"}},"colab":{"base_uri":"https://localhost:8080/","height":334}},"source":["class TqdmUpTo(tqdm.tqdm):\n"," '''copied from https://github.com/tqdm/tqdm/blob/master/examples/tqdm_wget.py'''\n","\n"," def update_to(self, b=1, bsize=1, tsize=None):\n"," if tsize is not None:\n"," self.total = tsize\n"," self.update(b * bsize - self.n)\n","\n","\n","def load_data():\n"," os.makedirs(DATA_DIR, exist_ok=True)\n","\n"," # download\n"," if not os.path.isfile(DATA_CSV):\n"," with TqdmUpTo(unit='B', unit_scale=True,\n"," unit_divisor=1024, desc=os.path.basename(DATA_CSV)) as t:\n"," urllib.request.urlretrieve(DATA_URL, DATA_CSV, reporthook=t.update_to)\n","\n"," # make data file (remove invalid data)\n"," if not os.path.isfile(DATA_PKL):\n"," with gzip.open(DATA_CSV, 'r') as reader:\n"," data = pandas.read_csv(reader, delim_whitespace=True, header=None).values\n","\n"," data = data.reshape((-1, 360 * 720))\n"," data = data[:, ((data == -999).sum(axis=0)) == 0].transpose().astype(\"int32\")\n","\n"," with open(DATA_PKL, 'wb') as writer:\n"," pickle.dump(data, writer)\n","\n"," with open(DATA_PKL, 'rb') as reader:\n"," return pickle.load(reader)\n","\n","data = load_data()\n","data = (data - data.min()) * (1.0 / (data.max() - data.min()))\n","print('available data size:', data.shape)\n","\n","year_mean = data.reshape(data.shape[0], -1, 12)\n","year_mean = numpy.average(year_mean, axis=2)\n","\n","future_mean = signal.convolve2d(\n"," year_mean[:, 30:], numpy.ones((1, 10)) / 10, mode='valid')\n","\n","past_mean = signal.convolve2d(\n"," year_mean[:, :-10], numpy.ones((1, 30)) / 30, mode='valid')\n","chance = (future_mean > past_mean).astype(numpy.float)\n","chance = numpy.average(chance, axis=0)\n","\n","plt.plot(range(1930, 2007), chance)\n","plt.xlabel('year')\n","plt.ylabel('probability of rising tempalatures')\n","plt.show()\n","\n","print('chance(1931-2016):', numpy.average(chance))\n","print('chance(1982-2016):', numpy.average(chance[-26:]))"],"execution_count":0,"outputs":[{"output_type":"stream","text":["available data size: (67420, 1392)\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\nxJ9O6F8AAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}},{"output_type":"stream","text":["chance(1931-2016): 0.6983876995149614\n","chance(1982-2016): 0.9552649293749856\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"7dTYFaNrSiGN","colab_type":"text"},"source":["# Dataset"]},{"cell_type":"code","metadata":{"id":"-L9nVaNGS6Ao","colab_type":"code","outputId":"8834a1da-8197-426f-b52c-8ca3f518b2c9","executionInfo":{"status":"ok","timestamp":1557214566344,"user_tz":-540,"elapsed":4735,"user":{"displayName":"Atsushi Takeda","photoUrl":"https://lh3.googleusercontent.com/-61K4FDewkLo/AAAAAAAAAAI/AAAAAAAAACM/eYtVf1e5o5A/s64/photo.jpg","userId":"06675068946284916780"}},"colab":{"base_uri":"https://localhost:8080/","height":280}},"source":["class Dataset(dataset.Dataset):\n","\n"," def __init__(self, data, indices):\n"," self.data = data\n"," self.indices = indices\n","\n"," def __len__(self):\n"," return len(self.indices)\n","\n"," def __getitem__(self, idx):\n"," pos = self.indices[idx] % self.data.shape[0]\n"," year = self.indices[idx] // self.data.shape[0]\n"," past = self.data[pos, (year + 0) * 12:(year + 30) * 12]\n"," future = self.data[pos, (year + 30) * 12:(year + 40) * 12]\n"," target = 1 if numpy.average(future) > numpy.average(past) else 0\n","\n"," # resize to 60x60\n"," img = past.reshape(-1, 12)\n"," img = PIL.Image.fromarray(img)\n"," img = img.resize((60, 60), resample=PIL.Image.NEAREST)\n"," img = numpy.array(img).T\n","\n"," # heat color\n"," r = numpy.ones_like(img)\n"," g = img\n"," b = numpy.zeros_like(img)\n"," img = numpy.stack([r, g, b], axis=0)\n","\n"," return img, target\n","\n","\n","numpy.random.seed(0)\n","risefall = future_mean > past_mean\n","\n","train_data = data[:, :-36 * 12] # 1901-1981 (label: 1931-1981)\n","train_risefall = risefall[:, :-36].T.reshape(-1)\n","train_rise_indices = numpy.random.choice(\n"," numpy.where(train_risefall == 1)[0], TRAIN_SIZE // 2, replace=False)\n","train_fall_indices = numpy.random.choice(\n"," numpy.where(train_risefall == 0)[0], TRAIN_SIZE // 2, replace=False)\n","train_indices = numpy.concatenate([train_rise_indices, train_fall_indices])\n","train_dataset = Dataset(train_data, train_indices)\n","\n","valid_data = data[:, -65 * 12:] # 1952-2016 (label: 1982-2016)\n","valid_risefall = risefall[:, -26:].T.reshape(-1)\n","valid_rise_indices = numpy.random.choice(\n"," numpy.where(valid_risefall == 1)[0], VALID_SIZE // 2, replace=False)\n","valid_fall_indices = numpy.random.choice(\n"," numpy.where(valid_risefall == 0)[0], VALID_SIZE // 2, replace=False)\n","valid_indices = numpy.concatenate([valid_rise_indices, valid_fall_indices])\n","valid_dataset = Dataset(valid_data, valid_indices)\n","\n","test_data = data[:, -65 * 12:] # 1952-2016 (label: 1982-2016)\n","test_indices = numpy.random.choice(\n"," risefall[:, -26:].T.reshape(-1).shape[0], TEST_SIZE, replace=False)\n","test_dataset = Dataset(test_data, test_indices)\n","\n","print('train data size:', len(train_dataset))\n","print('valid data size:', len(valid_dataset))\n","print('test data size:', len(test_dataset))\n","\n","for i in range(8):\n"," image = train_dataset[i][0]\n"," image = numpy.rollaxis(image, 0, 3)\n","\n"," plt.subplot(2, 4, i + 1)\n"," plt.tick_params(\n"," labelbottom=False, labelleft=False, labelright=False, labeltop=False)\n"," plt.imshow(image)\n","\n","plt.show()"],"execution_count":0,"outputs":[{"output_type":"stream","text":["train data size: 389788\n","valid data size: 129928\n","test data size: 129929\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\nTkSuQmCC\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"markdown","metadata":{"id":"ey2omndhT0x-","colab_type":"text"},"source":["# Model"]},{"cell_type":"code","metadata":{"id":"uB_Y0w0wT2TV","colab_type":"code","outputId":"fc9f097a-26fc-4b5b-cb7b-dd62fc3d8baf","executionInfo":{"status":"ok","timestamp":1557214566346,"user_tz":-540,"elapsed":4723,"user":{"displayName":"Atsushi Takeda","photoUrl":"https://lh3.googleusercontent.com/-61K4FDewkLo/AAAAAAAAAAI/AAAAAAAAACM/eYtVf1e5o5A/s64/photo.jpg","userId":"06675068946284916780"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["class LeNet(nn.Module):\n","\n"," def __init__(self):\n"," super().__init__()\n","\n"," self.conv = nn.Sequential(\n"," nn.Conv2d(3, 6, kernel_size=5),\n"," nn.Tanh(),\n"," nn.MaxPool2d(kernel_size=2, stride=2),\n"," nn.Conv2d(6, 16, kernel_size=5),\n"," nn.Tanh(),\n"," nn.MaxPool2d(kernel_size=2, stride=2))\n","\n"," self.full = nn.Sequential(\n"," nn.Linear(16 * 12 * 12, 120),\n"," nn.Tanh(),\n"," nn.Linear(120, 84),\n"," nn.Tanh(),\n"," nn.Linear(84, 2))\n","\n"," def forward(self, x):\n"," x = self.conv(x)\n"," x = x.view(x.size(0), -1)\n"," x = self.full(x)\n","\n"," return x\n","\n","\n","model = LeNet()\n","\n","optimizer = optim.SGD(model.parameters(), lr=LEARNING_RATE)\n","criterion = nn.CrossEntropyLoss()\n","\n","print('model size:', sum(p.numel() for p in model.parameters()))"],"execution_count":0,"outputs":[{"output_type":"stream","text":["model size: 289806\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"jhoMh1oOUVFt","colab_type":"text"},"source":["# Training"]},{"cell_type":"code","metadata":{"id":"9Zq_5SarUYRG","colab_type":"code","outputId":"6ffe298c-a93a-4a01-fbe4-be05348149cf","executionInfo":{"status":"ok","timestamp":1557217704125,"user_tz":-540,"elapsed":729367,"user":{"displayName":"Atsushi Takeda","photoUrl":"https://lh3.googleusercontent.com/-61K4FDewkLo/AAAAAAAAAAI/AAAAAAAAACM/eYtVf1e5o5A/s64/photo.jpg","userId":"06675068946284916780"}},"colab":{"base_uri":"https://localhost:8080/","height":1071}},"source":["class AverageMeter(object):\n","\n"," def __init__(self):\n"," self.reset()\n","\n"," def reset(self):\n"," self.val = 0\n"," self.avg = 0\n"," self.sum = 0\n"," self.count = 0\n","\n"," def update(self, val, n=1):\n"," self.val = val\n"," self.sum += val * n\n"," self.count += n\n"," self.avg = self.sum / self.count\n","\n","\n","def accuracy(output, target):\n"," with torch.no_grad():\n"," return output.argmax(dim=1).eq(target).float().sum() / target.size(0)\n","\n","\n","def perform(model, loader, optimizer=None):\n"," loss_avg = AverageMeter()\n"," acc_avg = AverageMeter()\n","\n"," for x, t in loader:\n"," x = x.cuda(non_blocking=True)\n"," t = t.cuda(non_blocking=True)\n","\n"," # forward\n"," y = model(x)\n","\n"," loss = criterion(y, t)\n"," acc = accuracy(y, t)\n","\n"," # update parameters\n"," if optimizer is not None:\n"," optimizer.zero_grad()\n"," loss.backward()\n"," optimizer.step()\n","\n"," # update results\n"," loss_avg.update(float(loss), x.size(0))\n"," acc_avg.update(float(acc), x.size(0))\n","\n"," return loss_avg.avg, acc_avg.avg\n","\n","\n","model = model.cuda()\n","criterion = criterion.cuda()\n","\n","torch.torch.backends.cudnn.benchmark = True\n","torch.torch.backends.cudnn.enabled = True\n","\n","train_loader = dataset.DataLoader(\n"," train_dataset, batch_size=BATCH_SIZE, shuffle=True,\n"," pin_memory=True, num_workers=2)\n","\n","valid_loader = dataset.DataLoader(\n"," valid_dataset, batch_size=BATCH_SIZE, shuffle=False,\n"," pin_memory=True, num_workers=2)\n","\n","schesuler = optim.lr_scheduler.CosineAnnealingLR(optimizer, EPOCH)\n","\n","train_time = AverageMeter()\n","valid_time = AverageMeter()\n","train_loss = []\n","train_acc = []\n","valid_loss = []\n","valid_acc = []\n","\n","for epoch in range(EPOCH):\n"," schesuler.step()\n","\n"," start_time = time.time()\n"," model.train()\n"," loss, acc = perform(model, train_loader, optimizer)\n"," train_loss.append(loss)\n"," train_acc.append(acc)\n"," train_time.update(time.time() - start_time)\n"," print('[{}] train: loss={:.4f}, accuracy={:.4f}'.format(epoch, loss, acc))\n","\n"," start_time = time.time()\n"," model.eval()\n"," with torch.no_grad():\n"," loss, acc = perform(model, valid_loader)\n"," valid_loss.append(loss)\n"," valid_acc.append(acc)\n"," valid_time.update(time.time() - start_time)\n"," print('[{}] valid: loss={:.4f}, accuracy={:.4f}'.format(epoch, loss, acc))\n","\n","print('train time/epoch: {:.4f} sec'.format(train_time.avg))\n","print('valid time/epoch: {:.4f} sec'.format(valid_time.avg))"],"execution_count":0,"outputs":[{"output_type":"stream","text":["[0] train: loss=0.6918, accuracy=0.5212\n","[0] valid: loss=0.6912, accuracy=0.5021\n","[1] train: loss=0.6906, accuracy=0.5297\n","[1] valid: loss=0.6883, accuracy=0.5114\n","[2] train: loss=0.6875, accuracy=0.5395\n","[2] valid: loss=0.6857, accuracy=0.5377\n","[3] train: loss=0.6694, accuracy=0.5805\n","[3] valid: loss=0.6465, accuracy=0.6162\n","[4] train: loss=0.6301, accuracy=0.6320\n","[4] valid: loss=0.5899, accuracy=0.6696\n","[5] train: loss=0.6017, accuracy=0.6607\n","[5] valid: loss=0.5945, accuracy=0.6714\n","[6] train: loss=0.5827, accuracy=0.6811\n","[6] valid: loss=0.5689, accuracy=0.6926\n","[7] train: loss=0.5596, accuracy=0.7020\n","[7] valid: loss=0.5557, accuracy=0.7059\n","[8] train: loss=0.5275, accuracy=0.7276\n","[8] valid: loss=0.6015, accuracy=0.6823\n","[9] train: loss=0.4947, accuracy=0.7499\n","[9] valid: loss=0.6140, accuracy=0.6940\n","[10] train: loss=0.4664, accuracy=0.7676\n","[10] valid: loss=0.6990, accuracy=0.6574\n","[11] train: loss=0.4405, accuracy=0.7839\n","[11] valid: loss=0.6652, accuracy=0.6700\n","[12] train: loss=0.4176, accuracy=0.7969\n","[12] valid: loss=0.7058, accuracy=0.6639\n","[13] train: loss=0.3978, accuracy=0.8095\n","[13] valid: loss=0.7156, accuracy=0.6648\n","[14] train: loss=0.3796, accuracy=0.8199\n","[14] valid: loss=0.7516, accuracy=0.6545\n","[15] train: loss=0.3647, accuracy=0.8289\n","[15] valid: loss=0.7899, accuracy=0.6526\n","[16] train: loss=0.3520, accuracy=0.8365\n","[16] valid: loss=0.7783, accuracy=0.6612\n","[17] train: loss=0.3413, accuracy=0.8428\n","[17] valid: loss=0.7951, accuracy=0.6580\n","[18] train: loss=0.3328, accuracy=0.8475\n","[18] valid: loss=0.9119, accuracy=0.6333\n","[19] train: loss=0.3254, accuracy=0.8518\n","[19] valid: loss=0.8454, accuracy=0.6613\n","[20] train: loss=0.3196, accuracy=0.8548\n","[20] valid: loss=0.8592, accuracy=0.6519\n","[21] train: loss=0.3146, accuracy=0.8573\n","[21] valid: loss=0.8924, accuracy=0.6430\n","[22] train: loss=0.3109, accuracy=0.8597\n","[22] valid: loss=0.8911, accuracy=0.6453\n","[23] train: loss=0.3078, accuracy=0.8613\n","[23] valid: loss=0.8896, accuracy=0.6459\n","[24] train: loss=0.3054, accuracy=0.8628\n","[24] valid: loss=0.8924, accuracy=0.6462\n","[25] train: loss=0.3037, accuracy=0.8638\n","[25] valid: loss=0.8903, accuracy=0.6466\n","[26] train: loss=0.3027, accuracy=0.8642\n","[26] valid: loss=0.9040, accuracy=0.6459\n","[27] train: loss=0.3020, accuracy=0.8646\n","[27] valid: loss=0.8964, accuracy=0.6476\n","[28] train: loss=0.3016, accuracy=0.8648\n","[28] valid: loss=0.8963, accuracy=0.6464\n","[29] train: loss=0.3015, accuracy=0.8649\n","[29] valid: loss=0.8963, accuracy=0.6464\n","train time/epoch: 80.6036 sec\n","valid time/epoch: 23.8461 sec\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"oad2EDvB1fHn","colab_type":"text"},"source":["# Result"]},{"cell_type":"code","metadata":{"id":"OSh2iO5u1grr","colab_type":"code","outputId":"2130509e-eb40-43c4-9cc2-c896cd5db549","executionInfo":{"status":"ok","timestamp":1557217729343,"user_tz":-540,"elapsed":25224,"user":{"displayName":"Atsushi Takeda","photoUrl":"https://lh3.googleusercontent.com/-61K4FDewkLo/AAAAAAAAAAI/AAAAAAAAACM/eYtVf1e5o5A/s64/photo.jpg","userId":"06675068946284916780"}},"colab":{"base_uri":"https://localhost:8080/","height":660}},"source":["test_loader = dataset.DataLoader(\n"," test_dataset, batch_size=BATCH_SIZE, shuffle=False,\n"," pin_memory=True, num_workers=2)\n","\n","model.eval()\n","with torch.no_grad():\n"," test_loss, test_acc = perform(model, test_loader)\n","\n","print('train: loss={:.4f}, accuracy={:.4f}'.format(train_loss[-1], train_acc[-1]))\n","print('valid: loss={:.4f}, accuracy={:.4f}'.format(valid_loss[-1], valid_acc[-1]))\n","print('test: loss={:.4f}, accuracy={:.4f}'.format(test_loss, test_acc))\n","\n","figure = plt.figure(figsize=(8, 10))\n","axis_loss, axis_acc = figure.subplots(2, 1)\n","mpl.rcParams[\"legend.loc\"] = 'upper right'\n","\n","axis_loss.set_xlabel('epoch')\n","axis_loss.set_ylabel('loss')\n","axis_loss.plot(range(len(train_loss)), train_loss, linestyle='--', label='training')\n","axis_loss.plot(range(len(valid_loss)), valid_loss, linestyle='-', label='validation')\n","axis_loss.legend()\n","\n","axis_acc.set_xlabel('epoch')\n","axis_acc.set_ylabel('accuracy')\n","axis_acc.plot(range(len(train_acc)), train_acc, linestyle='--', label='training')\n","axis_acc.plot(range(len(valid_acc)), valid_acc, linestyle='-', label='validation')\n","axis_acc.legend()\n","\n","plt.show()"],"execution_count":0,"outputs":[{"output_type":"stream","text":["train: loss=0.3015, accuracy=0.8649\n","valid: loss=0.8963, accuracy=0.6464\n","test: loss=0.7757, accuracy=0.7111\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\nRK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}}]}]}