{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Extreme Value Analysis 2 (Solution)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Objective"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the adequate parametric continuous distribution function for the identified extreme observations and assess its goodness of fit."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Once the extreme observation of our loading variables are sampled for the historical database, we can adress the fitting of the parametric distribution which will allow us to infer the needed extreme values, although we may not have observed them yet. We will follow the next steps:\n",
"\n",
"0. Load libraries, data and run previously developed code\n",
"1. Calculating the empirical distribution function \n",
"2. Fitting the Generalized Extreme Value parametric distribution\n",
"3. Assessing goodness of fit"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 0. Load libraries, data and run previously developed code"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Install dependences if needed"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#!pip install --upgrade pandas numpy scipy statsmodels matplotlib datetime\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import necessary libraries (include more if needed)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from scipy import stats\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"import datetime"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are going to use the same dataset as Wednesday. Here, we are going to import it from our local folder directly. Ensure that the file \"Buoy.csv\" is located in the same folder that your notebook."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Date (GMT)
\n",
"
Hs(m)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1985 09 24 21
\n",
"
0.22
\n",
"
\n",
"
\n",
"
1
\n",
"
1985 09 25 21
\n",
"
0.46
\n",
"
\n",
"
\n",
"
2
\n",
"
1985 09 26 00
\n",
"
0.73
\n",
"
\n",
"
\n",
"
3
\n",
"
1985 09 26 03
\n",
"
0.72
\n",
"
\n",
"
\n",
"
4
\n",
"
1985 09 26 06
\n",
"
0.75
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Date (GMT) Hs(m)\n",
"0 1985 09 24 21 0.22\n",
"1 1985 09 25 21 0.46\n",
"2 1985 09 26 00 0.73\n",
"3 1985 09 26 03 0.72\n",
"4 1985 09 26 06 0.75"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv(\"Buoy.csv\", sep = ';')\n",
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We saw in the previous notebook that we needed to give the first column an appropriate format and remove mistaken measurements of the buoy. Remember that the first column of the database corresponds to the date and time of each measurement, while the second column corresponds to the hourly measured significant wave height ($H_s$)."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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x6hRo/DWW2/h/vvvxz333INnnnkGixYtwp133okmTZrg4YcfxnnnnQcAqFq1Ks4++2yULl0aw4YNQ48ePbBgwQLcd999+O9//6sp59SpUwEAs2bNSpx79NFHUbt2bQwfPhxXXHFF4vw///yDhx9+GG3atDF8fiVeKnJqCCFsjdTqedVUduT0On2MfVq1amUYJmhFrmXLloGmnwmobR/Qr18/zbDDhg3Dp59+mnS+b9++AP7f1L1GjRq4//77NdM8evRoyrmyZcvi0UcfNbV287fffjMMI+e6665LzGiNGzcOX3zxBZo2bZpket+gQQMAqW3TnDlz8L///Q8ffvhh4lzLli0TXgaNlH4rbepDDz2ke/3ZZ581HRdgbkBC+s716tUrca5mzZr4/PPPE8fSMwwbNixxrnXr1rrxDh061JKsmc5nn33mWdxuzsiNGTMGn3zyiWvxucmHH35oaskAk6EIIUL516xZMxFGAKT8HTlyJOVc06ZNLccj/3vmmWcSv5988kkxYsQIAUB06dLFtIxhxygP5H95eXma9z/wwAPiyiuv1L3/kksuSTouX758Ip5vvvkmJfz8+fPFG2+8kXgX5cuXN5RRejda11euXCk2bNiQOG7cuLEQQohly5ZZyoso/1l973b+Zs6caRhmypQpmvLZLaNW/gYNGiRq1aqlG+bWW291Pd0pU6aI8ePHB14O/Pi76KKLVN/v4MGDBQDxyCOPaL53JVK9rVu3rmq5kOjcubPqe5Qzbdo03bSU999zzz2iaNGiieOlS5cmfh89etQwHonp06eryqwWVgghmjZtqpu/a9euNf0u1J5LSwYzf+PGjUs5d/nll6vGffDgwcS5G264ISmtHj16aOZfvXr1dGUOunxb/XvqqacCSXf9+vWexX3qqae6FleY3+u8efNCK1u6/Z1zzjmabUKQAFggNPQlnpFzAaEyuq92zgry0U4hcxnuNN6oojcCW1BQ4Lpp5VlnnZVIs7CwEIMGDTKU0cwItTyMFD8vnPefU089NWgRcOGFF+pez9S67gZdunTByy+/rHrtmmuuAQB07doV9evXx4ABAwzjq1mzJipUqJDwcPvBBx+gbt266Nq1a9I6N/k6ZWkt8RNPPGFJ9nvuuSfp+Omnn04yrZc7SLJiKqvnwGngwIEp6/Vef/111bDXX389ypYti9q1a+Oyyy5Djx490L9/fwAxJzES//3vf3HxxRfjqaeeAhAz0Qdi1h9AqlfQq666Ct27dzd8jrp166JFixYp519++WU89thjAJIdx8iXEEjvQtoD9YEHHtBMRz5zJ3HWWWclfv/www+GsoaJbdu2BZKul9+3DRs2uB6nH47OmHBSpkwZTauNUKOl4QX9F9YZuSFDhqRo8Lm5uSmjd02aNNGNRxmH8u+5555L/O7Zs6cYOXKkACA6d+5sKKN0X9gxygP5X0FBgeb9d999t2jbtq3u/ZdeemnSsXxG7ttvv00JL4QQb7/9tgBiI5lmZL7rrrt0w6xYsUJs3Lgxcfzvf/9bCCHE8uXLLY8a5eTkWM7DMPz5IfOMGTMMw2zdulVTPrtl1MrfwIEDRf/+/XXDdOrUyfV0p0yZIiZMmBB4OfDiLyoYzciZQXrmEydOOBcoIqi9Z7PvvkiRIgJQt+xwU7Yw/918882BpCv/5hnV3ZNOOikU7UbQ70r5xzNywZWFsACekfOWwsLClEW3wqPRdK/iDTt6o3pq+W/lfq1r0mi32Ty3OvLIjie8wcz7CkM9MpqR8wKe/U0vuA2xRiaX/6CePZPz3C3C8L1iwouvXwEiak9Eq4hoLRFZW90cEtQqlBAixbTPacVTc26SyRgpcm6bVgJIMq00g5lOlTwtydlJpr/bIAj6wyiEQNOmTQ3DMIwe3HYwYcdKGeU2j2Gs45siR0RFAXwEoAOAhgA6E5G+f+MQotbQeDEjJ1cK5HFxQ5eKGUVOT8lyS5Ez+mAJ2VpHefx2OmNcDrSJwoycEPa8oroBd/7TB36X1uD88h8v81zyyMowmYyfM3ItAKwVQqwXQuQB+BbA9T6m7wpaLqSVmxCb2ZRYD3knr0SJEol0zbiwzjRKlCihuTWEhHLPPPmx1mab0jswuxmnkQxElLTlgCQDb0PgLlHIz2LFihmG8ULRK1KkiKm0JczuNcn4C28QbI2yZcsCCH4AJ0jKly8fSLpWzH+l92QWM1vNpANR+KYxwWH+i+6c2gC2yI63ArhAHoCIugLoCgDVq1dHVlaWb8KZpV69egCA8847D926dcPChQuxePFivPrqq5g6dSqOHTuG/Px8dOrUSVf+119/PeHFS42WLVuCiCCEQJs2bVCiRAl06dIFt9xyi2G+vPnmmzh27Fgo80/ODTfcgJ9++gn16tVDw4YNE5u8Sl6DunfvjsGDB6NOnTqqzzJ48GA8/fTTuPnmm5GXl4caNWqgoKAALVu2RM+ePVG6dGnceOON2LJlCx577DH8/vvvOP/885GVlYVhw4Yl4ixXrhzKli2L66+/Ht988w2++OILZGVl4bTTTsNtt92Gyy67LBH29ttvx6xZs9ChQwfk5ubi8ssvT3g+u+6665CVlYX27dtj4sSJqFKlCvbs2QMAqFChAnbs2IEdO3bgggsuwNy5c9G9e3dkZWVBCIH77rsPlStXTnh/u/nmmzF27Fjceuut+P7779G7d28sWLAAkydPRtGiRbF06VIAMQ93kke70qVLo0GDBolrcipWrIj9+/ejdu3aCe9lF110EWbPnq36bm655RaMGTMm6dxNN92U8NTWoEEDrF27FkBsj63ly5cDAK688kpMmTIlcc9zzz2XtJ9iVlYWnn/+ebz66qspadaqVQvbt2/Hddddh3HjxqF06dIp+3Ip42/atCnOOOMMnDhxAj/88AO++OILHD9+HHfddReysrKwZcuWRB7KWbduHc455xxceOGFGDp0KKpVq5a4R07btm1V92h0QqNGjXDGGWckyqFyj62PPvoIs2bNQqdOndCoUaNEO9GvXz9UrVoV06dPx7Rp0/Dwww/jpZde0kynfv362LhxY+K4UqVKEEKgaNGiibwuXbo0KlWqhO3btwNAos2R+Pjjj9G3b1/Url0bOTk5WLlyZUo6pUqV0txU+ZJLLsH06dPNZg1at26NGTNmAIh5l5RvmF2zZk0cPnwYTZo0wR9//JF036WXXhr69k4iNzfXsaxDhgzBggULIvPMbjB48GCsWbMm6ZnffvttHDp0yDAfBg0ahDlz5iT2yHObXr164d1330WfPn3w0Ucf4b777kODBg1QtGhR9OjRAy+99BL69OmTdE+XLl3Qtm3bRP2/+uqrUaRIEYwfPx7vvPMOiAijRo3CwoULAQBNmjTBxo0bkzavV9aR1q1bo2LFipg8eTKOHz+OU089NeHZ8dZbb8Xw4cNTZFZj2LBhWL9+PYYPH45LL70Uhw8fxvjx41GpUiV069YNb775Jrp3745KlSqhX79+qF27Np5//nksW7YMH330EU455RR06NABDRo0wKpVq3Tz7vvvv0+8v7feegsTJ07EN998Y5jnDzzwAC6//PLEN6Jx48bIzs7Gvn37MGLECLRu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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"data['Date (GMT)'] = pd.to_datetime(data['Date (GMT)'])\n",
"\n",
"data = data[data['Hs(m)'] >= 0]\n",
"\n",
"data.set_axis([np.linspace(0, len(data)-1, len(data), dtype=int)], axis='index', inplace=True)\n",
"fig, axs=plt.subplots(1, 1)\n",
"axs.plot(data['Date (GMT)'], data['Hs(m)'], 'k', label='${H_s(m)}$')\n",
"axs.set_title('Significant wave height time series')\n",
"axs.set_xlabel('Date')\n",
"axs.set_ylabel('${H_s (m)}$')\n",
"fig.set_size_inches(15, 4)\n",
"axs.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the previous notebook, you also developed a code to sample extreme observations using Yearly Maxima.\n",
"\n",
"**Task #0: Go back to the previous notebook on Extreme Value Analysis and get the function to perform yearly maxima. Apply it to the buoy data.**"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Date (GMT)
\n",
"
Hs(m)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
230
\n",
"
1985-10-28 02:00:00
\n",
"
3.57
\n",
"
\n",
"
\n",
"
2481
\n",
"
1986-09-30 18:00:00
\n",
"
3.75
\n",
"
\n",
"
\n",
"
4724
\n",
"
1987-11-03 21:00:00
\n",
"
2.64
\n",
"
\n",
"
\n",
"
6168
\n",
"
1988-10-16 19:00:00
\n",
"
2.64
\n",
"
\n",
"
\n",
"
7957
\n",
"
1989-09-05 17:00:00
\n",
"
3.08
\n",
"
\n",
"
\n",
"
10237
\n",
"
1990-03-03 22:00:00
\n",
"
3.22
\n",
"
\n",
"
\n",
"
16649
\n",
"
1991-01-26 14:00:00
\n",
"
2.99
\n",
"
\n",
"
\n",
"
22659
\n",
"
1992-02-20 02:00:00
\n",
"
3.53
\n",
"
\n",
"
\n",
"
35113
\n",
"
1993-10-27 04:00:00
\n",
"
2.99
\n",
"
\n",
"
\n",
"
37723
\n",
"
1994-02-16 19:00:00
\n",
"
2.41
\n",
"
\n",
"
\n",
"
46351
\n",
"
1995-03-12 13:00:00
\n",
"
3.67
\n",
"
\n",
"
\n",
"
56141
\n",
"
1996-09-12 01:00:00
\n",
"
2.97
\n",
"
\n",
"
\n",
"
64539
\n",
"
1997-10-29 10:00:00
\n",
"
4.03
\n",
"
\n",
"
\n",
"
73844
\n",
"
1998-12-02 19:00:00
\n",
"
3.24
\n",
"
\n",
"
\n",
"
81860
\n",
"
1999-11-12 03:00:00
\n",
"
2.90
\n",
"
\n",
"
\n",
"
85911
\n",
"
2000-05-04 09:00:00
\n",
"
1.95
\n",
"
\n",
"
\n",
"
96838
\n",
"
2001-11-11 03:00:00
\n",
"
4.49
\n",
"
\n",
"
\n",
"
99392
\n",
"
2002-03-28 22:00:00
\n",
"
3.63
\n",
"
\n",
"
\n",
"
111696
\n",
"
2003-10-16 15:00:00
\n",
"
3.39
\n",
"
\n",
"
\n",
"
115468
\n",
"
2004-03-29 12:00:00
\n",
"
3.50
\n",
"
\n",
"
\n",
"
123477
\n",
"
2005-02-28 20:00:00
\n",
"
3.00
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Date (GMT) Hs(m)\n",
"230 1985-10-28 02:00:00 3.57\n",
"2481 1986-09-30 18:00:00 3.75\n",
"4724 1987-11-03 21:00:00 2.64\n",
"6168 1988-10-16 19:00:00 2.64\n",
"7957 1989-09-05 17:00:00 3.08\n",
"10237 1990-03-03 22:00:00 3.22\n",
"16649 1991-01-26 14:00:00 2.99\n",
"22659 1992-02-20 02:00:00 3.53\n",
"35113 1993-10-27 04:00:00 2.99\n",
"37723 1994-02-16 19:00:00 2.41\n",
"46351 1995-03-12 13:00:00 3.67\n",
"56141 1996-09-12 01:00:00 2.97\n",
"64539 1997-10-29 10:00:00 4.03\n",
"73844 1998-12-02 19:00:00 3.24\n",
"81860 1999-11-12 03:00:00 2.90\n",
"85911 2000-05-04 09:00:00 1.95\n",
"96838 2001-11-11 03:00:00 4.49\n",
"99392 2002-03-28 22:00:00 3.63\n",
"111696 2003-10-16 15:00:00 3.39\n",
"115468 2004-03-29 12:00:00 3.50\n",
"123477 2005-02-28 20:00:00 3.00"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def yearly_maxima(data):\n",
" idx_max = data.groupby(pd.DatetimeIndex(data['Date (GMT)']).year)['Hs(m)'].idxmax()\n",
" max_list = data.loc[idx_max]\n",
" return max_list\n",
"\n",
"yearly_maxima_list = yearly_maxima(data)\n",
"yearly_maxima_list"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And we are ready to go with further steps on Extreme Value Analysis!"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Calculating the empirical distribution function"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Before fitting a parametric distribution, we need to calculate the empirical distribution function from the identified extreme observations."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task #1: Calculate the empirical cumulative distribution function**. Define a function which calculates the cumulative empirical distribution function from data. The function must take as input the identified extremes. The output of the function must be a dataframe with two columns: F_x and Hs(m).\n",
"\n",
"*Important: you have to code the function yourself, not used a prebuilt function from a package.*\n",
"\n",
"*Suggested steps*:\n",
"- Sort the observations of the variable\n",
"- Calculate the length (size) of your observations, *n*\n",
"- Assign non-exceedance probabilities to each observation, *p=i/(n+1)*, where *i* is the rank\n",
"- Store the probabilities and sorted observations in a DataFrame using: \n",
"\n",
"`ecdf = pd.DataFrame({'F_x':p_data, 'Hs(m)':sorted_data})`\n",
"\n",
"where p_data are the probabilities and sorted_data your sorted observations."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def calculate_ecdf(data):\n",
" sorted_data = np.sort(data) \n",
" n_data = sorted_data.size \n",
" p_data = np.arange(1, n_data+1) / (n_data +1)\n",
" ecdf = pd.DataFrame({'F_x':p_data, 'Hs(m)':sorted_data})\n",
" return ecdf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's apply your function to the extremes you sampled using Yearly Maxima."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
F_x
\n",
"
Hs(m)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0.045455
\n",
"
1.95
\n",
"
\n",
"
\n",
"
1
\n",
"
0.090909
\n",
"
2.41
\n",
"
\n",
"
\n",
"
2
\n",
"
0.136364
\n",
"
2.64
\n",
"
\n",
"
\n",
"
3
\n",
"
0.181818
\n",
"
2.64
\n",
"
\n",
"
\n",
"
4
\n",
"
0.227273
\n",
"
2.90
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" F_x Hs(m)\n",
"0 0.045455 1.95\n",
"1 0.090909 2.41\n",
"2 0.136364 2.64\n",
"3 0.181818 2.64\n",
"4 0.227273 2.90"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ecdf = calculate_ecdf(yearly_maxima_list['Hs(m)'])\n",
"ecdf.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see how it looks!"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axs = plt.subplots(1, 1)\n",
"axs.scatter(ecdf['Hs(m)'], ecdf['F_x'], 40, 'k', label = 'Empirical cdf')\n",
"axs.set_title('Empirical cumulative distribution function')\n",
"axs.set_ylabel('F(x)')\n",
"axs.set_xlabel('${H_s (m)}$')\n",
"fig.set_size_inches(6, 6)\n",
"axs.grid()\n",
"axs.legend()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Fitting the Generalized Extreme Value parametric distribution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Once we have the empirical cumulative distribution function, we can fit a parametric distribution function.\n",
"\n",
"But first a quick refresher on what you saw in the theoretical videos. We are interested in modelling the stochastic behavior of the maximum values within a sequence $X_1, X_2, ..., X_n$, namely $M_n=max(X_1, X_2, ..., X_n)$.\n",
"\n",
"For large n, the distribution function of $M_n$ converges to $G(x)$, which belongs to the Generalized Extreme Value (GEV) family distribution, regardless the original distribution of X.\n",
"\n",
"Therefore, we have to fit a GEV distribution to the our set of extreme observations."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task #2: fit a GEV distribution to the extreme observations obtained with Yearly Maxima**. Define a function which fits the GEV distribution to the empirical distribution function previously obtained, using Maximum Loglikelihood. The set of extreme observations must be the input. The output of the function must be a list with the fitted parameters.\n",
"\n",
"*Hint: Use SciPy library. You can go to the documentation [here](https://docs.scipy.org/doc/scipy/).*"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def fit_GEV(data): \n",
" GEV_param = stats.genextreme.fit(data, method = 'mle')\n",
" return GEV_param"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's apply your function to your data!"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.2746113330720874, 3.0200555115253906, 0.561859765003837)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"GEV_param = fit_GEV(yearly_maxima_list['Hs(m)'])\n",
"GEV_param"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see how the fit looks!"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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rsBIvAm+E1Z6ejq9e/euud14440R2e/RRx/Njz/+2OR1DXn00UcZPXp04xuG8NBDD9U8d/369fTv358+ffrwxhtvNPJMEYlXUTtG4JybX2ci67qOB6b7p/9718x2NbM9nHNroxVTMJ/PR2lpKbm5kZi+FTIzM1myZElE9hXsxRdf3GaZcw7nXMh1zem1117jwAMP5IEHHohpHCKyY2J5jKADtSfeXk3oyb8jqrKykoKCAnJycsjLyyMnJ4dLL72UysrozEbXuXNnxo4dS+/evenbty8ffPABRx55JHvvvTf33Xcf4F0peMghh3DMMcew7777csEFF1BdXV3z/O+++46VK1ey7777ctZZZ9GjRw9WrVpVsw5g+vTp9OzZk169ejFs2DAAnnvuuZpf7IMGDeLbbxueetXn8zF8+HAOPPBAevbsyaxZswB48MEH6datG/369eOtt94CYMmSJVx++eU8++yz9O7dm7Kysqj8/UQk+hLirCEzG4k3fET79u2ZN29erfW77LILGzduDGtfl156KY888kitL65HHvFmA7zlllu2O8aysjJ69uxZ8/jiiy/mpJNOwjlHTk4Ob7zxBldeeSVnnXUWr7zyClu3bqV///6cccYZbN68mffff5/333+fPffck7/85S88+uijnHDCCTjn8Pl8+Hw+Pv/8c+655x7uvvtugJp1X375Jddddx2vvvoqbdu25fvvv2fjxo306tWLOXPmYGY8/PDDXH/99dxwww1UV1dTXl6+zd9swoQJZGZm8vbb3oyFP/zwA59//jkTJkxg/vz57LzzzhxzzDH07NmTvffem3HjxvHBBx9w6623UllZWWt/W7Zs2eZ9ihWfzxc3sTQHtTe5RaO9sUwEa4BOQY87+pdtwzk3DZgG0LdvX1e3zsayZcvCOh3S5/NtkwTA+xJ/5JFHuPXWW8nOzm5KG2pkZmby0UcfbbPczDj11FNp06YNeXl5lJeX1wxHtW7dmqqqKrKysujXr19NIjnzzDNZtGgRw4YNw8xqYtprr704/PDDa+07Ozub5557jtNOO41AMb7A32LlypWce+65rF27lvLycrp06UKbNm1IS0ujZcuW2/zN5s+fz4wZM2qWt2nThmeeeYaBAwfWnAp6+umns3z5ctq0aUPr1q1D7ifQtj59+mzX3zLSVIsmuam9Oy6WQ0OzgbP8Zw/9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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"GEV_H = np.linspace(min(yearly_maxima_list['Hs(m)']), max(yearly_maxima_list['Hs(m)']),100)\n",
"GEV_p = stats.genextreme.cdf(GEV_H, GEV_param[0], GEV_param[1], GEV_param[2])\n",
"\n",
"fig, axs = plt.subplots(1, 1)\n",
"axs.scatter(ecdf['Hs(m)'], ecdf['F_x'], 40, 'k', label = 'Empirical cdf')\n",
"axs.plot(GEV_H, GEV_p, 'r', label = 'Fitted GEV')\n",
"axs.set_title('Empirical cumulative distribution function')\n",
"axs.set_ylabel('F(x)')\n",
"axs.set_xlabel('${H_s (m)}$')\n",
"fig.set_size_inches(6, 6)\n",
"axs.grid()\n",
"axs.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Do you think is a good fit? We will address this question in the next section."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Assessing goodness of fit"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After fitting a parametric distribution function, the same questions always appears: is it a good approximation to my observations? To help us answering this question, we have goodness of fit techniques."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.1. Kolmogorov-Smirnov hypothesis test"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you saw in the videos, Kolmogorov-Smirnov test is a goodness of fit hypothesis test based on the maximum distance between the empirical cumulative distribution function and the parametric distribution function.\n",
"\n",
"**Task #3. Calculate the p-value obtained from the Kolmogorov-Smirnov test to assess the goodness of fit of GEV distribution to the extreme observations. What does it mean assuming a significance level $\\alpha=0.05$?**\n",
"\n",
"*Hint: Use Scipy library. You can go to the documentation [here](https://docs.scipy.org/doc/scipy/).*"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"KstestResult(statistic=0.09523809523809523, pvalue=0.9999961038154768)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stats.kstest(ecdf['Hs(m)'], stats.genextreme.ppf(ecdf['F_x'], GEV_param[0], GEV_param[1], GEV_param[2]))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'\\nThe obtained p-value is higher than the significance level, so the Kolmogorov-Smirnov test is indicating\\nthat GEV distribution is a good fit to our data\\n'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'''\n",
"The obtained p-value is higher than the significance level, so the Kolmogorov-Smirnov test is indicating\n",
"that GEV distribution is a good fit to our data\n",
"'''"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.2. Graphical methods"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Graphical methods are useful tools, since allow us to represent our data and confirm the results of our analysis at a glance."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"QQ-plot is a very common graphical method which compares the empirical quantiles (typically in x-axis) with those obtained using the fitted parametric distribution (typically in y-axis).\n",
"\n",
"**Task #4. Fill the code below to represent the QQ-plot to assess the goodness of fit of GEV distribution to the extreme observations.**"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"empirical_quantiles = ecdf['Hs(m)']\n",
"pred_quantiles = stats.genextreme.ppf(ecdf['F_x'], GEV_param[0], GEV_param[1], GEV_param[2])\n",
"\n",
"fig, axs = plt.subplots(1, 1)\n",
"axs.scatter(empirical_quantiles, pred_quantiles, 40, 'k')\n",
"axs.plot([1.5, 5.5], [1.5,5.5])\n",
"axs.set_title('QQ-plot')\n",
"axs.set_ylabel('Theoretical quantiles')\n",
"axs.set_xlabel('Empirical quantiles')\n",
"fig.set_size_inches(6, 6)\n",
"axs.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Another commonly used graphical method is the probability plot or probability paper. In this method, the grid of one axis (typically x-axis) is adapted to a theoretical distribution function, so when that theoretical distribution is plotted, a line is obtained. Considering here the GEV distribution whose equation is\n",
"\n",
"$F(x)=exp\\{-[1+\\xi \\frac{x- \\mu}{\\sigma}]^{-1/\\xi}\\}$, being $(1+\\xi \\frac{x- \\mu}{\\sigma})>0$\n",
"\n",
"where $\\mu, \\sigma$ and $\\xi$ are the location, scale and shape parameters, respectively. We can see that there is not explicit transformation to obtain a linear relationship between F(x) and $\\frac{x- \\mu}{\\sigma}$. Thus, we will apply Gumbel paper, since the obtained $\\xi$ is low, although $\\xi \\ne 0$. Remember that Gumber distribution is derived from GEV distribution when $\\xi \\rightarrow 0$, leading to the equation\n",
"\n",
"$F(x)=exp\\{-exp[-\\frac{x- \\mu}{\\sigma}]\\}$\n",
"\n",
"By rearranging the previous expression, we can reach\n",
"\n",
"$-\\ln(-\\ln F(x))=\\frac{x- \\mu}{\\sigma}$\n",
"\n",
"which defines the Gumbel probability paper"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Task #5. Fill the code below to represent the Gumbel probability plot to assess the goodness of fit of GEV distribution to the extreme observations.**"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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5iMREamhpCAiIjWUFEREpEbC9yk0pKKigiVLlrB69eqwQwFg4403Zv78+WGH0WatLUfXrl3p1asX6enpHRCViLSnpEwKS5YsoVu3bvTp0weLg3XjS0pK6Nat2/oPjHOtKYe7s2LFCpYsWcK2227bQZGJSHtJyuaj1atXs/nmm8dFQujszIzNN988bmptItK0pEwKgBJCHNHvQiRxJG1SCFtqaiqDBg1i0KBB7LPPPkycOLFdznv44Yfzww8/tHhfU/7xj38wevToVsVT+73Lli1jyJAhDB48mFdffbVV5xORcMW0TyG62PccgnVrj6y37wzgBn5evu/2WM7hHolEKC4uJjs7m6yslqzc2LCMjAzmzZsHtG+fwrPPPrvONnfH3RvcF0svvfQS/fv3Z/JkTb0vLdPef3/SerGuKVwANHX7yiPuPij6iMknS2VlJXl5efTo0YOcnBx69OhBXl4elZWVHXK9Pn36MH78eAYNGsQee+zBu+++yyGHHML222/PXXfdBQQjJPfff3+OOOIIdtxxR8455xzWrl1b8/7ly5ezcOFCdtxxR0477TR22203Fi9eXLMP4P7772fAgAEMHDiQU089FYB///vfNd/kDzroIL777rsmY41EIowYMYL+/fszYMAAnnzySQDuu+8++vXrx5577snrr78OwLx587jooot48sknGTRoEGVlZR3y85PkEuu/P2mG6m+ZHf0AegEvAcOApxvYfwZB7aBF583JyfH6Pvnkk3W2NWb06NGemZnpBAuLO+CZmZk+evToZp+jISkpKT5w4EAfOHCg9+/f36dOneru7ttss43feeed7u5+4YUXev/+/X3VqlW+dOlS79Gjh7u7z5o1y7t06eKff/65V1ZW+kEHHeTTpk2ref+yZcv8yy+/dDPzN998s+aa1fs++ugj79u3ry9btszd3VesWOHu7t9//72vXbvW3d3vvfdeHzt2rLu733fffX7eeeetU4aLLrrIL7jggprXX331lRcXF3vv3r196dKlXl5e7nvvvXfNexs7j3vLficdadasWWGH0C6SoRyzZs3qsL+/WErU3wUwxxv4TI1l89EtBGv4NtWO8nsz2x9YAIzxYDHwdZjZKGAUQM+ePZk9e3ad/RtvvDElJSXrDSgSiTB58uR17owpLS2lsLCQSy65pNVV2YyMjJp29aqqKlJTUykpKcHdGTZsGCUlJfTt25eVK1cCwb38G2ywAYsXL6a0tJScnBy22GILSktLOfroo5k5cyaHHHII7k4kEiESibD11luz66671pS1et+zzz7L8OHD6dKlCyUlJaSnp1NSUsKnn37KJZdcwnfffceaNWvYZpttKCkpYfXq1axZs2adn9mMGTMoKiqq2b7RRhvx3HPPsc8++9C1a1fKy8sZPnw4n332WZPngeCOsPq/pzBEIpG4iKOtkqEcJSUlbLfddlx11VXr7EtJSWHmzJmkpMR/t2cYv4vU0lI2e/ttlh14ILTzjRwxSQpmdiSw1N3nmtmBjRz2b+Bhdy83s7MJFncf1tCB7n4PcA/AHnvs4fUno5o/f36z2vC/+eYb0tIa/hFUf4hvueWW6z1PY6pjqN2nUH2LZrdu3cjMzCQrK6tmX2pqKhkZGWRmZpKWllazvWvXrnTp0oVu3bphZjWJqvZ7q8+dlZVVk2Dq/wzGjRvH2LFjOeqoo5g9ezYTJkygW7dujR6fkpJS5xolJSVkZGSQnp5eJ7bq9zZ2nurjBg8e3OqfZXtJ1MnL6kuGcjz//PNcccUVRCKRdfZlZWUxd+5c+vXrF0JkLROz34U7vPoqFBXBtGlQWgrHHAMDB7brZWKVhvcBjoouAzgVGGZmD9Y+wN1XuHt59OVkIKejg8rOzqaqqqrBfVVVVWRnZ3d0CI165513+PLLL1m7di2PPPII++67b7PfO2zYMKZNm8aKFSsA+P777wH48ccf2WqrrQCYMmXKes9z8MEHc8cdd9S8XrlyJUOGDOHll19mxYoVVFRUMG3atJYUS6RGenp63P79xZUlS+Daa6FfPzjgAHj8cTj5ZHjjDRgwoN0vF5Ok4O7j3b2Xu/cBTgBmuvsptY8xs9pfyY+i6Q7pdpGVlUVubi6ZmZl1tmdmZpKbm9umuyDKysrq3JI6bty4Fr3/l7/8JaNHj2bnnXdm22235eijj272e3fddVcuvfRSDjjgAAYOHMjYsWMBmDBhAscddxw5OTl07959vee57LLLWLlyJbvtthsDBw7k1VdfZcstt2TChAnstdde7LPPPuy8884tKpdItZSUlA77+0t45eXw6KNw2GGwzTZw2WXQqxfcfz988w3ccw/stVe7Nx0Bsetorn4ABxLtaAauAo6KPs8HPgbeB2YBOzXnfG3taK6oqPDRo0d7RkaGZ2VleUZGho8ePdorKiqafY71WbVqVYuOnzVrlh9xxBHtdv320tJy1KaO5vaVDOWYNWtWTP7+Olq7/i4+/dT9z392797dHdx793a//HL3zz9vv2tEEQcdzdVJaDYwO/r8ilrbxwPjYx1PWloaBQUF5Ofn6z5pkRjT3x+wejX861/Bt//ZsyEtDY46Cs46Cw4+GFJTYxpOUk6I1xpZWVlx06l14IEHJnwnokhLxNPfX8z8739BIrj/flixArbbDvLz4Ywz4Be/CC0sJQURkVipqICnnoI774SZM4NawdFHw6hRMGwYxMEtuEoKIiIdrbgY7r03qBkUF8PWW8N118HIkdCzZ9jR1aGkICLSEdyDPoI77wz6DKqq4NBD4a674PDDY95X0FxKCiIi7am0FB56CG67DT78EDbbDMaMgbPPhh12CDu69Qq/AStJ1Z86e+HChey9994ALFy4kIceeqjm2Hnz5rVqhtMDDzyQOXPmrLO9srKSSy65hL59+9bEcO211zYY26BBg5g4cSJXXnkl48fXvflr3rx5Gocg0lyLF8O4cdC7d3DnUEoKFBYGg89uuCEhEgKoptBhGpo6+4033gB+TgonnXQSEHz4zpkzh8MPP7xdrn3ZZZfx7bff8uGHH9K1a1dKSkq46aabGoyt2oIFCzj00EPJz8+v2TZ16lROPPHEdolJJCm5s/GHH8IddwRNRO7wu9/BBRfAfvt1zOCyDqakEENZWVlEIhHGjRvH/PnzGTRoECeeeCJ33HEHZWVlvPbaa4wfP54jjzySvLw8PvroIyoqKpgwYQLDhw+nrKyMESNG8P7777PTTjs1OD11aWkp9957LwsXLqRr165AMAfThAkTmoytX79+bLrpprz99tsMGTIEgEcffZTnn3++3X8OIgmvshIeewxuvpnB//0vbLIJjB0L550XjEBOYMmfFC68EOp9K26zQYPglluaPKR6mguA3r178+9//7tm38SJE7nxxht5+umngWCm1zlz5nD77bcDcMkllzBs2DCKior44Ycf2HPPPTnooIO4++67yczMZP78+XzwwQfsvvvu61z3s88+Y+utt25yQsDasQGMHz+e448/nhNPPJGpU6cyZMgQ3nrrLTbbbDP69u3bvJ+JSGewahVMngy33gqLFkHfviy48EL6XXMNbLhh2NG1i+RPCiGp33zUEjNm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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"obs_prob_plot_x = -np.log(-np.log(ecdf['F_x']))\n",
"obs_prob_plot_y = ecdf['Hs(m)']\n",
"\n",
"theor_prob_plot_x = -np.log(-np.log(GEV_p))\n",
"theor_prob_plot_y = GEV_H\n",
"\n",
"fig, axs = plt.subplots(1, 1)\n",
"axs.scatter(obs_prob_plot_x, obs_prob_plot_y, 40, 'k', label = 'Empirical cdf')\n",
"axs.plot(theor_prob_plot_x, theor_prob_plot_y, 'r', label = 'Fitted GEV')\n",
"axs.set_title('Gumbel probability plot')\n",
"axs.set_xlabel('$-\\ln(-\\ln F(x))$')\n",
"axs.set_ylabel('${H_s (m)}$')\n",
"fig.set_size_inches(6, 6)\n",
"axs.grid()\n",
"axs.legend()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.3. Is it a good fit?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Goodness of fit techniques support us in the decision process to determine if a probability distribution is a good approximation to our observations. Now, it is your turn to apply your critical thinking to determine if GEV distribution is a good fit to the extreme observations.\n",
"\n",
"**Task #6. Is GEV distribution a good model for the extreme observations? Explain your answer.**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"'''\n",
"Kolmogorov-Smirnov test is indicating us that the GEV distribution fits well our data in general.\n",
"However, if we take a look to our graphical methods, we can see that the positive tail may not be that well\n",
"represented. Thus, we should be careful when extrapolating to larger values of Hs.\n",
"'''"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.15 ('gurobi')",
"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.15"
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
},
"vscode": {
"interpreter": {
"hash": "098d4ab94707d4f72ea30c2acaf235a8192ee135ed70edd9eae5ffbad5e55958"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}