{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":56537,"databundleVersionId":8015876,"sourceType":"competition"},{"sourceId":8404301,"sourceType":"datasetVersion","datasetId":4998928}],"dockerImageVersionId":30732,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"This notebook loads the random 1 million training data. Create new dataframe that contains the median valus of the variables with multiple levels.","metadata":{}},{"cell_type":"markdown","source":"## 1. Load the data","metadata":{}},{"cell_type":"code","source":"from tqdm import tqdm\nfrom pathlib import Path\n\nimport numpy as np\nimport pandas as pd\nimport polars as pl\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n# from ydata_profiling import ProfileReport\n\nfrom sklearn.preprocessing import StandardScaler\n\nimport warnings\nwarnings.filterwarnings('ignore')","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-06-10T20:12:53.765991Z","iopub.execute_input":"2024-06-10T20:12:53.76644Z","iopub.status.idle":"2024-06-10T20:12:55.578326Z","shell.execute_reply.started":"2024-06-10T20:12:53.766403Z","shell.execute_reply":"2024-06-10T20:12:55.576787Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ROOT = Path(\"/kaggle/input/leap-atmospheric-physics-ai-climsim\")\nEXT_SRC = Path(\"/kaggle/input/leap-data-dataset\")\n\n# TRAIN_PATH = EXT_SRC / \"train_sampled_1m.parquet\"\nTRAIN_PATH = ROOT / \"train.csv\"\nTEST_PATH = ROOT / \"test.csv\"\nSUBMISSION_PATH = ROOT / \"sample_submission.csv\"\n\nTRAIN = EXT_SRC / \"train_sampled_1m.parquet\"","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:12:55.586454Z","iopub.execute_input":"2024-06-10T20:12:55.586934Z","iopub.status.idle":"2024-06-10T20:12:55.594292Z","shell.execute_reply.started":"2024-06-10T20:12:55.586891Z","shell.execute_reply":"2024-06-10T20:12:55.593003Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pd.set_option('display.max_columns', None)\n# Reset display options to default\n# pd.reset_option('display.max_columns')","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:12:55.596119Z","iopub.execute_input":"2024-06-10T20:12:55.596618Z","iopub.status.idle":"2024-06-10T20:12:55.611481Z","shell.execute_reply.started":"2024-06-10T20:12:55.596576Z","shell.execute_reply":"2024-06-10T20:12:55.609804Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train = pd.read_parquet(TRAIN)\ndf_train.head(5)","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:12:55.616207Z","iopub.execute_input":"2024-06-10T20:12:55.616733Z","iopub.status.idle":"2024-06-10T20:13:59.726989Z","shell.execute_reply.started":"2024-06-10T20:12:55.616697Z","shell.execute_reply":"2024-06-10T20:13:59.722457Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_train.info()\ndf_train.describe()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:13:59.731314Z","iopub.execute_input":"2024-06-10T20:13:59.732696Z","iopub.status.idle":"2024-06-10T20:15:13.139853Z","shell.execute_reply.started":"2024-06-10T20:13:59.732515Z","shell.execute_reply":"2024-06-10T20:15:13.13812Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Take the median value of same name variable\n## Select columns\n# 2-1. state\nselected_columns_state_t = df_train.filter(like='state_t').columns.tolist()\nselected_columns_state_q0001 = df_train.filter(like='state_q0001').columns.tolist()\nselected_columns_state_q0002 = df_train.filter(like='state_q0002').columns.tolist()\nselected_columns_state_q0003 = df_train.filter(like='state_q0003').columns.tolist()\nselected_columns_state_u = df_train.filter(like='state_u').columns.tolist()\nselected_columns_state_v = df_train.filter(like='state_v').columns.tolist()\n# 2-2. pbuf\n# 2-3. cam_in\nselected_columns_cam_in = df_train.filter(like='cam_in').columns.tolist()\n# 2-4. pbuf\nselected_columns_pbuf_ozone = df_train.filter(like='pbuf_ozone').columns.tolist()\nselected_columns_pbuf_CH4 = df_train.filter(like='pbuf_CH4').columns.tolist()\nselected_columns_pbuf_N2O = df_train.filter(like='pbuf_N2O').columns.tolist()\n# 3-1. ptend\nselected_columns_ptend_t = df_train.filter(like='ptend_t').columns.tolist()\nselected_columns_ptend_q0001 = df_train.filter(like='ptend_q0001').columns.tolist()\nselected_columns_ptend_q0002 = df_train.filter(like='ptend_q0002').columns.tolist()\nselected_columns_ptend_q0003 = df_train.filter(like='ptend_q0003').columns.tolist()\nselected_columns_ptend_u = df_train.filter(like='ptend_u').columns.tolist()\nselected_columns_ptend_v = df_train.filter(like='ptend_v').columns.tolist()\n\n\n## Calculate median (or original value) for each row across selected columns\n# 2-1. state\ndf_median = pd.DataFrame()\ndf_median[\"ID\"] = df_train[\"sample_id\"]\ndf_median['state_t'] = df_train[selected_columns_state_t].median(axis=1)\ndf_median['state_q0001'] = df_train[selected_columns_state_q0001].median(axis=1)\ndf_median['state_q0002'] = df_train[selected_columns_state_q0002].median(axis=1)\ndf_median['state_q0003'] = df_train[selected_columns_state_q0003].median(axis=1)\ndf_median['state_u'] = df_train[selected_columns_state_u].median(axis=1)\ndf_median['state_v'] = df_train[selected_columns_state_v].median(axis=1)\ndf_median[\"state_ps\"] = df_train[\"state_ps\"]\n# 2-2. pbuf\ndf_median[\"pbuf_SOLIN\"] = df_train[\"pbuf_SOLIN\"]\ndf_median[\"pbuf_LHFLX\"] = df_train[\"pbuf_LHFLX\"]\ndf_median[\"pbuf_SHFLX\"] = df_train[\"pbuf_SHFLX\"]\ndf_median[\"pbuf_TAUX\"] = df_train[\"pbuf_TAUX\"]\ndf_median[\"pbuf_TAUY\"] = df_train[\"pbuf_TAUY\"]\ndf_median[\"pbuf_COSZRS\"] = df_train[\"pbuf_COSZRS\"]\n# 2-3. cam_in\nfor col in selected_columns_cam_in:\n    value = df_train[col]\n    name = col.split(\"_\")[-1]\n    df_median[f'cam_in_{name}'] = value\n# 2-4. pbuf\ndf_median['pbuf_ozone'] = df_train[selected_columns_pbuf_ozone].median(axis=1)\ndf_median['pbuf_CH4'] = df_train[selected_columns_pbuf_CH4].median(axis=1)\ndf_median['pbuf_N2O'] = df_train[selected_columns_pbuf_N2O].median(axis=1)\n# 3-1. ptend\ndf_median['ptend_t'] = df_train[selected_columns_ptend_t].median(axis=1)\ndf_median['ptend_q0001'] = df_train[selected_columns_ptend_q0001].median(axis=1)\ndf_median['ptend_ptend_q0002'] = df_train[selected_columns_ptend_q0002].median(axis=1)\ndf_median['ptend_ptend_q0003'] = df_train[selected_columns_ptend_q0003].median(axis=1)\ndf_median['ptend_u'] = df_train[selected_columns_ptend_u].median(axis=1)\ndf_median['ptend_v'] = df_train[selected_columns_ptend_v].median(axis=1)\n# 3-2. cam_out\ndf_median['cam_out_NETSW'] = df_train['cam_out_NETSW']\ndf_median['cam_out_FLWDS'] = df_train['cam_out_FLWDS']\ndf_median['cam_out_PRECSC'] = df_train['cam_out_PRECSC']\ndf_median['cam_out_PRECC'] = df_train['cam_out_PRECC']\ndf_median['cam_out_SOLS'] = df_train['cam_out_SOLS']\ndf_median['cam_out_SOLL'] = df_train['cam_out_SOLL']\ndf_median['cam_out_SOLSD'] = df_train['cam_out_SOLSD']\ndf_median['cam_out_SOLLD'] = df_train['cam_out_SOLLD']\n\ndf_median.head(5)","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:15:13.142076Z","iopub.execute_input":"2024-06-10T20:15:13.142632Z","iopub.status.idle":"2024-06-10T20:16:38.737495Z","shell.execute_reply.started":"2024-06-10T20:15:13.142583Z","shell.execute_reply":"2024-06-10T20:16:38.735924Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## 2. Independent Variables","metadata":{}},{"cell_type":"markdown","source":"### 2-1. state\nstatement of atmosphere. Contains 60 verticla level, except `state_ps`. \n- `state_t` - air temperature. Unit:$K$\n- `state_q0001` - specific humidity.  express the amount of water vapor in the atmosphere is the ratio of the mass of water vapor to the mass of moist air (air containing water vapor).。Unit:$kg/kg$\n- `state_q0002` - cloud liquid mixing ratio. Unit:$kg/kg$\n- `state_q0003` - cloud ice mixing ratio. Unit:$kg/kg$\n- `state_u` - zonal wind speed. Unit:$m/s$\n- `state_v` - meridional wind speed. Unit:$m/s$\n- `state_ps` - surface pressure. Unit:$Pa$","metadata":{}},{"cell_type":"markdown","source":"### 2-2. pbuf (solar)\n- `pbuf_SOLIN` - solar insolation. Unit:$W/m^2$\n- `pbuf_LHFLX` - surface latent heat flux. Unit:$W/m^2$\n- `pbuf_SHFLX` - surface sensible heat flux. Unit:$W/m^2$\n- `pbuf_TAUX` - zonal surface stress. Unit:$N/m^2$\n- `pbuf_TAUY` - meridional surface stress. Unit:$N/m^2$\n- `pbuf_COSZRS` - cosine of solar zenith angle. Unit:$N/m^2$","metadata":{}},{"cell_type":"markdown","source":"### 2-3. cam_in\nAlbedo is the proportion of light that is reflected by the surface of an object.\n- `cam_in_ALDIF` - albedo for diffuse longwave radiation\n- `cam_in_ALDIR` - albedo for direct longwave radiation\n- `cam_in_ASDIF` - albedo for diffuse shortwave radiation\n- `cam_in_ASDIR` - albedo for direct shortwave radiation\n- `cam_in_LWUP` upward longwave flux. Unit:$W/m^2$\n- `cam_in_ICEFRAC` - sea-ice areal fraction\n- `cam_in_LANDFRAC` - land areal fraction\n- `cam_in_OCNFRAC` - ocean areal fraction\n- `cam_in_SNOWHLAND` - snow depth over land. Unit:$m$","metadata":{}},{"cell_type":"markdown","source":"### 2-4. pbuf\n- `pbuf_ozone` - ozone volume mixing ratio. Unit:$mol/mol$\n- `pbuf_CH4` - methane volume mixing ratio. Unit:$mol/mol$\n- `pbuf_N2O` - nitrous oxide volume mixing ratio. Unit:$mol/mol$","metadata":{}},{"cell_type":"markdown","source":"## 3. Dependent Variables (Targets)","metadata":{}},{"cell_type":"markdown","source":"### 3-1. ptend\nAll columns have 60 vertical levels.\n- `ptend_t` - heating tendency. Unit:$K/s$\n- `ptend_q0001` - moistening tendency. Unit:$kg/kg/s$\n- `ptend_q0002` - cloud liquid mixing ratio change over time. Unit:$kg/kg/s$\n- `ptend_q0003` - cloud ice mixing ratio change over time. Unit:$kg/kg/s$\n- `ptend_u` - zonal wind acceleration. Unit:$m/s^2$\n- `ptend_v` - meridional wind acceleration. Unit:$m/s^2$","metadata":{}},{"cell_type":"markdown","source":"### 3-2. cam_out\n- `cam_out_NETSW` - net shortwave flux at surface. Unit:$W/m^2$\n- `cam_out_FLWDS` - downward longwave flux at surface. Unit:$W/m^2$\n- `cam_out_PRECSC` - snow rate (liquid water equivalent. Unit:$m/s$\n- `cam_out_PRECC` - rain rate. Unit:$m/s$\n- `cam_out_SOLS` - downward visible direct solar flux to surface. Unit:$W/m^2$\n- `cam_out_SOLL` - downward near-infrared direct solar flux to surface. Unit:$W/m^2$\n- `cam_out_SOLSD` - downward diffuse solar flux to surface. Unit:$W/m^2$\n- `cam_out_SOLLD` - downward diffuse near-infrared solar flux to surface. Unit:$W/m^2$","metadata":{}},{"cell_type":"markdown","source":"## 4. EDA","metadata":{}},{"cell_type":"code","source":"df_median.describe()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:16:38.739383Z","iopub.execute_input":"2024-06-10T20:16:38.740081Z","iopub.status.idle":"2024-06-10T20:16:40.960881Z","shell.execute_reply.started":"2024-06-10T20:16:38.740033Z","shell.execute_reply":"2024-06-10T20:16:40.959545Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Standardize variables\nvariables_to_standardize = ['state_t', 'state_q0001', 'state_q0002', 'state_q0003', 'state_u',\n       'state_v', 'state_ps', 'pbuf_SOLIN', 'pbuf_LHFLX', 'pbuf_SHFLX',\n       'pbuf_TAUX', 'pbuf_TAUY', 'pbuf_COSZRS', 'cam_in_ALDIF', 'cam_in_ALDIR',\n       'cam_in_ASDIF', 'cam_in_ASDIR', 'cam_in_LWUP', 'cam_in_ICEFRAC',\n       'cam_in_LANDFRAC', 'cam_in_OCNFRAC', 'cam_in_SNOWHLAND', 'pbuf_ozone',\n       'pbuf_CH4', 'pbuf_N2O', 'ptend_t', 'ptend_q0001',\n       'ptend_ptend_q0002', 'ptend_ptend_q0003', 'ptend_u', 'ptend_v',\n       'cam_out_NETSW', 'cam_out_FLWDS', 'cam_out_PRECSC', 'cam_out_PRECC',\n       'cam_out_SOLS', 'cam_out_SOLL', 'cam_out_SOLSD', 'cam_out_SOLLD']\n# Initialize the StandardScaler\nscaler = StandardScaler()\n\ndf_median_standardize = df_median.copy()\ndf_median_standardize[variables_to_standardize] = scaler.fit_transform(df_median_standardize[variables_to_standardize])\n\ndf_median_standardize.describe()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:21:53.018799Z","iopub.execute_input":"2024-06-10T20:21:53.021367Z","iopub.status.idle":"2024-06-10T20:21:56.790516Z","shell.execute_reply.started":"2024-06-10T20:21:53.021318Z","shell.execute_reply":"2024-06-10T20:21:56.789157Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### 4-1. Check Missing Variables","metadata":{}},{"cell_type":"markdown","source":"No missing values","metadata":{}},{"cell_type":"code","source":"total = df_median.isnull().sum().sort_values(ascending=False)\npercent_1 = df_median.isnull().sum()/df_median.isnull().count()*100\npercent_2 = (round(percent_1, 1)).sort_values(ascending=False)\nmissing_data = pd.concat([total, percent_2], axis=1, keys=['Total', '%'])\nmissing_data.head(5)","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:22:10.314034Z","iopub.execute_input":"2024-06-10T20:22:10.314562Z","iopub.status.idle":"2024-06-10T20:22:10.981036Z","shell.execute_reply.started":"2024-06-10T20:22:10.314521Z","shell.execute_reply":"2024-06-10T20:22:10.979404Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_median.columns","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:22:10.983795Z","iopub.execute_input":"2024-06-10T20:22:10.98432Z","iopub.status.idle":"2024-06-10T20:22:10.994138Z","shell.execute_reply.started":"2024-06-10T20:22:10.984275Z","shell.execute_reply":"2024-06-10T20:22:10.992517Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"independent_vars_state = ['state_t', 'state_q0001', 'state_q0002', 'state_q0003', 'state_u', 'state_v', 'state_ps']\nindependent_vars_pbuf_solar = ['pbuf_SOLIN', 'pbuf_LHFLX', 'pbuf_SHFLX', 'pbuf_TAUX', 'pbuf_TAUY', 'pbuf_COSZRS']\nindependent_vars_cam_in = ['cam_in_ASDIF', 'cam_in_ASDIR', 'cam_in_LWUP', 'cam_in_ICEFRAC', 'cam_in_LANDFRAC', 'cam_in_OCNFRAC', 'cam_in_SNOWHLAND']\nindependent_vars_pbuf = ['pbuf_ozone', 'pbuf_CH4', 'pbuf_N2O']\ndependent_vars_ptend = ['ptend_t', 'ptend_q0001', 'ptend_ptend_q0002', 'ptend_ptend_q0003', 'ptend_u', 'ptend_v']\ndependent_vars_cam_out = ['cam_out_NETSW', 'cam_out_FLWDS', 'cam_out_PRECSC', 'cam_out_PRECC', 'cam_out_SOLS', 'cam_out_SOLL', 'cam_out_SOLSD', 'cam_out_SOLLD']\nindependnt_vars=['state_t', 'state_q0001', 'state_q0002', 'state_q0003', 'state_u', 'state_v', 'state_ps', 'pbuf_SOLIN', 'pbuf_LHFLX', 'pbuf_SHFLX',\n                 'pbuf_TAUX', 'pbuf_TAUY', 'pbuf_COSZRS', 'cam_in_ALDIF', 'cam_in_ALDIR', 'cam_in_ASDIF', 'cam_in_ASDIR', 'cam_in_LWUP', 'cam_in_ICEFRAC',\n       'cam_in_LANDFRAC', 'cam_in_OCNFRAC', 'cam_in_SNOWHLAND', 'pbuf_ozone', 'pbuf_CH4', 'pbuf_N2O']\ndependnt_vars =['ptend_t', 'ptend_q0001', 'ptend_ptend_q0002', 'ptend_ptend_q0003', 'ptend_u', 'ptend_v',\n       'cam_out_NETSW', 'cam_out_FLWDS', 'cam_out_PRECSC', 'cam_out_PRECC', 'cam_out_SOLS', 'cam_out_SOLL', 'cam_out_SOLSD', 'cam_out_SOLLD']","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:27:43.027034Z","iopub.execute_input":"2024-06-10T20:27:43.028406Z","iopub.status.idle":"2024-06-10T20:27:43.039271Z","shell.execute_reply.started":"2024-06-10T20:27:43.028359Z","shell.execute_reply":"2024-06-10T20:27:43.037726Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-1-1. Distributon of each variables","metadata":{}},{"cell_type":"code","source":"# fig, axes = plt.subplots(len(independent_vars_state), 1, figsize=(10,20))\n\n# for i, ind_var in enumerate(independent_vars_state):\n#     sns.histplot(df_median[ind_var], kde=True, ax=axes[i])\n#     axes[i].set_title(f\"Distribution of {ind_var}\")\n#     axes[i].set_xlabel(ind_var)\n#     axes[i].set_ylabel(\"Frequency\")\n    \n# plt.tight_layout()\n# plt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:27:43.042963Z","iopub.execute_input":"2024-06-10T20:27:43.043584Z","iopub.status.idle":"2024-06-10T20:27:43.056492Z","shell.execute_reply.started":"2024-06-10T20:27:43.043533Z","shell.execute_reply":"2024-06-10T20:27:43.054984Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### 4-2. Relationship with dependent & independent variables","metadata":{}},{"cell_type":"markdown","source":"#### 4-2-1. Between State and dependents","metadata":{}},{"cell_type":"code","source":"df_medain_no_id = df_median_standardize.drop(columns='ID')\ncorrelation_matrix = df_medain_no_id.corr(method='pearson')\ncorrelation_table = correlation_matrix.loc[independnt_vars, dependnt_vars]\n\nplt.figure(figsize=(20,20))\nsns.heatmap(correlation_table, annot=True, cmap='coolwarm', center=0)\nplt.title('Pearson Correlation between Independent and Dependent Variables')\nplt.show","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:27:43.058023Z","iopub.execute_input":"2024-06-10T20:27:43.058488Z","iopub.status.idle":"2024-06-10T20:27:50.164478Z","shell.execute_reply.started":"2024-06-10T20:27:43.05844Z","shell.execute_reply":"2024-06-10T20:27:50.162941Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-1. Relationship between \"state (statement of atmosphere)\" and \"ptend\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_state), len(dependent_vars_ptend), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_state):\n    for j, dep_var in enumerate(dependent_vars_ptend):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:27:50.166575Z","iopub.execute_input":"2024-06-10T20:27:50.167142Z","iopub.status.idle":"2024-06-10T20:29:34.706099Z","shell.execute_reply.started":"2024-06-10T20:27:50.16709Z","shell.execute_reply":"2024-06-10T20:29:34.703811Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-2. Relationship between \"state (statement of atmosphere)\" and \"cam_out\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_state), len(dependent_vars_cam_out), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_state):\n    for j, dep_var in enumerate(dependent_vars_cam_out):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:29:34.71128Z","iopub.execute_input":"2024-06-10T20:29:34.711851Z","iopub.status.idle":"2024-06-10T20:31:55.903135Z","shell.execute_reply.started":"2024-06-10T20:29:34.711802Z","shell.execute_reply":"2024-06-10T20:31:55.901325Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-3. Relationship between \"pbuf_solar\" and \"ptend\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_pbuf_solar), len(dependent_vars_ptend), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_pbuf_solar):\n    for j, dep_var in enumerate(dependent_vars_ptend):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:31:55.905078Z","iopub.execute_input":"2024-06-10T20:31:55.905689Z","iopub.status.idle":"2024-06-10T20:33:24.791991Z","shell.execute_reply.started":"2024-06-10T20:31:55.905648Z","shell.execute_reply":"2024-06-10T20:33:24.790582Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-4. Relationship between \"pbuf_solar\" and \"cam_out\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_pbuf_solar), len(dependent_vars_cam_out), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_pbuf_solar):\n    for j, dep_var in enumerate(dependent_vars_cam_out):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:33:24.793654Z","iopub.execute_input":"2024-06-10T20:33:24.794078Z","iopub.status.idle":"2024-06-10T20:35:30.097462Z","shell.execute_reply.started":"2024-06-10T20:33:24.794008Z","shell.execute_reply":"2024-06-10T20:35:30.095036Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-5. Relationship between \"cam_in\" and \"ptend\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_cam_in), len(dependent_vars_ptend), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_cam_in):\n    for j, dep_var in enumerate(dependent_vars_ptend):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:35:30.099971Z","iopub.execute_input":"2024-06-10T20:35:30.100548Z","iopub.status.idle":"2024-06-10T20:37:13.986943Z","shell.execute_reply.started":"2024-06-10T20:35:30.100502Z","shell.execute_reply":"2024-06-10T20:37:13.985262Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-6. Relationship between \"cam_in\" and \"cam_out\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_cam_in), len(dependent_vars_cam_out), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_cam_in):\n    for j, dep_var in enumerate(dependent_vars_cam_out):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:37:13.98899Z","iopub.execute_input":"2024-06-10T20:37:13.989416Z","iopub.status.idle":"2024-06-10T20:39:32.798632Z","shell.execute_reply.started":"2024-06-10T20:37:13.98938Z","shell.execute_reply":"2024-06-10T20:39:32.796972Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-7. Relationship between \"pbuf\" and \"ptend\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_pbuf), len(dependent_vars_ptend), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_pbuf):\n    for j, dep_var in enumerate(dependent_vars_ptend):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:39:32.800656Z","iopub.execute_input":"2024-06-10T20:39:32.801107Z","iopub.status.idle":"2024-06-10T20:40:16.891262Z","shell.execute_reply.started":"2024-06-10T20:39:32.80107Z","shell.execute_reply":"2024-06-10T20:40:16.889861Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### 4-2-1-8. Relationship between \"pbuf\" and \"cam_out\"","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(len(independent_vars_pbuf), len(dependent_vars_cam_out), figsize=(20,20))\n\nfor i, ind_var in enumerate(independent_vars_pbuf):\n    for j, dep_var in enumerate(dependent_vars_cam_out):\n        sns.scatterplot(x=ind_var, y=dep_var, data=df_median_standardize, ax=axes[i,j])\n        axes[i,j].set_xlabel(ind_var)\n        axes[i,j].set_ylabel(dep_var)\n        # axes[i, j].set_title(f'{ind_var} vs {dep_var}')\n        \nplt.tight_layout()\nplt.show()","metadata":{"execution":{"iopub.status.busy":"2024-06-10T20:40:16.892919Z","iopub.execute_input":"2024-06-10T20:40:16.893418Z","iopub.status.idle":"2024-06-10T20:41:16.333191Z","shell.execute_reply.started":"2024-06-10T20:40:16.893356Z","shell.execute_reply":"2024-06-10T20:41:16.331554Z"},"trusted":true},"execution_count":null,"outputs":[]}]}