{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":81933,"databundleVersionId":9643020,"sourceType":"competition"}],"dockerImageVersionId":30761,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<div style=\"display: flex; align-items: center; justify-content: flex-start; text-align: left; width: fit-content; margin: 0 auto;\">\n    <img src=\"https://media.giphy.com/media/LO8oXHPum0xworIyk4/giphy.gif?cid=ecf05e47mbgvh6ylsgvcjv4motlmhj5eqzukcs5tg9kltdn3&ep=v1_gifs_search&rid=giphy.gif&ct=g\"\n         style=\"max-width: 30px; margin-right: 10px;\">\n    <span>Starting from 7th notebook versions I use recalculated SII scores (see explanations below).</span>\n</div>","metadata":{}},{"cell_type":"code","source":"import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\nimport seaborn as sns\nimport warnings","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.463399Z","iopub.execute_input":"2024-12-21T04:01:44.463837Z","iopub.status.idle":"2024-12-21T04:01:44.469675Z","shell.execute_reply.started":"2024-12-21T04:01:44.463778Z","shell.execute_reply":"2024-12-21T04:01:44.468533Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"warnings.filterwarnings('ignore', category=FutureWarning)\n\nsns.set(style=\"whitegrid\")\n%matplotlib inline","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.471853Z","iopub.execute_input":"2024-12-21T04:01:44.472323Z","iopub.status.idle":"2024-12-21T04:01:44.490503Z","shell.execute_reply.started":"2024-12-21T04:01:44.472277Z","shell.execute_reply":"2024-12-21T04:01:44.489386Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# Understanding the task","metadata":{}},{"cell_type":"markdown","source":"The aim of this competition is to predict the Severity Impairment Index (sii), which measures the level of problematic internet use among children and adolescents, based on physical activity data and other features. \n\nsii is derived from `PCIAT-PCIAT_Total`, the sum of scores from the Parent-Child Internet Addiction Test (PCIAT: 20 questions, scored 0-5).","metadata":{}},{"cell_type":"markdown","source":"Target Variable (sii) is defined as:\n- 0: None (PCIAT-PCIAT_Total from 0 to 30)\n- 1: Mild (PCIAT-PCIAT_Total from 31 to 49)\n- 2: Moderate (PCIAT-PCIAT_Total from 50 to 79)\n- 3: Severe (PCIAT-PCIAT_Total 80 and more)\n\nThis makes sii an ordinal categorical variable with four levels, where the order of categories is meaningful.","metadata":{}},{"cell_type":"markdown","source":"Type of Machine Learning Problem we can use with sii as a target:\n\n1. Ordinal classification (ordinal logistic regression, models with custom ordinal loss functions)\n2. Multiclass classification (treat sii as a nominal categorical variable without considering the order)\n3. Regression (ignore the discrete nature of categories and treat sii as a continuous variable, then round prediction)\n4. Custom (e.g. loss functions that penalize errors based on the distance between categories)\n\nWe can also use `PCIAT-PCIAT_Total` as a continuous target variable, and implement regression on `PCIAT-PCIAT_Total` and then map predictions to sii categories.\n\nFinally, another strategy involves predicting responses to each question of the Parent-Child Internet Addiction Test: i.e. pedict individual question scores as separate targets, sum the predicted scores to get the `PCIAT-PCIAT_Total` and map predictions to the corresponding sii category.\n","metadata":{}},{"cell_type":"markdown","source":"But first, let's make some exploratory data analysis.","metadata":{}},{"cell_type":"markdown","source":"# Data Preview","metadata":{}},{"cell_type":"code","source":"train = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/train.csv')\ntest = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/test.csv')\ndata_dict = pd.read_csv('/kaggle/input/child-mind-institute-problematic-internet-use/data_dictionary.csv')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.492362Z","iopub.execute_input":"2024-12-21T04:01:44.492717Z","iopub.status.idle":"2024-12-21T04:01:44.545457Z","shell.execute_reply.started":"2024-12-21T04:01:44.492685Z","shell.execute_reply":"2024-12-21T04:01:44.544363Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Train data","metadata":{}},{"cell_type":"code","source":"display(train.head())\nprint(f\"Train shape: {train.shape}\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.547740Z","iopub.execute_input":"2024-12-21T04:01:44.548548Z","iopub.status.idle":"2024-12-21T04:01:44.574265Z","shell.execute_reply.started":"2024-12-21T04:01:44.548497Z","shell.execute_reply":"2024-12-21T04:01:44.572880Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Test data","metadata":{}},{"cell_type":"code","source":"display(test.head())\nprint(f\"Test shape: {test.shape}\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.575665Z","iopub.execute_input":"2024-12-21T04:01:44.576079Z","iopub.status.idle":"2024-12-21T04:01:44.604633Z","shell.execute_reply.started":"2024-12-21T04:01:44.576017Z","shell.execute_reply":"2024-12-21T04:01:44.603435Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Data dictionary","metadata":{}},{"cell_type":"code","source":"data_dict.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.606294Z","iopub.execute_input":"2024-12-21T04:01:44.606777Z","iopub.status.idle":"2024-12-21T04:01:44.623145Z","shell.execute_reply.started":"2024-12-21T04:01:44.606732Z","shell.execute_reply":"2024-12-21T04:01:44.621791Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Helper functions","metadata":{}},{"cell_type":"code","source":"def calculate_stats(data, columns):\n    if isinstance(columns, str):\n        columns = [columns]\n\n    stats = []\n    for col in columns:\n        if data[col].dtype in ['object', 'category']:\n            counts = data[col].value_counts(dropna=False, sort=False)\n            percents = data[col].value_counts(normalize=True, dropna=False, sort=False) * 100\n            formatted = counts.astype(str) + ' (' + percents.round(2).astype(str) + '%)'\n            stats_col = pd.DataFrame({'count (%)': formatted})\n            stats.append(stats_col)\n        else:\n            stats_col = data[col].describe().to_frame().transpose()\n            stats_col['missing'] = data[col].isnull().sum()\n            stats_col.index.name = col\n            stats.append(stats_col)\n\n    return pd.concat(stats, axis=0)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.624891Z","iopub.execute_input":"2024-12-21T04:01:44.625217Z","iopub.status.idle":"2024-12-21T04:01:44.636404Z","shell.execute_reply.started":"2024-12-21T04:01:44.625153Z","shell.execute_reply":"2024-12-21T04:01:44.635331Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"background-color:#f7dfc6; color:black; font-family:Verdana; font-size:100%; text-align:left; border: 3px solid #d17411; border-radius:15px; padding:20px 20px;\">Target Variables and Internet use</p>","metadata":{}},{"cell_type":"markdown","source":"Let's identify the features that are related to the target variable and that are not present in the test set.","metadata":{}},{"cell_type":"code","source":"train_cols = set(train.columns)\ntest_cols = set(test.columns)\ncolumns_not_in_test = sorted(list(train_cols - test_cols))\ndata_dict[data_dict['Field'].isin(columns_not_in_test)]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.639145Z","iopub.execute_input":"2024-12-21T04:01:44.639527Z","iopub.status.idle":"2024-12-21T04:01:44.664162Z","shell.execute_reply.started":"2024-12-21T04:01:44.639496Z","shell.execute_reply":"2024-12-21T04:01:44.663066Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"**Parent-Child Internet Addiction Test (PCIAT):** contains 20 items (`PCIAT-PCIAT_01` to `PCIAT-PCIAT_20`), each assessing a different aspect of a child's behavior related to internet use. The items are answered on a scale (from 0 to 5), and the total score provides an indication of the severity of internet addiction.\n\nWe also have season of participation in `PCIAT-Season` and total Score in `PCIAT-PCIAT_Total`; so there are 22 PCIAT test-related columns in total.\n\nLet's verify that the `PCIAT-PCIAT_Total` align with the corresponding sii categories by calculating its minimum and maximum scores for each sii category:","metadata":{}},{"cell_type":"code","source":"pciat_min_max = train.groupby('sii')['PCIAT-PCIAT_Total'].agg(['min', 'max'])\npciat_min_max = pciat_min_max.rename(\n    columns={'min': 'Minimum PCIAT total Score', 'max': 'Maximum total PCIAT Score'}\n)\npciat_min_max","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.665605Z","iopub.execute_input":"2024-12-21T04:01:44.665921Z","iopub.status.idle":"2024-12-21T04:01:44.686589Z","shell.execute_reply.started":"2024-12-21T04:01:44.665891Z","shell.execute_reply":"2024-12-21T04:01:44.685445Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data_dict[data_dict['Field'] == 'PCIAT-PCIAT_Total']['Value Labels'].iloc[0]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.689741Z","iopub.execute_input":"2024-12-21T04:01:44.690215Z","iopub.status.idle":"2024-12-21T04:01:44.698343Z","shell.execute_reply.started":"2024-12-21T04:01:44.690132Z","shell.execute_reply":"2024-12-21T04:01:44.697080Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Check missing answers","metadata":{}},{"cell_type":"markdown","source":"<div style=\"display: flex; justify-content: flex-start; align-items: flex-start; text-align: left;\">\n    <img src=\"https://media.giphy.com/media/LO8oXHPum0xworIyk4/giphy.gif?cid=ecf05e47mbgvh6ylsgvcjv4motlmhj5eqzukcs5tg9kltdn3&ep=v1_gifs_search&rid=giphy.gif&ct=g\" style=\"max-width: 3%; margin-right: 10px;\">\n    <span style=\"display: inline-block;\">Thanks to a nice catch by Broccoli Beef (<a href=\"https://www.kaggle.com/competitions/child-mind-institute-problematic-internet-use/discussion/536407#3000620\">here</a>) we also know that some of the Parent-Child Internet Addiction Test questions can be ignored by a respondent (missing values in the PCIAT-PCIAT_01 to PCIAT-PCIAT_20 columns), but the SII score is still derived from the the sum of the non-NA values, leading to potentially invalid SII values (unless, of course, some answers were cut out after the data has been collected, just to give us a bit more of a challenge.)</span>\n</div>","metadata":{}},{"cell_type":"code","source":"train_with_sii = train[train['sii'].notna()][columns_not_in_test]\ntrain_with_sii[train_with_sii.isna().any(axis=1)].head().style.applymap(\n    lambda x: 'background-color: #FFC0CB' if pd.isna(x) else ''\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.699651Z","iopub.execute_input":"2024-12-21T04:01:44.700025Z","iopub.status.idle":"2024-12-21T04:01:44.723922Z","shell.execute_reply.started":"2024-12-21T04:01:44.699994Z","shell.execute_reply":"2024-12-21T04:01:44.722779Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"For example, in the 1st and 3rd rows you can see that the score for one answer is missing. And since each question is scored from 1 to 5, the total score could be up to 5 points higher and correspond to the next SII category (SII can be 0 or 1 for the first row and 1 or 2 for the third). For the second row, `PCIAT-PCIAT_Total` and `sii` appears to have been filled in by mistake, as there are no test questions answered at all.","metadata":{}},{"cell_type":"markdown","source":"Let's check if PCIAT-PCIAT_Total was indeed calculated as a sum of non-NA values in  `PCIAT-PCIAT_01` to `PCIAT-PCIAT_20` columns:","metadata":{}},{"cell_type":"code","source":"PCIAT_cols = [f'PCIAT-PCIAT_{i+1:02d}' for i in range(20)]\nrecalc_total_score = train_with_sii[PCIAT_cols].sum(\n    axis=1, skipna=True\n)\n(recalc_total_score == train_with_sii['PCIAT-PCIAT_Total']).all()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.725571Z","iopub.execute_input":"2024-12-21T04:01:44.725928Z","iopub.status.idle":"2024-12-21T04:01:44.737918Z","shell.execute_reply.started":"2024-12-21T04:01:44.725896Z","shell.execute_reply":"2024-12-21T04:01:44.736631Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"For now, we can conclude that the SII score is sometimes incorrect. Below I recalculate the SII based on `PCIAT_Total` and the maximum possible score if missing values were answered (5 points), ensuring that the recalculated SII meets the intended thresholds even with some missing answers.","metadata":{}},{"cell_type":"code","source":"def recalculate_sii(row):\n    if pd.isna(row['PCIAT-PCIAT_Total']):\n        return np.nan\n    max_possible = row['PCIAT-PCIAT_Total'] + row[PCIAT_cols].isna().sum() * 5\n    if row['PCIAT-PCIAT_Total'] <= 30 and max_possible <= 30:\n        return 0\n    elif 31 <= row['PCIAT-PCIAT_Total'] <= 49 and max_possible <= 49:\n        return 1\n    elif 50 <= row['PCIAT-PCIAT_Total'] <= 79 and max_possible <= 79:\n        return 2\n    elif row['PCIAT-PCIAT_Total'] >= 80 and max_possible >= 80:\n        return 3\n    return np.nan\n\ntrain['recalc_sii'] = train.apply(recalculate_sii, axis=1)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:44.739834Z","iopub.execute_input":"2024-12-21T04:01:44.740322Z","iopub.status.idle":"2024-12-21T04:01:46.254473Z","shell.execute_reply.started":"2024-12-21T04:01:44.740250Z","shell.execute_reply":"2024-12-21T04:01:46.253238Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Verification of rows with different original and recalculated SII:","metadata":{}},{"cell_type":"code","source":"mismatch_rows = train[\n    (train['recalc_sii'] != train['sii']) & train['sii'].notna()\n]\n\nmismatch_rows[PCIAT_cols + [\n    'PCIAT-PCIAT_Total', 'sii', 'recalc_sii'\n]].style.applymap(\n    lambda x: 'background-color: #FFC0CB' if pd.isna(x) else ''\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.256044Z","iopub.execute_input":"2024-12-21T04:01:46.256416Z","iopub.status.idle":"2024-12-21T04:01:46.282211Z","shell.execute_reply.started":"2024-12-21T04:01:46.256383Z","shell.execute_reply":"2024-12-21T04:01:46.280853Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: Well, for 17 rows the target variable was calculated incorrectly (ignoring missing responses).\n</div>","metadata":{}},{"cell_type":"markdown","source":"<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n    <h3>Explanation of what I've just done:</h3>\n    If unanswered questions are automatically counted as zeros, this can introduce an error!<br><br>\n    Please, look at the last row of the table above. This respondent answered 18 out of 20 questions for a total score (PCIAT-PCIAT_Total) of 42. The initial SII is 1 because a score of 31-49 is equivalent to SII 1, 'Mild'. BUT we don't know how this person would have answered the missing questions - they could have scored 0, 5 or something in between. To account for this, I add the maximum possible score (5) for each unanswered question, giving a max_possible score of 52, which is in the 'Moderate' SII range (SII = 2 if PCIAT-PCIAT_Total is between 50 and 79). The initial SII = 1, may be wrong or right - we do not know! So recalculating SII with my `recalculate_sii` function will result in SII = NaN, not SII = 2 or something else.<br><br>\n    This approach ensures that all ambiguous SII scores (those potentially affected by unanswered questions) are marked as NaN.<br><br>\n</div>","metadata":{}},{"cell_type":"markdown","source":"In the following analyses I'll only use the corrected SII. I will only use total scores if all PCIAT_cols have non-NA values (all questions of the Parent-Child Internet Addiction Test have been answered).","metadata":{}},{"cell_type":"code","source":"train['sii'] = train['recalc_sii']\ntrain['complete_resp_total'] = train['PCIAT-PCIAT_Total'].where(\n    train[PCIAT_cols].notna().all(axis=1), np.nan\n)\n\nsii_map = {0: '0 (None)', 1: '1 (Mild)', 2: '2 (Moderate)', 3: '3 (Severe)'}\ntrain['sii'] = train['sii'].map(sii_map).fillna('Missing')\n\nsii_order = ['Missing', '0 (None)', '1 (Mild)', '2 (Moderate)', '3 (Severe)']\ntrain['sii'] = pd.Categorical(train['sii'], categories=sii_order, ordered=True)\n\ntrain.drop(columns='recalc_sii', inplace=True)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.285573Z","iopub.execute_input":"2024-12-21T04:01:46.285924Z","iopub.status.idle":"2024-12-21T04:01:46.304929Z","shell.execute_reply.started":"2024-12-21T04:01:46.285893Z","shell.execute_reply":"2024-12-21T04:01:46.303848Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Plot distribution of the target variable","metadata":{}},{"cell_type":"code","source":"sii_counts = train['sii'].value_counts().reset_index()\ntotal = sii_counts['count'].sum()\nsii_counts['percentage'] = (sii_counts['count'] / total) * 100\n\nfig, axes = plt.subplots(1, 2, figsize=(14, 5))\n\n# SII\nsns.barplot(x='sii', y='count', data=sii_counts, palette='Blues_d', ax=axes[0])\naxes[0].set_title('Distribution of Severity Impairment Index (sii)', fontsize=14)\nfor p in axes[0].patches:\n    height = p.get_height()\n    percentage = sii_counts.loc[sii_counts['count'] == height, 'percentage'].values[0]\n    axes[0].text(\n        p.get_x() + p.get_width() / 2,\n        height + 5, f'{int(height)} ({percentage:.1f}%)',\n        ha=\"center\", fontsize=12\n    )\n\n# PCIAT_Total for complete responses\nsns.histplot(train['complete_resp_total'].dropna(), bins=20, ax=axes[1])\naxes[1].set_title('Distribution of PCIAT_Total', fontsize=14)\naxes[1].set_xlabel('PCIAT_Total for Complete PCIAT Responses')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.306383Z","iopub.execute_input":"2024-12-21T04:01:46.306835Z","iopub.status.idle":"2024-12-21T04:01:46.936930Z","shell.execute_reply.started":"2024-12-21T04:01:46.306795Z","shell.execute_reply":"2024-12-21T04:01:46.935776Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"len(train[train['complete_resp_total'] == 0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.938480Z","iopub.execute_input":"2024-12-21T04:01:46.938929Z","iopub.status.idle":"2024-12-21T04:01:46.948484Z","shell.execute_reply.started":"2024-12-21T04:01:46.938881Z","shell.execute_reply":"2024-12-21T04:01:46.947254Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: Apparently, 40% of the participants were not affected by Internet use, 31% were not assessed, and only the minority (~10%) are moderately to severely impaired. There are 307 participants who scored 0 on all PCIAT questions.\n</div>","metadata":{}},{"cell_type":"markdown","source":"### SII by age and sex","metadata":{}},{"cell_type":"code","source":"assert train['Basic_Demos-Age'].isna().sum() == 0\nassert train['Basic_Demos-Sex'].isna().sum() == 0","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.949832Z","iopub.execute_input":"2024-12-21T04:01:46.950158Z","iopub.status.idle":"2024-12-21T04:01:46.958680Z","shell.execute_reply.started":"2024-12-21T04:01:46.950128Z","shell.execute_reply":"2024-12-21T04:01:46.957551Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train['Age Group'] = pd.cut(\n    train['Basic_Demos-Age'],\n    bins=[4, 10, 16, 22],\n    labels=['Children (5-10)', 'Adolescents (11-16)', 'Adults (16-22)']\n)\ncalculate_stats(train, 'Age Group')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.959882Z","iopub.execute_input":"2024-12-21T04:01:46.960223Z","iopub.status.idle":"2024-12-21T04:01:46.979237Z","shell.execute_reply.started":"2024-12-21T04:01:46.960154Z","shell.execute_reply":"2024-12-21T04:01:46.977721Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"sex_map = {0: 'Male', 1: 'Female'}\ntrain['Basic_Demos-Sex'] = train['Basic_Demos-Sex'].map(sex_map)\ncalculate_stats(train, 'Basic_Demos-Sex')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.980772Z","iopub.execute_input":"2024-12-21T04:01:46.981207Z","iopub.status.idle":"2024-12-21T04:01:46.997914Z","shell.execute_reply.started":"2024-12-21T04:01:46.981142Z","shell.execute_reply":"2024-12-21T04:01:46.996698Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 3, figsize=(18, 5))\n\n# SII by Age\nsns.boxplot(y=train['Basic_Demos-Age'], x=train['sii'], ax=axes[0], palette=\"Set3\")\naxes[0].set_title('SII by Age')\naxes[0].set_ylabel('Age')\naxes[0].set_xlabel('SII')\n\n# Complete PCIAT Responses by Age Group\nsns.boxplot(\n    x='Age Group', y='complete_resp_total',\n    data=train, palette=\"Set3\", ax=axes[1]\n)\naxes[1].set_title('Complete PCIAT Responses by Age Group')\naxes[1].set_ylabel('PCIAT_Total for Complete Responses')\naxes[1].set_xlabel('Age Group')\n\n# PCIAT_Total by Sex\nsns.histplot(\n    data=train, x='complete_resp_total',\n    hue='Basic_Demos-Sex', multiple='stack',\n    palette=\"Set3\", bins=20, ax=axes[2]\n)\naxes[2].set_title('PCIAT_Total Distribution by Sex')\naxes[2].set_xlabel('PCIAT_Total for Complete Responses')\naxes[2].set_ylabel('Frequency')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:46.999443Z","iopub.execute_input":"2024-12-21T04:01:46.999964Z","iopub.status.idle":"2024-12-21T04:01:48.126857Z","shell.execute_reply.started":"2024-12-21T04:01:46.999912Z","shell.execute_reply":"2024-12-21T04:01:48.125675Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = train.groupby(['Age Group', 'sii']).size().unstack(fill_value=0)\nfig, axes = plt.subplots(1, len(stats), figsize=(18, 5))\n\nfor i, age_group in enumerate(stats.index):\n    group_counts = stats.loc[age_group] / stats.loc[age_group].sum()\n    axes[i].pie(\n        group_counts, labels=group_counts.index, autopct='%1.1f%%',\n        startangle=90, colors=sns.color_palette(\"Set3\"),\n        labeldistance=1.05, pctdistance=0.80\n    )\n    axes[i].set_title(f'SII Distribution for {age_group}')\n    axes[i].axis('equal')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.128110Z","iopub.execute_input":"2024-12-21T04:01:48.128458Z","iopub.status.idle":"2024-12-21T04:01:48.677571Z","shell.execute_reply.started":"2024-12-21T04:01:48.128427Z","shell.execute_reply":"2024-12-21T04:01:48.676329Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"The distribution of sii across different age groups:","metadata":{}},{"cell_type":"code","source":"stats = train.groupby(['Age Group', 'sii']).size().unstack(fill_value=0)\nstats_prop = stats.div(stats.sum(axis=1), axis=0) * 100\n\nstats = stats.astype(str) +' (' + stats_prop.round(1).astype(str) + '%)'\nstats","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.679156Z","iopub.execute_input":"2024-12-21T04:01:48.679593Z","iopub.status.idle":"2024-12-21T04:01:48.704309Z","shell.execute_reply.started":"2024-12-21T04:01:48.679548Z","shell.execute_reply":"2024-12-21T04:01:48.703203Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Calculate percentages for participants with non-missing SII only:","metadata":{}},{"cell_type":"code","source":"stats = train[train['sii'] != 'Missing'].groupby(\n    ['Age Group', 'sii']\n).size().unstack(fill_value=0)\nstats_prop = stats.div(stats.sum(axis=1), axis=0) * 100\n\nstats = stats.astype(str) +' (' + stats_prop.round(1).astype(str) + '%)'\nstats","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.705638Z","iopub.execute_input":"2024-12-21T04:01:48.705968Z","iopub.status.idle":"2024-12-21T04:01:48.729065Z","shell.execute_reply.started":"2024-12-21T04:01:48.705937Z","shell.execute_reply":"2024-12-21T04:01:48.727867Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The box plots are different representations of the target variable in it's categorised (SII) and numerical (PCIAT_Total) form. They show that higher SII scores are generally associated with older age groups, but there's considerable overlap in the age ranges within each category, and the median PCIAT_Total is higher in adolescents, suggesting a U-shaped relationship between age and PIU impairment (the peak of Internet-related problems may occur during adolescence).\n<li>Accordingly, in the pie charts, the distribution of SII for children and adults is skewed towards lower values (none and mild), whereas, for adolescents, the distribution is more balanced across the categories of none, mild and moderate.\n<li>But what about the numbers (see tables)? The number of adolescents is much lower than that of children, and the number of adult participants is extremely low (88 in total and only 36 with SII)!\n<li>As we have seen from the graphs in the previous section, the overall distribution of SII is skewed towards lower values and severe cases are rare. So there may be relationships that we cannot see with such unequal sample sizes and under-representation of severe cases.\n<li>The differences between males and females are relatively subtle.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# Internet Use","metadata":{}},{"cell_type":"markdown","source":"Internet usage data is crucial to this task because Problematic internet use (PIU), also known as internet addiction or compulsive internet use, refers to excessive and unhealthy use of the internet that interferes with a person’s daily life, responsibilities, and social relationships. The internet usage data provides a direct measure of how much time each participant spends online.","metadata":{}},{"cell_type":"code","source":"data = train[train['PreInt_EduHx-computerinternet_hoursday'].notna()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for participants with measured PreInt_EduHx-computerinternet_hoursday data:\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.730464Z","iopub.execute_input":"2024-12-21T04:01:48.730812Z","iopub.status.idle":"2024-12-21T04:01:48.739872Z","shell.execute_reply.started":"2024-12-21T04:01:48.730780Z","shell.execute_reply":"2024-12-21T04:01:48.738791Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train['PreInt_EduHx-computerinternet_hoursday'].unique()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.741435Z","iopub.execute_input":"2024-12-21T04:01:48.741862Z","iopub.status.idle":"2024-12-21T04:01:48.760014Z","shell.execute_reply.started":"2024-12-21T04:01:48.741817Z","shell.execute_reply":"2024-12-21T04:01:48.758751Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"param_map = {0: '< 1h/day', 1: '~ 1h/day', 2: '~ 2hs/day', 3: '> 3hs/day'}\ntrain['internet_use_encoded'] = train[\n    'PreInt_EduHx-computerinternet_hoursday'\n].map(param_map).fillna('Missing')\n\nparam_ord = ['Missing', '< 1h/day', '~ 1h/day', '~ 2hs/day', '> 3hs/day']\ntrain['internet_use_encoded'] = pd.Categorical(\n    train['internet_use_encoded'], categories=param_ord,\n    ordered=True\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.761497Z","iopub.execute_input":"2024-12-21T04:01:48.761814Z","iopub.status.idle":"2024-12-21T04:01:48.776034Z","shell.execute_reply.started":"2024-12-21T04:01:48.761784Z","shell.execute_reply":"2024-12-21T04:01:48.774713Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, 'PreInt_EduHx-Season')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.777572Z","iopub.execute_input":"2024-12-21T04:01:48.777918Z","iopub.status.idle":"2024-12-21T04:01:48.793951Z","shell.execute_reply.started":"2024-12-21T04:01:48.777864Z","shell.execute_reply":"2024-12-21T04:01:48.792820Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 3, figsize=(18, 5))\n\n# Hours of Internet Use\nax1 = sns.countplot(x='internet_use_encoded', data=train, palette=\"Set3\", ax=axes[0])\naxes[0].set_title('Distribution of Hours of Internet Use')\naxes[0].set_xlabel('Hours per Day Group')\naxes[0].set_ylabel('Count')\n\ntotal = len(train['internet_use_encoded'])\nfor p in ax1.patches:\n    count = int(p.get_height())\n    percentage = '{:.1f}%'.format(100 * count / total)\n    ax1.annotate(f'{count} ({percentage})', (p.get_x() + p.get_width() / 2., p.get_height()), \n                 ha='center', va='baseline', fontsize=10, color='black', xytext=(0, 5), \n                 textcoords='offset points')\n\n# Hours of Internet Use by Age\nsns.boxplot(y=train['Basic_Demos-Age'], x=train['internet_use_encoded'], ax=axes[1], palette=\"Set3\")\naxes[1].set_title('Hours of Internet Use by Age')\naxes[1].set_ylabel('Age')\naxes[1].set_xlabel('Hours per Day Group')\n\n# Hours of Internet Use (numeric) by Age Group\nsns.boxplot(y='PreInt_EduHx-computerinternet_hoursday', x='Age Group', data=train, ax=axes[2], palette=\"Set3\")\naxes[2].set_title('Internet Hours by Age Group')\naxes[2].set_ylabel('Hours per Day (Numeric)')\naxes[2].set_xlabel('Age Group')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:48.795300Z","iopub.execute_input":"2024-12-21T04:01:48.795596Z","iopub.status.idle":"2024-12-21T04:01:49.728548Z","shell.execute_reply.started":"2024-12-21T04:01:48.795569Z","shell.execute_reply":"2024-12-21T04:01:49.727397Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = train.groupby(\n    ['Age Group', 'internet_use_encoded']\n).size().unstack(fill_value=0)\nfig, axes = plt.subplots(1, len(stats), figsize=(18, 5))\n\nfor i, age_group in enumerate(stats.index):\n    group_counts = stats.loc[age_group] / stats.loc[age_group].sum()\n    axes[i].pie(group_counts, labels=group_counts.index, autopct='%1.1f%%',\n                startangle=90, colors=sns.color_palette(\"Set3\"), labeldistance=1.1)\n    axes[i].set_title(f'Distribution of Hours of Internet Use\\n{age_group}')\n    axes[i].axis('equal')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:49.736427Z","iopub.execute_input":"2024-12-21T04:01:49.736792Z","iopub.status.idle":"2024-12-21T04:01:50.279636Z","shell.execute_reply.started":"2024-12-21T04:01:49.736759Z","shell.execute_reply":"2024-12-21T04:01:50.278584Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train_non_na = train.dropna(subset=['PreInt_EduHx-computerinternet_hoursday'])\nrows = (train_non_na['PreInt_EduHx-computerinternet_hoursday'] == 3).sum()\nprint(f\"Non-NA Rows - Internet use 3h or more: {(rows / len(train_non_na)) * 100:.2f}%\")\n\nrows = (train_non_na['PreInt_EduHx-computerinternet_hoursday'] == 0).sum()\nprint(f\"Non-NA Rows - Internet use 1h or less: {(rows / len(train_non_na)) * 100:.2f}%\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:50.280905Z","iopub.execute_input":"2024-12-21T04:01:50.281351Z","iopub.status.idle":"2024-12-21T04:01:50.295242Z","shell.execute_reply.started":"2024-12-21T04:01:50.281305Z","shell.execute_reply":"2024-12-21T04:01:50.293958Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = train.groupby(['Basic_Demos-Sex', 'internet_use_encoded']\n).size().unstack(fill_value=0)\nstats_prop = stats.div(stats.sum(axis=1), axis=0) * 100\n\nstats = stats.astype(str) +' (' + stats_prop.round(1).astype(str) + '%)'\nstats","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:50.296556Z","iopub.execute_input":"2024-12-21T04:01:50.296864Z","iopub.status.idle":"2024-12-21T04:01:50.322429Z","shell.execute_reply.started":"2024-12-21T04:01:50.296836Z","shell.execute_reply":"2024-12-21T04:01:50.321337Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>Internet usage data is missing for 16.6% of participants, while 38.5% reported using the Internet less than hour a day.\n<li>Similar to the SII data, the box plots reveals that higher daily internet usage is associated with older age, with considerable overlap in age ranges within each internet usage category. But here both the categorical and numeric representations of hours spent online indicate a consistent linear relationship.\n<li>The pie charts for age groups are well aligned and shows the same.\n<li>Creating an interaction feature between internet use and age could potentially be useful for modeling.\n<li>Internet use is fairly similar for both sexes.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Internet usage vs SII (target)","metadata":{}},{"cell_type":"markdown","source":"Competition description states that the goal is: to detect early indicators of problematic Internet and technology use (PIU), while the definition of PUI includes excessive use of internet:\n\n> PUI is an umbrella term that encompasses a set of potentially harmful online behaviors that are repetitive and uncontrolled, to the point that they are prioritized over other life interests and persist despite negative consequences.\n\n*[Fendel, J. C., Vogt, A., Brandtner, A., & Schmidt, S. (2024). Mindfulness programs for problematic usage of the internet: A systematic review and meta-analysis. Journal of behavioral addictions, 13(2), 327–353.](https://doi.org/10.1556/2006.2024.00024)*\n\nSo let's see how much time the participants with different impairment scores (SII) spent online in this dataset.","metadata":{}},{"cell_type":"code","source":"sii_reported = train[train['sii'] != \"Missing\"]\nsii_reported.loc[:, 'sii'] = sii_reported['sii'].cat.remove_unused_categories()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:50.323656Z","iopub.execute_input":"2024-12-21T04:01:50.323966Z","iopub.status.idle":"2024-12-21T04:01:50.334859Z","shell.execute_reply.started":"2024-12-21T04:01:50.323936Z","shell.execute_reply":"2024-12-21T04:01:50.333727Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = sii_reported.groupby(\n    ['internet_use_encoded', 'sii']\n).size().unstack(fill_value=0)\nstats_prop = stats.div(stats.sum(axis=1), axis=0) * 100\n\nstats = stats.astype(str) +' (' + stats_prop.round(1).astype(str) + '%)'\nstats","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:50.336269Z","iopub.execute_input":"2024-12-21T04:01:50.336617Z","iopub.status.idle":"2024-12-21T04:01:50.357600Z","shell.execute_reply.started":"2024-12-21T04:01:50.336586Z","shell.execute_reply":"2024-12-21T04:01:50.356355Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig = plt.figure(figsize=(12, 10))\ngs = fig.add_gridspec(2, 2, height_ratios=[1, 1.5])\n\n# SII vs Hours of Internet Use\nax1 = fig.add_subplot(gs[0, 0])\nsns.boxplot(\n    x='sii', y='PreInt_EduHx-computerinternet_hoursday',\n    data=sii_reported,\n    ax=ax1, palette=\"Set3\"\n)\nax1.set_title('SII vs Hours of Internet Use')\nax1.set_ylabel('Hours per Day')\nax1.set_xlabel('SII')\n\n# PCIAT_Total for Complete PCIAT Responses by Hours of Internet Use\nax2 = fig.add_subplot(gs[0, 1])\nsns.boxplot(\n    x='internet_use_encoded', y='complete_resp_total',\n    data=sii_reported,\n    palette=\"Set3\", ax=ax2\n)\nax2.set_title('PCIAT_Total by Hours of Internet Use')\nax2.set_ylabel('PCIAT_Total for Complete PCIAT Responses')\nax2.set_xlabel('Hours per Day Group')\n\n# SII vs Hours of Internet Use by Age Group (Full width)\nax3 = fig.add_subplot(gs[1, :])\nsns.boxplot(\n    x='internet_use_encoded', y='complete_resp_total',\n    data=sii_reported,\n    hue='Age Group', ax=ax3, palette=\"Set3\"\n)\nax3.set_title('PCIAT_Total vs Hours of Internet Use by Age Group')\nax3.set_ylabel('PCIAT_Total for Complete PCIAT Responses')\nax3.set_xlabel('Hours per Day Group')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:50.359726Z","iopub.execute_input":"2024-12-21T04:01:50.360052Z","iopub.status.idle":"2024-12-21T04:01:51.668278Z","shell.execute_reply.started":"2024-12-21T04:01:50.360021Z","shell.execute_reply":"2024-12-21T04:01:51.667227Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = sii_reported.groupby(\n    ['sii', 'internet_use_encoded']\n).size().unstack(fill_value=0)\nfig, axes = plt.subplots(1, len(stats), figsize=(18, 5))\n\nfor i, sii_group in enumerate(stats.index):\n    group_counts = stats.loc[sii_group] / stats.loc[sii_group].sum()\n    axes[i].pie(\n        group_counts, labels=group_counts.index, autopct='%1.1f%%',\n        startangle=90, colors=sns.color_palette(\"Set3\"), labeldistance=1.1\n    )\n    axes[i].set_title(f'Hours of using computer/internet\\n for SII = {sii_group}')\n    axes[i].axis('equal')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:51.669833Z","iopub.execute_input":"2024-12-21T04:01:51.670255Z","iopub.status.idle":"2024-12-21T04:01:52.325833Z","shell.execute_reply.started":"2024-12-21T04:01:51.670211Z","shell.execute_reply":"2024-12-21T04:01:52.324647Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"stats = sii_reported.groupby(\n    ['sii', 'internet_use_encoded']\n).size().unstack(fill_value=0)\nstats_prop = stats.div(stats.sum(axis=1), axis=0) * 100\n\nstats = stats.astype(str) +' (' + stats_prop.round(1).astype(str) + '%)'\nstats","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.327492Z","iopub.execute_input":"2024-12-21T04:01:52.327942Z","iopub.status.idle":"2024-12-21T04:01:52.354267Z","shell.execute_reply.started":"2024-12-21T04:01:52.327897Z","shell.execute_reply":"2024-12-21T04:01:52.352991Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[\n    (train['internet_use_encoded'] == '< 1h/day') & \n    (train['sii'].isin(['2 (Moderate)', '3 (Severe)']))\n]['Basic_Demos-Age'].describe()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.355557Z","iopub.execute_input":"2024-12-21T04:01:52.355859Z","iopub.status.idle":"2024-12-21T04:01:52.370130Z","shell.execute_reply.started":"2024-12-21T04:01:52.355830Z","shell.execute_reply":"2024-12-21T04:01:52.368782Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>In the box plots, despite the considerable overlap between the different SII and internet use categories, we see a positive trend between PIU impairment and internet use, with people with higher SII scores spending more time online (it would be strange if this wasn't the case, as excessive internet use is assumed by the PIU definition).\n<li>However, when the relationship between PCIAT_Total and hours of Internet use is further broken down by age group (bottom boxplot), the non-linear relationship between age, Internet use and PIU emerges, with adolescents standing out as the most affected age group across all categories of Internet use.\n<li>The pie charts also show that there is a significant proportion of participants (83 in total), of all ages, who spend very little time online (less than 1 hour per day) but have high SII scores (20.7% with SII 2 - moderately impaired and 14.7% with SII = 3 - severely impaired).\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n    <h3>Summary of Findings</h3>\n    <ol>\n        <li>The SII scores tend to increase with age but show a U-shaped relationship, with adolescents having the highest median PCIAT scores.</li>\n        <li>The higher the age, the more hours participants spent online (clear linear trend).</li>\n        <li>People with higher SII scores generally spend more time online, but adolescents stand out as the most affected age group across all categories of internet use.</li>\n        <li>There are participants of almost all ages (5 to 21) who spend less than an hour a day online and have high SII scores.</li>\n    </ol>\n    <p><em>Note:</em> These results should be interpreted with caution, as there is considerable overlap between the different SII and internet use categories, and severe cases and adults are under-represented in the data.</p>\n</div>","metadata":{}},{"cell_type":"markdown","source":"<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n    <h3>Interpretation</h3>\n    <p>The relationship between SII and internet usage time is not as straightforward as one might expect, given the definition of PIU (aka internet addiction). This is because factors beyond just the hours spent online contribute to the SII, and the above analysis suggest that the age is particularly crucial: adolescents appear to have the highest SII across all levels of internet use... But how to interpret this: are they more susceptible to PIU, or is this questionnaire just more sensitive to PIU in this age group? Let's try to understand what exacly our target variable reflect.</p>\n    <p>The questions in the PCIAT questionnaire (used to derive the SII, see data_dict.csv) appear to be designed to measure emotional and social impacts associated with internet use (emotional dependence on the internet, social isolation, neglect of responsibilities, and the impact of internet use on relationships and mood). In other words, the intend was to measure show how problematic the behaviour associated with internet use is. However, parents' perceptions are naturally biased and influenced by various factors - such as their own internet habits, cultural attitudes, or their wishes/ideas about how their children should behave.</p>\n    <p>Furthermore, can you imagine that spending less than an hour a day online could in itself lead to problems such as emotional distress, neglect of duties or withdrawal from family? I don't think an hour a day of any content on the internet can lead to any of those things... The presence of this in the data only proves that respondents are not being honest in answering the PCIAT questions and internet use, or that SII scores are being influenced by other factors that have nothing to do with the PIU.</p>\n    <p>The former point out that the single feature that links all the other data we have (physical activity, accelerometer data, sleep, etc.) to internet use (and we need this connection to predict the impact of PIU) may be unreliable and biased as well as the target variable.</p>\n    <p>The latter imply that participants may have various pre-existing social behaviours or moods that are unrelated to Internet use (and PIU) per se. The questionnaire is a subjective tool, even when completed by parents, while adolescence is an outstanding period in life - a time of identity formation, evolving peer relationships, and a search for independence - all of which can amplify behaviors like mood swings, disobedience, and impulsivity. Consequently, the SII may be capturing how problematic are these broader developmental behaviors rather than internet use specifically.</p>\n    <p>Additionally, the applicability of the questionnaire across the age range is questionable. I think all the questions in the PCIAT are much more suitable for adolescents. For example:</p>\n        <ul style=\"list-style:circle\">\n            <li>A 5-7-year-old may not have household chores, as this depends on cultural norms.\n            <li>The question about academic impact may not apply to younger children who are not yet in school or graduated adults.\n            <li>Email use and receiving phone calls from \"online friends\" seem out of context for young children too.\n            <li>Questions about reaction to the time allowed to spend on the internet (there are at least 3 of them) are not applicable to adults... usually.\n        </ul>\n    <p>Questions not applicable to a participant’s age could lead to skewed or irrelevant responses. All of these challenges the construct validity of SII and considers whether it accurately measures PIU or is affected by other behavioral factors.</p>\n</div>","metadata":{}},{"cell_type":"markdown","source":"<div style=\"width: 100%; display: flex; justify-content: space-between; \n            align-items: center; padding: 10px 0; background-color: #fff;\">\n    <img src=\"https://img.icons8.com/?size=100&id=FDI4JxAMODWm&format=png&color=000000\" \n         alt=\"Flower\" style=\"margin: 0 10px;\">\n   <img src=\"https://img.icons8.com/?size=100&id=33505&format=png&color=000000\" \n         alt=\"Flower\" style=\"margin: 0 10px;\">\n     <img src=\"https://img.icons8.com/?size=100&id=zNMWGK0lHFdq&format=png&color=000000\" \n         alt=\"Flower\" style=\"margin: 0 10px;\">\n    <img src=\"https://img.icons8.com/?size=100&id=swcZVLFGWY9T&format=png&color=000000\" \n         alt=\"Flower\" style=\"transform: scaleX(-1); margin: 0 10px;\">\n     <img src=\"https://img.icons8.com/?size=100&id=71328&format=png&color=000000\" \n         alt=\"Flower\" style=\"margin: 0 10px;\">\n    <img src=\"https://img.icons8.com/?size=100&id=16971&format=png&color=000000\" \n         alt=\"Flower\" style=\"transform: scaleX(-1); margin: 0 10px;\">\n    <img src=\"https://img.icons8.com/?size=100&id=0Jf0JX4aVU0x&format=png&color=000000\" \n         alt=\"Flower\" style=\"transform: scaleX(-1); margin: 0 10px;\">\n</div>","metadata":{}},{"cell_type":"markdown","source":"# Features EDA by Groups","metadata":{}},{"cell_type":"markdown","source":"Here’s how we can classify types of the features in this dataset:\n\n- Categorical: Variables with discrete categories but no inherent order (represented as strings, e.g., season of enrollment)\n- Encoded categorical features (already encoded as integers, e.g. sex)\n- Continuous: Variables that can take any value within a range (e.g., age, enmo, heart_rate).\n- Ordinal: Variables with a defined order but not necessarily equidistant categories (e.g., questionnaire responses).","metadata":{}},{"cell_type":"markdown","source":"And here are different features groups:","metadata":{}},{"cell_type":"code","source":"groups = data_dict.groupby('Instrument')['Field'].apply(list).to_dict()\n\nfor instrument, features in groups.items():\n    print(f\"{instrument}: {features}\\n\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.371632Z","iopub.execute_input":"2024-12-21T04:01:52.371976Z","iopub.status.idle":"2024-12-21T04:01:52.391513Z","shell.execute_reply.started":"2024-12-21T04:01:52.371943Z","shell.execute_reply":"2024-12-21T04:01:52.390189Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Season-related columns","metadata":{}},{"cell_type":"markdown","source":"The presence of different season-related columns likely reflects the timing of data collection or participation in the study. Seasonal changes may play a significant role in the variables being measured (e.g., fitness, physical activity, sleep patterns, and of course internet usage).","metadata":{}},{"cell_type":"code","source":"season_columns = [col for col in train.columns if 'Season' in col]\nseason_df = train[season_columns]\nseason_df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.392991Z","iopub.execute_input":"2024-12-21T04:01:52.393425Z","iopub.status.idle":"2024-12-21T04:01:52.418355Z","shell.execute_reply.started":"2024-12-21T04:01:52.393379Z","shell.execute_reply":"2024-12-21T04:01:52.417040Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[season_columns] = train[season_columns].fillna(\"Missing\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.419861Z","iopub.execute_input":"2024-12-21T04:01:52.420239Z","iopub.status.idle":"2024-12-21T04:01:52.438384Z","shell.execute_reply.started":"2024-12-21T04:01:52.420196Z","shell.execute_reply":"2024-12-21T04:01:52.437125Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Grouping of features by type and measurement method\nHaving examined the contents of data_dict in detail, I believe that the characteristics can also be grouped according to their type and method of measurement (the diagram was made with [napkin](https://app.napkin.ai/)):\n","metadata":{}},{"cell_type":"markdown","source":"![napkin-selection (2).png](attachment:c359295e-1571-4287-a3f9-a30da49114bd.png)","metadata":{},"attachments":{"c359295e-1571-4287-a3f9-a30da49114bd.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABqsAAAKZCAYAAAAvcBHVAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qd8VFXax/HnJiR0pQoqQRBkraCgggJKRMkEC9bXgiI2sPdVEBVQkOKKvaArKCqyu7qiqEwABRQUVLALqAhSFKRJh0ByX59LJjsZZpKZZCa3/e5n+Yjk3nOe8z13BfKfc44hXAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgjYJGDY1C/dIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIICCEVbwECCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEVbwDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACtgkQVtlGT8cIIIAAAggggAACqRA488wzG+zcufOgtLS02qlonzYRQAABBBBAwDsChYWFhRkZGSvee++9X7wz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Ci6nQHnCqq+++kqGDBli9XjllVfKaaedJjNnzpSJEyfKqlWrrG0E77//fut8qdBlmqZ88803MmXKFFm4cKFs3LjR+lK9evXkuOOOkzPPPFP0TKxY1/PPP289q9e9994rRx99dPGt4audsrKyrLOXqlevLp999plMmjRJlixZIgUFBdZZXB06dCizr9IoU7Gyavv27TJ9+nSZNm2arFy5srjWI444Qs4++2xp3ry5GEbpf03WNnQO9Mevv/4q+fn5kp6eLgceeKB1zlh2drZlEn6Fz2OsMevz6lmnTh3rlvfff986Oyw09927dy/XnIVvO9itWze55ppr5IsvvpB///vfVv3an75DTZo0KdF+6D1655135KeffpJt27ZJZmamHHTQQXLGGWfI8ccfX+aZatG8w9s49thjpWrVquX8fxSPIeAsAcIqZ80H1SCAAAIIuE+AsMp9c0bFCCCAAAIIIICApwQIqzw1nQymFIGKhlUXXnihFS7MmTOnuJfIgOP333+XUaNGWaFRrEuDlZ49e8rpp59uhSyRV7xhlfZ9ww03WIHKzz//HLW7GjVqyC233CLt2rVL+N1Idli1YMECefzxx2Xt2rVRa0lLS7PCwF69ekUNUDS8+eSTT2T06NFWcBPratCggTXmww47rPgWp4RVp5xyitSsWVPee+89KSwstOqLtmpNA85nn33WCrViXRrs3X777bL//vtHveXbb7+1vHUeY10HHHCA1QZntyX8fw8ecKAAYZUDJ4WSEEAAAQRcJUBY5arpolgEEEAAAQQQQMB7AoRV3ptTRhRdoKJhla5WCq2S0mBFV8Ro8DBw4EDr5xpU6Sqs1atXWwVomNS5c2crCNBwZdasWaKhiYYU+vx1111nrQKKvOINq3SFjK6K2bx5szRs2FCOOeYYa6WNhhOff/65teJIL12JM2DAAGtlVyJXMsOqefPmySOPPGLVpGNv1aqVaHBTpUoVy0QDwFC9GuJpYBUZ5OlKqmeeecZajaVtHHXUUdKxY0drVZuucps6daq1WksvDax0tZKGMXrt2rVLtm7dav18xYoVVi3qpm3oPKiltqnBUWhlVypWVml4qLXoD73q1q1rjbNfv37FgdG6detk2LBhoiuy9NK51fdE3yNdYaXv0Zo1a6yv6a/1799f6tevX2JqNSx96KGHZMOGDcXeGljqO/nDDz9Y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AAIgAAIgAAIgAAIgoBEBiFUagcQwIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACzhOAWOU8MxwBAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCgEQGIVRqBxDAgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALOE4BY5TwzHAECIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIKARAYhVGoHEMCAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAs4TgFjlPDMcAQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgoBEBiFUagcQwIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACzhOAWOU8MxwBAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCgEQGIVRqBxDAgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALOE4BY5TwzHAECIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIKARgf8HHbrRdFX7vb0AAAAASUVORK5CYII="}}},{"cell_type":"markdown","source":"### Potential connection to problematic internet use (PIU)\n- Behavioral (subjective reported):\n  - A person can't have PIU if they don't use the internet, so I would expect `PreInt_EduHx-computerinternet_hoursday` to be the most important feature, but as we saw above, its relationship with the target can be non-linear.\n  - Behavioural tendencies associated with PIU may be reflected in the physical activity score derived from the questionnaires (`PAQ_A-PAQ_A_Total` and `PAQ_C-PAQ_C_Total`).   \n  \n  However, both features are self-reports and are likely to be biased and inaccurate, so I would expect noise here.\n  \n- Physical Health and Fitness (objective measurements):\n  - The Children's Global Assessment Scale (`CGAS-CGAS_Score`) is a clinician-rated score reflecting general functioning. For individuals with PIU, this score can indicate how PIU impacts overall functioning.\n  - Physical health measures include body composition and vital signs (feature columns starting with `Physical-`), and may reflect how problematic internet use is in terms of its impact on general health (note that height alone may not be as relevant, but combined with weight it gives BMI - a measure of body fat).\n  - Bio-electric Impedance Analysis assess body composition and metabolic health (body fat, muscle mass, water content, metabolic rate, etc.), PIU, if assosiated with sedentary behavior could be reflected through changes in these variables (lower bone density, lower lean muscle mass, reduced daily energy expenditure, poor hydration, decrease in fat-free mass, higher body fat percentages, and so on).\n  - Objective measures of physical activity include FitnessGram results (endurance, curl, grip, push-up, sit & reach, trunk lift - feature columns starting with `Fitness_` and `FGC-FGC_`). These can indicate how problematic internet use is in terms of its impact on muscle strength and tonus.\n  - An assessment of sleep-related issues (feature columns `SDS-SDS_Total_Raw`, `SDS-SDS_Total_T`) could reflect the extent to which PIU disrupts sleep patterns.\n- Demographic features:\n  - Age and gender can be extremely important, as there may be gender and especially age-specific patterns (as we have already seen above) associated with Internet use and PIU)","metadata":{}},{"cell_type":"markdown","source":"Remove target-related columns and continue EDA by feature groups.","metadata":{}},{"cell_type":"code","source":"data_dict = data_dict[data_dict['Instrument'] != 'Parent-Child Internet Addiction Test']\ncontinuous_cols = data_dict[data_dict['Type'].str.contains(\n    'float|int', case=False\n)]['Field'].tolist()\n\n# target = train[['sii']]\n# train = train.drop(columns = columns_not_in_test)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.439969Z","iopub.execute_input":"2024-12-21T04:01:52.440493Z","iopub.status.idle":"2024-12-21T04:01:52.447975Z","shell.execute_reply.started":"2024-12-21T04:01:52.440456Z","shell.execute_reply":"2024-12-21T04:01:52.446797Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"# <p style=\"background-color:#FFFFE0; color:black; font-family:Verdana; font-size:100%; text-align:left; border: 3px solid #FFD700; border-radius:15px; padding:20px 20px;\">- Demographics</p>","metadata":{}},{"cell_type":"code","source":"groups.get('Demographics', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.449366Z","iopub.execute_input":"2024-12-21T04:01:52.449733Z","iopub.status.idle":"2024-12-21T04:01:52.461365Z","shell.execute_reply.started":"2024-12-21T04:01:52.449681Z","shell.execute_reply":"2024-12-21T04:01:52.460127Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 2, figsize=(12, 5))\n\n# Season of Enrollment\nseason_counts = train['Basic_Demos-Enroll_Season'].value_counts(dropna=False)\n\naxes[0].pie(\n    season_counts, labels=season_counts.index,\n    autopct='%1.1f%%', startangle=90,\n    colors=sns.color_palette(\"Set3\")\n)\naxes[0].set_title('Season of Enrollment')\naxes[0].axis('equal')\n\n# Age Distribution by Sex\nsns.histplot(\n    data=train, x='Basic_Demos-Age',\n    hue='Basic_Demos-Sex', multiple='dodge',\n    palette=\"Set2\", bins=20, ax=axes[1]\n)\naxes[1].set_title('Age Distribution by Sex')\naxes[1].set_xlabel('Age')\naxes[1].set_ylabel('Count')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:52.462677Z","iopub.execute_input":"2024-12-21T04:01:52.462979Z","iopub.status.idle":"2024-12-21T04:01:53.186419Z","shell.execute_reply.started":"2024-12-21T04:01:52.462950Z","shell.execute_reply":"2024-12-21T04:01:53.185225Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"0=Male, 1=Female","metadata":{}},{"cell_type":"code","source":"calculate_stats(train, 'Basic_Demos-Age')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.187919Z","iopub.execute_input":"2024-12-21T04:01:53.188279Z","iopub.status.idle":"2024-12-21T04:01:53.207548Z","shell.execute_reply.started":"2024-12-21T04:01:53.188247Z","shell.execute_reply":"2024-12-21T04:01:53.206483Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The distribution of enrollment by season is relatively balanced, with the highest enrollment in Spring (28.5%) and the lowest in Fall (21.9%).\n<li>There is a higher number of males (0) across most age groups, with fewer females (1) particularly visible in younger age groups.\n<li>The relationships with the target variable are shown in the section  'SII by age and sex' (no difference in SII between men and women, U-shaped relationship between age and PIU impairment).\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# <p style=\"background-color:#dff5e9; color:black; font-family:Verdana; font-size:100%; text-align:left; border: 3px solid #57c98a; border-radius:15px; padding:20px 20px;\">Physical Health and Fitness (objective measurements)</p>","metadata":{}},{"cell_type":"markdown","source":"# - Children's Global Assessment Scale","metadata":{}},{"cell_type":"code","source":"groups.get(\"Children's Global Assessment Scale\", [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.209320Z","iopub.execute_input":"2024-12-21T04:01:53.209630Z","iopub.status.idle":"2024-12-21T04:01:53.216522Z","shell.execute_reply.started":"2024-12-21T04:01:53.209592Z","shell.execute_reply":"2024-12-21T04:01:53.215210Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = train[train['CGAS-CGAS_Score'].notnull()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for participants with CGAS-CGAS_Score data:\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.217822Z","iopub.execute_input":"2024-12-21T04:01:53.218113Z","iopub.status.idle":"2024-12-21T04:01:53.235058Z","shell.execute_reply.started":"2024-12-21T04:01:53.218084Z","shell.execute_reply":"2024-12-21T04:01:53.233784Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, 'CGAS-CGAS_Score')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.236753Z","iopub.execute_input":"2024-12-21T04:01:53.237212Z","iopub.status.idle":"2024-12-21T04:01:53.260241Z","shell.execute_reply.started":"2024-12-21T04:01:53.237146Z","shell.execute_reply":"2024-12-21T04:01:53.259091Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[train['CGAS-CGAS_Score'] > 100]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.261639Z","iopub.execute_input":"2024-12-21T04:01:53.262046Z","iopub.status.idle":"2024-12-21T04:01:53.288011Z","shell.execute_reply.started":"2024-12-21T04:01:53.262001Z","shell.execute_reply":"2024-12-21T04:01:53.286772Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>There is one extreme value outlier (CGAS-CGAS_Score = 999), which is obviously an error.\n    </ul>\n</div>","metadata":{}},{"cell_type":"code","source":"train.loc[train['CGAS-CGAS_Score'] == 999, 'CGAS-CGAS_Score'] = np.nan","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.289863Z","iopub.execute_input":"2024-12-21T04:01:53.290262Z","iopub.status.idle":"2024-12-21T04:01:53.299885Z","shell.execute_reply.started":"2024-12-21T04:01:53.290211Z","shell.execute_reply":"2024-12-21T04:01:53.298789Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plt.figure(figsize=(12, 5))\n\n# CGAS-Season\nplt.subplot(1, 2, 1)\ncgas_season_counts = train['CGAS-Season'].value_counts(normalize=True)\nplt.pie(\n    cgas_season_counts, \n    labels=cgas_season_counts.index, \n    autopct='%1.1f%%', \n    startangle=90, \n    colors=sns.color_palette(\"Set3\")\n)\nplt.title('CGAS-Season')\nplt.axis('equal')\n\n# CGAS-CGAS_Score without outliers (score == 999)\nplt.subplot(1, 2, 2)\nsns.histplot(\n    train['CGAS-CGAS_Score'].dropna(),\n    bins=20, kde=True\n)\nplt.title('CGAS-CGAS_Score (Without Outlier)')\nplt.xlabel('CGAS Score')\nplt.ylabel('Count')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.301390Z","iopub.execute_input":"2024-12-21T04:01:53.301714Z","iopub.status.idle":"2024-12-21T04:01:53.936134Z","shell.execute_reply.started":"2024-12-21T04:01:53.301683Z","shell.execute_reply":"2024-12-21T04:01:53.934963Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Stats without outlier:","metadata":{}},{"cell_type":"code","source":"calculate_stats(train, 'CGAS-CGAS_Score')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.937529Z","iopub.execute_input":"2024-12-21T04:01:53.937857Z","iopub.status.idle":"2024-12-21T04:01:53.959471Z","shell.execute_reply.started":"2024-12-21T04:01:53.937827Z","shell.execute_reply":"2024-12-21T04:01:53.958260Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### CGAS Interpretation ([Reference](https://www.corc.uk.net/outcome-experience-measures/childrens-global-assessment-scale-cgas/))\n\nCGAS is a rating of general functioning for children and young people aged 4-16 years old. The CGAS asks the clinician to rate the child from 1 to 100 based on their lowest level of functioning, regardless of treatment or prognosis, over a specified time period.\n\nSince the CGAS is a measure of general functioning, and the SII reflects the severity of the impact of Internet use on that functioning, I expect this feature, along with Internet use, to be the most important in predicting the SII.\n\nLet's bin the `CGAS-CGAS_Score` column based on the established score categories and draw counts:","metadata":{}},{"cell_type":"code","source":"bins = np.arange(0, 101, 10)\nlabels = [\n    \"1-10: Needs constant supervision (24 hour care)\",\n    \"11-20: Needs considerable supervision\",\n    \"21-30: Unable to function in almost all areas\",\n    \"31-40: Major impairment in functioning in several areas\",\n    \"41-50: Moderate degree of interference in functioning\",\n    \"51-60: Variable functioning with sporadic difficulties\",\n    \"61-70: Some difficulty in a single area\",\n    \"71-80: No more than slight impairment in functioning\",\n    \"81-90: Good functioning in all areas\",\n    \"91-100: Superior functioning\"\n]\n\ntrain['CGAS_Score_Bin'] = pd.cut(\n    train['CGAS-CGAS_Score'], bins=bins, labels=labels\n)\n\ncounts = train['CGAS_Score_Bin'].value_counts().reindex(labels)\nprop = (counts / counts.sum() * 100).round(1)\ncount_prop_labels = counts.astype(str) + \" (\" + prop.astype(str) + \"%)\"\n\nplt.figure(figsize=(18, 6))\nbars = plt.barh(labels, counts)\nplt.xlabel('Count')\nplt.title('CGAS Score Distribution')\n\nfor bar, label in zip(bars, count_prop_labels):\n    plt.text(\n        bar.get_width(), bar.get_y() + bar.get_height() / 2, label, va='center'\n    )\n\nplt.gca().invert_yaxis()\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:53.960950Z","iopub.execute_input":"2024-12-21T04:01:53.961394Z","iopub.status.idle":"2024-12-21T04:01:54.552490Z","shell.execute_reply.started":"2024-12-21T04:01:53.961331Z","shell.execute_reply":"2024-12-21T04:01:54.551336Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The majority of individuals have CGAS scores between 51-80 (79.7%), i.e. sporadic difficulties to only slight impairments\n<li>Two participants have extreme difficulty in functioning\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"Examine relationships with the target variable:","metadata":{}},{"cell_type":"code","source":"train_filt = train.dropna(subset=['CGAS_Score_Bin', 'complete_resp_total'])\ntrain_filt.loc[:, 'CGAS_Score_Bin'] = train_filt['CGAS_Score_Bin'].cat.remove_unused_categories()\ntrain_filt.loc[:, 'sii'] = train_filt['sii'].cat.remove_unused_categories()\nlen(train_filt)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:54.554037Z","iopub.execute_input":"2024-12-21T04:01:54.554479Z","iopub.status.idle":"2024-12-21T04:01:54.573348Z","shell.execute_reply.started":"2024-12-21T04:01:54.554433Z","shell.execute_reply":"2024-12-21T04:01:54.571978Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 2, figsize=(16, 5))\n\n# CGAS-CGAS_Score vs sii\nsns.boxplot(\n    data=train_filt,\n    x='sii', y='CGAS-CGAS_Score',\n    palette='Set3', ax=axes[0]\n)\naxes[0].set_xlabel('SII Score')\naxes[0].set_ylabel('CGAS Score')\naxes[0].set_title('Distribution of CGAS Scores by SII')\n\n# complete_resp_total vs CGAS_Score_Bin\nsns.boxplot(\n    data=train_filt,\n    x='CGAS_Score_Bin', y='complete_resp_total',\n    ax=axes[1], palette='Set3'\n)\n\n# Get the tick positions and match the labels\nrange_labels = [label.split(\":\")[0] for label in train_filt['CGAS_Score_Bin'].cat.categories]\naxes[1].set_xticklabels(range_labels)\n\naxes[1].set_xlabel('CGAS Score category')\naxes[1].set_ylabel('PCIAT_Total for Complete PCIAT Responses')\naxes[1].set_title('Distribution of PCIAT_Total by CGAS Score categories')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:54.576138Z","iopub.execute_input":"2024-12-21T04:01:54.577235Z","iopub.status.idle":"2024-12-21T04:01:55.313460Z","shell.execute_reply.started":"2024-12-21T04:01:54.577159Z","shell.execute_reply":"2024-12-21T04:01:55.312240Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"score_min_max = train.groupby('sii')['CGAS-CGAS_Score'].agg(['min', 'max'])\nscore_min_max = score_min_max.rename(\n    columns={'min': 'Minimum CGAS Score', 'max': 'Maximum CGAS Score'}\n)\nscore_min_max","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:55.315066Z","iopub.execute_input":"2024-12-21T04:01:55.315513Z","iopub.status.idle":"2024-12-21T04:01:55.334691Z","shell.execute_reply.started":"2024-12-21T04:01:55.315466Z","shell.execute_reply":"2024-12-21T04:01:55.333378Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Let's check the SII and Internet usage data for the participants with the worst global functioning:","metadata":{}},{"cell_type":"code","source":"train_filt[train_filt['CGAS-CGAS_Score'] < 35][\n    ['Basic_Demos-Age', 'Basic_Demos-Sex', 'sii',\n     'CGAS-CGAS_Score',\n     'PreInt_EduHx-computerinternet_hoursday']\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:55.336085Z","iopub.execute_input":"2024-12-21T04:01:55.337005Z","iopub.status.idle":"2024-12-21T04:01:55.353633Z","shell.execute_reply.started":"2024-12-21T04:01:55.336951Z","shell.execute_reply":"2024-12-21T04:01:55.352402Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"And the same for the participants with the best global functioning:","metadata":{}},{"cell_type":"code","source":"train[train['CGAS-CGAS_Score'] > 90][\n    ['Basic_Demos-Age', 'Basic_Demos-Sex', 'sii',\n     'CGAS-CGAS_Score',\n     'PreInt_EduHx-computerinternet_hoursday']\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:55.355046Z","iopub.execute_input":"2024-12-21T04:01:55.355411Z","iopub.status.idle":"2024-12-21T04:01:55.380858Z","shell.execute_reply.started":"2024-12-21T04:01:55.355378Z","shell.execute_reply":"2024-12-21T04:01:55.379669Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>I would expect the higher the SII, the lower the median CGAS score, but the decrease is very small here.\n<li>However, there are no participants with the highest SII scores (3 or severely problematic internet use) who have good CGAS scores (81-100: good/superior functioning in all domains). This suggests that parental responses to the PCIAT questionnaire (our target variable) may reflect some effects of PIU on global health and functioning.\n<li>The participants with the worst and best CGAS scores all have SII 0 or 1 (no or mild PIU severity) and report varying internet use (less than 1 hours/day to 3 or more hours/day). This means in the train data there are participants with significant health issues not related to PIU.\n<li>The high variability makes it hard to draw a clear, consistent conclusion about the relationship between CGAS and SII scores. \n<li>Small sample sizes in certain CGAS categories make it difficult to generalize findings and may lead to biased interpretations.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# - Physical Measures","metadata":{}},{"cell_type":"code","source":"groups.get('Physical Measures', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:55.382393Z","iopub.execute_input":"2024-12-21T04:01:55.382806Z","iopub.status.idle":"2024-12-21T04:01:55.391695Z","shell.execute_reply.started":"2024-12-21T04:01:55.382774Z","shell.execute_reply":"2024-12-21T04:01:55.390530Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"features_physical = groups.get('Physical Measures', [])\ncols = [col for col in features_physical if col in continuous_cols]\n\nplt.figure(figsize=(24, 10))\nn_cols = 4\nn_rows = len(cols) // n_cols + 1\n\nfor i, col in enumerate(cols):\n    plt.subplot(n_rows, n_cols, i + 1)\n    train[col].hist(bins=20)\n    plt.title(col)\n\nplt.subplot(n_rows, n_cols, len(cols) + 1)\nseason_counts = train['Physical-Season'].value_counts(dropna=False)\nplt.pie(\n    season_counts,\n    labels=season_counts.index,\n    autopct='%1.1f%%',\n    startangle=90,\n    colors=sns.color_palette(\"Set3\")\n)\nplt.title('Physical-Season')\n\nplt.suptitle('Histograms for Physical Measures and Physical-Season Pie Chart', y=1.05)\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:55.393234Z","iopub.execute_input":"2024-12-21T04:01:55.394146Z","iopub.status.idle":"2024-12-21T04:01:58.000540Z","shell.execute_reply.started":"2024-12-21T04:01:55.394099Z","shell.execute_reply":"2024-12-21T04:01:57.999406Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.001960Z","iopub.execute_input":"2024-12-21T04:01:58.002393Z","iopub.status.idle":"2024-12-21T04:01:58.042809Z","shell.execute_reply.started":"2024-12-21T04:01:58.002345Z","shell.execute_reply":"2024-12-21T04:01:58.041674Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Weight and Height","metadata":{}},{"cell_type":"code","source":"wh_cols = [\n    'Physical-BMI', 'Physical-Height',\n    'Physical-Weight', 'Physical-Waist_Circumference'\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.044423Z","iopub.execute_input":"2024-12-21T04:01:58.044848Z","iopub.status.idle":"2024-12-21T04:01:58.051506Z","shell.execute_reply.started":"2024-12-21T04:01:58.044802Z","shell.execute_reply":"2024-12-21T04:01:58.050243Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"The minimum values of 0 for measures like BMI, weight, and blood pressure are biologically unrealistic, and likely indicate missing or erroneous data. Let's  check number of zeros in these columns:","metadata":{}},{"cell_type":"code","source":"(train[wh_cols] == 0).sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.052896Z","iopub.execute_input":"2024-12-21T04:01:58.053332Z","iopub.status.idle":"2024-12-21T04:01:58.071839Z","shell.execute_reply.started":"2024-12-21T04:01:58.053288Z","shell.execute_reply":"2024-12-21T04:01:58.070493Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Replace the 0 values by NaN and check the stats again:","metadata":{}},{"cell_type":"code","source":"train[wh_cols] = train[wh_cols].replace(0, np.nan)\ncalculate_stats(train, wh_cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.073300Z","iopub.execute_input":"2024-12-21T04:01:58.073927Z","iopub.status.idle":"2024-12-21T04:01:58.107915Z","shell.execute_reply.started":"2024-12-21T04:01:58.073891Z","shell.execute_reply":"2024-12-21T04:01:58.106631Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Convert weight to kilograms, and height to centimeters and recalculate BMI:","metadata":{}},{"cell_type":"code","source":"lbs_to_kg = 0.453592\ninches_to_cm = 2.54\n\ntrain['Physical-Weight'] = train['Physical-Weight'] * lbs_to_kg\ntrain['Physical-Height'] = train['Physical-Height'] * inches_to_cm\ntrain['Physical-Waist_Circumference'] = train['Physical-Waist_Circumference'] * inches_to_cm\n\n# Recalculate BMI: BMI = weight (kg) / (height (m)^2)\ntrain['Physical-BMI'] = np.where(\n    train['Physical-Weight'].notna() & train['Physical-Height'].notna(),\n    train['Physical-Weight'] / ((train['Physical-Height'] / 100) ** 2),\n    np.nan  # If either is NaN, set BMI to NaN\n)\n\ncalculate_stats(train, wh_cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.109544Z","iopub.execute_input":"2024-12-21T04:01:58.109967Z","iopub.status.idle":"2024-12-21T04:01:58.143703Z","shell.execute_reply.started":"2024-12-21T04:01:58.109925Z","shell.execute_reply":"2024-12-21T04:01:58.142644Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"A lot of values seem to be out of normal ranges... especially max values of weight (142kg) and waist circumference (127cm).","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(18, 5))\n\n# Physical-Weight by Age\nplt.subplot(1, 3, 1)\nsns.scatterplot(x='Basic_Demos-Age', y='Physical-Weight', data=train)\nplt.title('Physical-Weight by Age')\nplt.xlabel('Age')\nplt.ylabel('Weight (kg)')\n\n# Physical-Height by Age\nplt.subplot(1, 3, 2)\nsns.scatterplot(x='Basic_Demos-Age', y='Physical-Height', data=train)\nplt.title('Physical-Height by Age')\nplt.xlabel('Age')\nplt.ylabel('Height (cm)')\n\n# Physical-Waist_Circumference vs Physical-Weight\nplt.subplot(1, 3, 3)\nsns.scatterplot(x='Physical-Weight', y='Physical-Waist_Circumference', data=train)\nplt.title('Waist Circumference vs Weight')\nplt.xlabel('Weight (kg)')\nplt.ylabel('Waist Circumference (cm)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:58.145137Z","iopub.execute_input":"2024-12-21T04:01:58.145524Z","iopub.status.idle":"2024-12-21T04:01:59.289815Z","shell.execute_reply.started":"2024-12-21T04:01:58.145491Z","shell.execute_reply":"2024-12-21T04:01:59.288726Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>Weight and height both increase with age, and waist circumference and weight are highly correlated, as expected.\n<li>However, there are individuals who are unusually tall for their age group or who are extremely overweight.\n<li>There are also a few outliers in the waist circumference measurements, which are possible artifacts (e.g. 100 cm for a weight of 40 kg).\n<li>The problem with data cleaning here is that we cannot guess which of the data is correct. For example, we may see an unrealistic combination of a waist circumference of 100cm and a weight of 40kg for a participant, but where is the error in the waist circumference or the weight? Or a height of around 175cm for a child of 7... has the height or age been entered incorrectly? Or this is true data and the child has gigantism or another disorder related to the growth hormone?\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Blood Pressure & Heart Rate","metadata":{}},{"cell_type":"markdown","source":"There is 1000% incorrect data in the BP/HR columns as the minimum values are lethal to humans. We can clean up these kinds of mistakes.","metadata":{}},{"cell_type":"code","source":"bp_hr_cols = [\n    'Physical-Diastolic_BP', 'Physical-Systolic_BP',\n    'Physical-HeartRate'\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:59.291392Z","iopub.execute_input":"2024-12-21T04:01:59.291708Z","iopub.status.idle":"2024-12-21T04:01:59.296779Z","shell.execute_reply.started":"2024-12-21T04:01:59.291678Z","shell.execute_reply":"2024-12-21T04:01:59.295557Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"(train[bp_hr_cols] < 50).sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:59.298248Z","iopub.execute_input":"2024-12-21T04:01:59.298579Z","iopub.status.idle":"2024-12-21T04:01:59.312733Z","shell.execute_reply.started":"2024-12-21T04:01:59.298550Z","shell.execute_reply":"2024-12-21T04:01:59.311577Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"We also know that systolic BP cannot be lower than diastolic BP:","metadata":{}},{"cell_type":"code","source":"train[train['Physical-Systolic_BP'] <= train['Physical-Diastolic_BP']][bp_hr_cols]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:59.313909Z","iopub.execute_input":"2024-12-21T04:01:59.314207Z","iopub.status.idle":"2024-12-21T04:01:59.332544Z","shell.execute_reply.started":"2024-12-21T04:01:59.314161Z","shell.execute_reply":"2024-12-21T04:01:59.331328Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"These are certainly incorrect measurements. But again, we can't be sure which information is correct, so we can either flag these rows for further manual inspection one by one, or replace all suspicious values with NaN. For this analysis I only remove 0 values and both BP if systolic is lower or equal to diastolic.","metadata":{}},{"cell_type":"code","source":"train[cols] = train[cols].replace(0, np.nan)\ntrain.loc[train['Physical-Systolic_BP'] <= train['Physical-Diastolic_BP'], bp_hr_cols] = np.nan","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:59.333788Z","iopub.execute_input":"2024-12-21T04:01:59.334064Z","iopub.status.idle":"2024-12-21T04:01:59.348836Z","shell.execute_reply.started":"2024-12-21T04:01:59.334037Z","shell.execute_reply":"2024-12-21T04:01:59.347550Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Blood Pressure vs Heart Rate","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(12, 5))\n\n# Diastolic BP vs Heart Rate\nplt.subplot(1, 2, 1)\nsns.scatterplot(x='Physical-Diastolic_BP', y='Physical-HeartRate', data=train)\nplt.title('Diastolic BP vs Heart Rate')\nplt.xlabel('Diastolic Blood Pressure (mmHg)')\nplt.ylabel('Heart rate (beats/min)')\n\n# Systolic BP vs Heart Rate\nplt.subplot(1, 2, 2)\nsns.scatterplot(x='Physical-Systolic_BP', y='Physical-HeartRate', data=train)\nplt.title('Systolic BP vs Heart Rate')\nplt.xlabel('Systolic Blood Pressure (mmHg)')\nplt.ylabel('Heart rate (beats/min)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:01:59.350332Z","iopub.execute_input":"2024-12-21T04:01:59.350768Z","iopub.status.idle":"2024-12-21T04:02:00.153604Z","shell.execute_reply.started":"2024-12-21T04:01:59.350722Z","shell.execute_reply":"2024-12-21T04:02:00.152520Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The absence of a clear direct correlation between heart rate and blood pressure in the plots suggests that the measurements were likely taken in a resting state or under non-stressful conditions. \n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Blood pressure vs Body Mass Index (BMI)","metadata":{}},{"cell_type":"markdown","source":"Typically, systolic (SBP) and diastolic (DBP) blood pressure are positively correlated, as they both reflect the functioning of the cardiovascular system. However, there can be deviations:\n\n- Isolated Systolic Hypertension: High SBP with normal DBP\n- Isolated Diastolic Hypertension: Normal SBP with high DBP\n- General Hypertension: Both SBP and DBP are elevated\n\nBMI is often used as an indicator of overall body fat and can correlate with blood pressure (e.g. higher BMI values indicating overweight or obesity are commonly associated with elevated blood pressure). Let's see if this is true for the study participants.","metadata":{}},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 2, figsize=(16, 6))\n\n# BMI vs Systolic Blood Pressure\nsns.scatterplot(x='Physical-BMI', y='Physical-Systolic_BP', data=train, ax=axes[0], color='b')\naxes[0].set_title('BMI vs Systolic Blood Pressure')\naxes[0].set_xlabel('Body Mass Index (BMI) (kg/m^2)')\naxes[0].set_ylabel('Systolic Blood Pressure (mmHg)')\n\n# Systolic Blood Pressure vs Diastolic Blood Pressure\nsns.scatterplot(\n    x='Physical-Systolic_BP', y='Physical-Diastolic_BP',\n    data=train, ax=axes[1], color='g'\n)\naxes[1].set_title('Systolic Blood Pressure vs Diastolic Blood Pressure')\naxes[1].set_xlabel('Systolic Blood Pressure (mmHg)')\naxes[1].set_ylabel('Diastolic Blood Pressure (mmHg)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:00.154767Z","iopub.execute_input":"2024-12-21T04:02:00.155050Z","iopub.status.idle":"2024-12-21T04:02:00.995093Z","shell.execute_reply.started":"2024-12-21T04:02:00.155023Z","shell.execute_reply":"2024-12-21T04:02:00.993897Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>There does not appear to be a strong, clear correlation between body mass index (BMI) and systolic blood pressure (BP).\n<li>As expected, there is a strong positive correlation between systolic and diastolic BP, but there are notable cases of isolated systolic or diastolic hypertension (or errors in the data, who knows?)\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Compare to normal rages ","metadata":{}},{"cell_type":"markdown","source":"Now we'll define approximate normal ranges for each column and count the number of rows that fall outside these ranges. As normal values can vary widely between the ages of 5 and 22, **I use values that are general estimates; for more precise results you can refer to BMI-for-age growth charts on the CDC or WHO websites, for example.**","metadata":{}},{"cell_type":"code","source":"normal_ranges = {\n    'Physical-BMI': (18.5, 24.9),\n    'Physical-Height': (100, 193),\n    'Physical-Weight': (20, 120),\n    'Physical-Waist_Circumference': (50, 90),\n    'Physical-Diastolic_BP': (60, 80),\n    'Physical-HeartRate': (60, 100),\n    'Physical-Systolic_BP': (90, 120)\n}\n\ndef count_out_of_range(data, column, low, high):\n    return ((data[column] < low) | (data[column] > high)).sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:00.996844Z","iopub.execute_input":"2024-12-21T04:02:00.997237Z","iopub.status.idle":"2024-12-21T04:02:01.005114Z","shell.execute_reply.started":"2024-12-21T04:02:00.997187Z","shell.execute_reply":"2024-12-21T04:02:01.003511Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"out_of_range_counts = {\n    col: count_out_of_range(train, col, *normal_ranges[col])\n    for col in normal_ranges\n}\nprint(\"Number of rows with values outside normal ranges:\")\n\nfor col, count in out_of_range_counts.items():\n    total_valid = train[col].notna().sum()\n    percentage = (count / total_valid) * 100\n    print(f\"{col}: {count} ({percentage:.2f}%)\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.006524Z","iopub.execute_input":"2024-12-21T04:02:01.006908Z","iopub.status.idle":"2024-12-21T04:02:01.039048Z","shell.execute_reply.started":"2024-12-21T04:02:01.006861Z","shell.execute_reply":"2024-12-21T04:02:01.037929Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Group BMI by obesity level according to [WHO BMI-for-age (5-19 years)](https://www.who.int/tools/growth-reference-data-for-5to19-years/indicators/bmi-for-age)","metadata":{}},{"cell_type":"code","source":"bmi_categories = [\n    ('Underweight', train['Physical-BMI'] < 18.5),\n    ('Normal weight', (train['Physical-BMI'] >= 18.5) & (train['Physical-BMI'] <= 24.9)),\n    ('Overweight', (train['Physical-BMI'] >= 25) & (train['Physical-BMI'] <= 29.9)),\n    ('Obesity', train['Physical-BMI'] >= 30)\n]\nbmi_category_counts = {label: condition.sum() for label, condition in bmi_categories}\n\nplt.figure(figsize=(5, 6))\nplt.pie(bmi_category_counts.values(),\n        labels=bmi_category_counts.keys(),\n        autopct='%1.1f%%', startangle=90,\n        colors=plt.cm.Set3.colors)\nplt.title('BMI Distribution by Category')\nplt.axis('equal')\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.049998Z","iopub.execute_input":"2024-12-21T04:02:01.050386Z","iopub.status.idle":"2024-12-21T04:02:01.183912Z","shell.execute_reply.started":"2024-12-21T04:02:01.050349Z","shell.execute_reply":"2024-12-21T04:02:01.182861Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Check extreme deviations cases","metadata":{}},{"cell_type":"code","source":"train[train['Physical-BMI'] < 12][cols + ['Basic_Demos-Age']].sort_values(by = 'Physical-BMI')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.185087Z","iopub.execute_input":"2024-12-21T04:02:01.185503Z","iopub.status.idle":"2024-12-21T04:02:01.211217Z","shell.execute_reply.started":"2024-12-21T04:02:01.185457Z","shell.execute_reply":"2024-12-21T04:02:01.210191Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[train['Physical-Systolic_BP'] > 160][cols + ['Basic_Demos-Age']].sort_values(by = 'Physical-Systolic_BP')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.212661Z","iopub.execute_input":"2024-12-21T04:02:01.213098Z","iopub.status.idle":"2024-12-21T04:02:01.237012Z","shell.execute_reply.started":"2024-12-21T04:02:01.213051Z","shell.execute_reply":"2024-12-21T04:02:01.235986Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n        <li>A significant number of participants, especially for BMI and blood pressure, fall outside the expected normal ranges\n        <li>Most participants' heights and weights are within reasonable ranges, but many have BMIs outside the approximate normal range, suggesting that many participants may have disproportionate body proportions (or incorrect measurements?). For a more accurate understanding, age-specific reference values need to be used.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Relationships with the target variable (PCIAT_Total for complete PCIAT responses)","metadata":{}},{"cell_type":"code","source":"data_subset = train[cols + ['complete_resp_total']]\n\ncorr_matrix = data_subset.corr()\n\nplt.figure(figsize=(10, 8))\nsns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f', vmin=-1, vmax=1)\nplt.title('Correlation Heatmap')\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.238308Z","iopub.execute_input":"2024-12-21T04:02:01.238714Z","iopub.status.idle":"2024-12-21T04:02:01.781147Z","shell.execute_reply.started":"2024-12-21T04:02:01.238668Z","shell.execute_reply":"2024-12-21T04:02:01.779826Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The positive correlation with the target is for height, weight, and waist circumference, which means that taller and fatter people tend to have a higher SII. But as these physical parameters increase with age, and we already know that SII tends to be highest in adolescents, this could indicate that they acts as a proxy for age (likely reflect age-related trends). \n<li>Cardiovascular measures (systolic blood pressure, diastolic blood pressure and heart rate) also change with age, but do not vary as drastically between childhood and adolescence as physical measures, and may not be as sensitive to behaviours such as internet use. They also have a higher degree of variability, as we saw in the graphs above, so the weak correlation may indicate that cardiovascular health is not strongly linked to PIU, or that these data are just more scattered and noisy and the relationship with PIU is diluted.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# - Bio-electric Impedance Analysis","metadata":{}},{"cell_type":"code","source":"data_dict[data_dict['Instrument'] == 'Bio-electric Impedance Analysis']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.782646Z","iopub.execute_input":"2024-12-21T04:02:01.783064Z","iopub.status.idle":"2024-12-21T04:02:01.798751Z","shell.execute_reply.started":"2024-12-21T04:02:01.783026Z","shell.execute_reply":"2024-12-21T04:02:01.797588Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"There is no information in the competition description about what equipment was used, is this raw data or did they use some BIA equation models to estimate the parameters. But it's likely that the BIA data has already been processed using a BIA equation model. It is very important to note that BIA is not a precise method, for example it tends to overestimate muscle mass, so equations have been developed to estimate muscle mass based on factors such as age, sex, height, weight and resistance and/or reactance estimated by BIA... a large number of prediction equation models have been generated through various validation studies ([link](https://clinicalnutritionespen.com/article/S2405-4577(19)30478-4/fulltext)). It is essential that all recordings are processed with the same equation, but we cannot be sure. ","metadata":{}},{"cell_type":"code","source":"bia_data_dict = data_dict[data_dict['Instrument'] == 'Bio-electric Impedance Analysis']\ncategorical_columns = bia_data_dict[bia_data_dict['Type'] == 'categorical int']['Field'].tolist()\ncontinuous_columns = bia_data_dict[bia_data_dict['Type'] == 'float']['Field'].tolist()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.800062Z","iopub.execute_input":"2024-12-21T04:02:01.800438Z","iopub.status.idle":"2024-12-21T04:02:01.814074Z","shell.execute_reply.started":"2024-12-21T04:02:01.800406Z","shell.execute_reply":"2024-12-21T04:02:01.812824Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 3, figsize=(18, 5))\n\n# Season\nseason_counts = train['BIA-Season'].value_counts(normalize=True)\naxes[0].pie(\n    season_counts, \n    labels=season_counts.index, \n    autopct='%1.1f%%', \n    startangle=90, \n    colors=sns.color_palette(\"Set3\")\n)\naxes[0].set_title(\n    f\"{bia_data_dict[bia_data_dict['Field'] == 'BIA-Season']['Description'].values[0]}\"\n)\naxes[0].axis('equal')\n\n# Other categorical columns\nfor idx, col in enumerate(categorical_columns):\n    sns.countplot(x=col, data=train, palette=\"Set3\", ax=axes[idx+1])\n    axes[idx+1].set_title(data_dict[data_dict['Field'] == col]['Description'].values[0])\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:01.815693Z","iopub.execute_input":"2024-12-21T04:02:01.815999Z","iopub.status.idle":"2024-12-21T04:02:02.461982Z","shell.execute_reply.started":"2024-12-21T04:02:01.815971Z","shell.execute_reply":"2024-12-21T04:02:02.460833Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plt.figure(figsize=(24, 20))\n\nfor idx, col in enumerate(continuous_columns):\n    plt.subplot(4, 4, idx + 1)\n    sns.histplot(train[col].dropna(), bins=20, kde=True)\n    plt.title(data_dict[data_dict['Field'] == col]['Description'].values[0])\n    plt.xlabel('Value')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:02.463652Z","iopub.execute_input":"2024-12-21T04:02:02.464103Z","iopub.status.idle":"2024-12-21T04:02:07.973462Z","shell.execute_reply.started":"2024-12-21T04:02:02.464042Z","shell.execute_reply":"2024-12-21T04:02:07.972241Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, continuous_columns)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:07.975031Z","iopub.execute_input":"2024-12-21T04:02:07.975486Z","iopub.status.idle":"2024-12-21T04:02:08.033067Z","shell.execute_reply.started":"2024-12-21T04:02:07.975439Z","shell.execute_reply":"2024-12-21T04:02:08.031993Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The distribution of the various bioelectrical impedance analysis measurements in the data set indicates that most of them are not useful: highly skewed, with the majority of participants having marginal values and a few outliers (potential measurement errors).\n<li>Some variables, such as Fat Mass Index and Body Fat Percentage, show implausible negative values, and almost all - extreme high values, indicating potential data quality issues\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"### Compare the two measured BMI","metadata":{}},{"cell_type":"code","source":"bmi_data = train[['BIA-BIA_BMI', 'Physical-BMI']].dropna()\n\nplt.figure(figsize=(8, 6))\nsns.scatterplot(\n    x='BIA-BIA_BMI', y='Physical-BMI',\n    data=bmi_data,\n    color='b'\n)\nplt.title('Comparison of BIA-BMI vs Physical-BMI')\nplt.xlabel('BIA-BMI')\nplt.ylabel('Physical-BMI')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:08.034347Z","iopub.execute_input":"2024-12-21T04:02:08.034667Z","iopub.status.idle":"2024-12-21T04:02:08.493436Z","shell.execute_reply.started":"2024-12-21T04:02:08.034638Z","shell.execute_reply":"2024-12-21T04:02:08.492254Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"bmi_measures = train[['BIA-Season', 'Physical-Season']].dropna()\nbmi_measures.groupby(['BIA-Season', 'Physical-Season']).size().reset_index(name='Count')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:08.494751Z","iopub.execute_input":"2024-12-21T04:02:08.495072Z","iopub.status.idle":"2024-12-21T04:02:08.515202Z","shell.execute_reply.started":"2024-12-21T04:02:08.495041Z","shell.execute_reply":"2024-12-21T04:02:08.514071Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: This may not be exactly correct, because above I found zeros in the physical measurements and recalculated the BMI... As we can see, this BMI measured during the bioelectrical impedance also contains zeros that I cannot explain and that seem to be errors.\n</div>","metadata":{}},{"cell_type":"markdown","source":"I am afraid that it will be meaningless to examine the relationships with the target variable, as there is too much unknown about these data (how they were collected and processed, what the reference values are, etc.).","metadata":{}},{"cell_type":"markdown","source":"# - FitnessGram","metadata":{}},{"cell_type":"markdown","source":"## FitnessGram Vitals and Treadmill","metadata":{}},{"cell_type":"code","source":"groups.get('FitnessGram Vitals and Treadmill', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:08.516481Z","iopub.execute_input":"2024-12-21T04:02:08.516815Z","iopub.status.idle":"2024-12-21T04:02:08.524280Z","shell.execute_reply.started":"2024-12-21T04:02:08.516785Z","shell.execute_reply":"2024-12-21T04:02:08.522941Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = train[train['Fitness_Endurance-Max_Stage'].notnull()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for participants with Fitness_Endurance-Max_Stage data:\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:08.525723Z","iopub.execute_input":"2024-12-21T04:02:08.526034Z","iopub.status.idle":"2024-12-21T04:02:08.541807Z","shell.execute_reply.started":"2024-12-21T04:02:08.526005Z","shell.execute_reply":"2024-12-21T04:02:08.540658Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fig, axes = plt.subplots(1, 4, figsize=(24, 5))\n\n# Fitness Endurance Season\ntrain['Fitness_Endurance-Season'].value_counts(normalize=True).plot.pie(\n    autopct='%1.1f%%', colors=plt.cm.Set3.colors, ax=axes[0]\n)\naxes[0].set_title('Fitness Endurance Season')\naxes[0].axis('equal')  # Equal aspect ratio ensures the pie is drawn as a circle.\n\n# Box plot for Max Stage by Season\nsns.violinplot(\n    x='Fitness_Endurance-Season',\n    y='Fitness_Endurance-Max_Stage',\n    data=train, palette=\"Set3\",\n    ax=axes[1]\n)\naxes[1].set_title('Max Stage by Season')\naxes[1].set_xlabel('Season')\naxes[1].set_ylabel('Max Stage')\n\n# Fitness Endurance Time (Minutes)\nsns.histplot(train['Fitness_Endurance-Time_Mins'], bins=20, kde=True, ax=axes[2])\naxes[2].set_title('Fitness Endurance Time (Minutes)')\naxes[2].set_xlabel('Time (Minutes)')\n\n# Fitness Endurance Time (Seconds)\nsns.histplot(train['Fitness_Endurance-Time_Sec'], bins=20, kde=True, ax=axes[3])\naxes[3].set_title('Fitness Endurance Time (Seconds)')\naxes[3].set_xlabel('Time (Seconds)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:08.543323Z","iopub.execute_input":"2024-12-21T04:02:08.543766Z","iopub.status.idle":"2024-12-21T04:02:09.916986Z","shell.execute_reply.started":"2024-12-21T04:02:08.543720Z","shell.execute_reply":"2024-12-21T04:02:09.915784Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Endurance by age:","metadata":{}},{"cell_type":"code","source":"plt.figure(figsize=(12, 5))\n\nsns.violinplot(x='Basic_Demos-Age', y='Fitness_Endurance-Max_Stage', data=train, palette=\"Set3\")\nplt.title('Fitness Endurance Max Stage by Age')\nplt.xlabel('Age')\nplt.ylabel('Max Stage')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:09.918816Z","iopub.execute_input":"2024-12-21T04:02:09.919234Z","iopub.status.idle":"2024-12-21T04:02:10.597777Z","shell.execute_reply.started":"2024-12-21T04:02:09.919190Z","shell.execute_reply":"2024-12-21T04:02:10.596719Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"cols = [\n    'Fitness_Endurance-Max_Stage',\n    'Fitness_Endurance-Time_Mins',\n    'Fitness_Endurance-Time_Sec'\n]\ncalculate_stats(train, cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.599275Z","iopub.execute_input":"2024-12-21T04:02:10.599759Z","iopub.status.idle":"2024-12-21T04:02:10.626569Z","shell.execute_reply.started":"2024-12-21T04:02:10.599697Z","shell.execute_reply":"2024-12-21T04:02:10.625270Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"- Fitness_Endurance-Max_Stage: likely represents the maximum stage reached during an endurance test. In fitness endurance tests like a treadmill test or a multi-stage fitness test (beep test), participants progress through increasing levels of difficulty (speed or incline), and this column records the highest level or stage completed by the participant before stopping.\n- Fitness_Endurance-Time_Mins: could be the duration a participant was able to sustain the test before reaching exhaustion, measured in minutes\n- Fitness_Endurance-Time_Sec: I guess combining both columns (minutes and seconds) would give the exact total time of the endurance test completed by the participants.","metadata":{}},{"cell_type":"markdown","source":"### Check the combinations of missing values","metadata":{}},{"cell_type":"markdown","source":"Max_Stage present, time (mins or secs) missing:","metadata":{}},{"cell_type":"code","source":"train[\n    (train['Fitness_Endurance-Max_Stage'].notna()) & \n    (train['Fitness_Endurance-Time_Mins'].isna() | \n     train['Fitness_Endurance-Time_Sec'].isna())\n][cols]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.628498Z","iopub.execute_input":"2024-12-21T04:02:10.628858Z","iopub.status.idle":"2024-12-21T04:02:10.643254Z","shell.execute_reply.started":"2024-12-21T04:02:10.628825Z","shell.execute_reply":"2024-12-21T04:02:10.642076Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"It's possible that during data entry minutes or seconds were left blank (entered as NaN) when they should have been recorded as 0 minutes/seconds. While the missing seconds are not as important, the missing minutes may actually be missing and treating them as 0 would give an incorrect test result. I think it's better to just remove these suspicious cases.","metadata":{}},{"cell_type":"code","source":"train.loc[\n    (train['Fitness_Endurance-Max_Stage'].notna()) & \n    (train['Fitness_Endurance-Time_Mins'].isna() | \n     train['Fitness_Endurance-Time_Sec'].isna()), cols\n] = np.nan","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.644958Z","iopub.execute_input":"2024-12-21T04:02:10.645436Z","iopub.status.idle":"2024-12-21T04:02:10.657411Z","shell.execute_reply.started":"2024-12-21T04:02:10.645387Z","shell.execute_reply":"2024-12-21T04:02:10.656128Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Get one time column (mins + sec)","metadata":{}},{"cell_type":"code","source":"train['Fitness_Endurance-Total_Time_Sec'] = train[\n    'Fitness_Endurance-Time_Mins'\n] * 60 + train['Fitness_Endurance-Time_Sec']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.658725Z","iopub.execute_input":"2024-12-21T04:02:10.659041Z","iopub.status.idle":"2024-12-21T04:02:10.670688Z","shell.execute_reply.started":"2024-12-21T04:02:10.659011Z","shell.execute_reply":"2024-12-21T04:02:10.669644Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Recalculate stats:","metadata":{}},{"cell_type":"code","source":"calculate_stats(train, ['Fitness_Endurance-Max_Stage', 'Fitness_Endurance-Total_Time_Sec'])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.672016Z","iopub.execute_input":"2024-12-21T04:02:10.673159Z","iopub.status.idle":"2024-12-21T04:02:10.700744Z","shell.execute_reply.started":"2024-12-21T04:02:10.673122Z","shell.execute_reply":"2024-12-21T04:02:10.699643Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>On average, participants reached stage 5 in the endurance test.\n<li>Some participants failed to complete the first stage (min = 0), or these are errors in data again.\n<li>There is a small number of participants with exceptionally high endurance of age 7-8 years.\n<li>There is a substantial amount of missing data (over 80% of the dataset lacks this information).\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"## FitnessGram Child","metadata":{}},{"cell_type":"code","source":"data_dict[data_dict['Instrument'] == 'FitnessGram Child']","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.702204Z","iopub.execute_input":"2024-12-21T04:02:10.702633Z","iopub.status.idle":"2024-12-21T04:02:10.718243Z","shell.execute_reply.started":"2024-12-21T04:02:10.702584Z","shell.execute_reply":"2024-12-21T04:02:10.717031Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"fgc_data_dict = data_dict[data_dict['Instrument'] == 'FitnessGram Child']\n\nfgc_columns = []\n\nfor index, row in fgc_data_dict.iterrows():\n    if '_Zone' not in row['Field']:\n        measure_field = row['Field']\n        measure_desc = row['Description']\n        \n        zone_field = measure_field + '_Zone'\n        zone_row = fgc_data_dict[fgc_data_dict['Field'] == zone_field]\n        \n        if not zone_row.empty:\n            zone_desc = zone_row['Description'].values[0]\n            fgc_columns.append((measure_field, zone_field, measure_desc, zone_desc))\n            \nfig, axes = plt.subplots(2, 4, figsize=(24, 10))\n\nfor idx, (measure, zone, measure_desc, zone_desc) in enumerate(fgc_columns):\n    row = idx // 4\n    col = idx % 4\n    \n    sns.histplot(\n        data=train, x=measure,\n        hue=zone, bins=20, palette='Set2',\n        ax=axes[row, col], kde=True\n    )\n    axes[row, col].set_title(f'{measure_desc}')\n\nseason_counts = train['FGC-Season'].value_counts(normalize=True)\naxes[1, 3].pie(\n    season_counts, labels=season_counts.index,\n    autopct='%1.1f%%', startangle=90,\n    colors=sns.color_palette(\"Set3\")\n)\naxes[1, 3].set_title('Season of participation')\naxes[1, 3].axis('equal') \n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:10.719796Z","iopub.execute_input":"2024-12-21T04:02:10.720264Z","iopub.status.idle":"2024-12-21T04:02:14.618182Z","shell.execute_reply.started":"2024-12-21T04:02:10.720217Z","shell.execute_reply":"2024-12-21T04:02:14.617147Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>Most of the distributions are skewed towards lower performance totals.\n<li>Strangely, a greater proportion of participants achieved a healthy fitness zone for the trunk lift.\n<li>I would expect different ranges for each zone, but the values for different zones overlap significantly. This may be because the zone ranges are different for different ages.\n    </ul>\n</div>","metadata":{}},{"cell_type":"code","source":"measurement_columns = [measure for measure, _, _, _ in fgc_columns]\ncalculate_stats(train, measurement_columns)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:14.619465Z","iopub.execute_input":"2024-12-21T04:02:14.619857Z","iopub.status.idle":"2024-12-21T04:02:14.657588Z","shell.execute_reply.started":"2024-12-21T04:02:14.619825Z","shell.execute_reply":"2024-12-21T04:02:14.656458Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Overlap between fitness zones","metadata":{}},{"cell_type":"code","source":"def compute_min_max_by_sex(train, sex, fgc_columns):\n    results = []\n    \n    for measure, zone, _, _ in fgc_columns:\n        sorted_zones = sorted(train[zone].dropna().unique())\n        \n        for zone_value in sorted_zones:\n            data = train[(train[zone] == zone_value) & \n                         (train['Basic_Demos-Sex'] == sex)][measure]\n            \n            if not data.empty:\n                min_val, max_val = data.min(), data.max()\n                results.append({\n                    'Zone': int(zone_value),\n                    'Measure': measure,\n                    'Min-Max': f'{min_val} - {max_val}'\n                })\n    \n    df = pd.DataFrame(results).pivot_table(\n        index='Zone', columns='Measure', values='Min-Max', aggfunc='first'\n    )\n    \n    return df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:14.658892Z","iopub.execute_input":"2024-12-21T04:02:14.659329Z","iopub.status.idle":"2024-12-21T04:02:14.667031Z","shell.execute_reply.started":"2024-12-21T04:02:14.659294Z","shell.execute_reply":"2024-12-21T04:02:14.665746Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Output ranges for each measure and zone for males:","metadata":{}},{"cell_type":"code","source":"compute_min_max_by_sex(train, 'Male', fgc_columns)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:14.668289Z","iopub.execute_input":"2024-12-21T04:02:14.668626Z","iopub.status.idle":"2024-12-21T04:02:14.733908Z","shell.execute_reply.started":"2024-12-21T04:02:14.668567Z","shell.execute_reply":"2024-12-21T04:02:14.732851Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Same for females;","metadata":{}},{"cell_type":"code","source":"compute_min_max_by_sex(train, 'Female', fgc_columns)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:14.735137Z","iopub.execute_input":"2024-12-21T04:02:14.735548Z","iopub.status.idle":"2024-12-21T04:02:14.789463Z","shell.execute_reply.started":"2024-12-21T04:02:14.735516Z","shell.execute_reply":"2024-12-21T04:02:14.788247Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"The ranges for each measure and zone by age (only for males, just to check if the overlap still exists):","metadata":{}},{"cell_type":"code","source":"results_male = []\n\nfor measure, zone, _, _ in fgc_columns:\n    sorted_zones = sorted(train[zone].dropna().unique())\n    for zone_value in sorted_zones:\n        age_sex_data_by_zone = train[train[zone] == zone_value][\n            ['Basic_Demos-Age', 'Basic_Demos-Sex', measure]\n        ]\n        unique_ages = age_sex_data_by_zone['Basic_Demos-Age'].dropna().unique()\n\n        for age in sorted(unique_ages):\n            age_sex_data = age_sex_data_by_zone[\n                (age_sex_data_by_zone['Basic_Demos-Age'] == age) &\n                (age_sex_data_by_zone['Basic_Demos-Sex'] == 'Male')\n            ][measure]\n            \n            if not age_sex_data.empty:\n                min_val, max_val = age_sex_data.min(), age_sex_data.max()\n                results_male.append({\n                    'Age': age,\n                    'Sex': 'Male',\n                    'Zone': zone_value,\n                    'Measure': measure,\n                    'Min-Max': f'{min_val} - {max_val}'\n                })\n\ndf_male = pd.DataFrame(results_male).pivot_table(\n    index=['Age', 'Sex', 'Zone'], columns='Measure', values='Min-Max', aggfunc='first'\n)\n\ndf_male","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:14.791030Z","iopub.execute_input":"2024-12-21T04:02:14.791496Z","iopub.status.idle":"2024-12-21T04:02:15.044734Z","shell.execute_reply.started":"2024-12-21T04:02:14.791449Z","shell.execute_reply":"2024-12-21T04:02:15.043532Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The table shows the min-max ranges for various fitness measures (such as curl-ups, grip strength, push-ups, sit-and-reach, and trunk lifts) across different ages and zones.\n<li>There is a significant overlap in min-max ranges across different zones within the same age group for some measures. For example, at age 9: 6 to 10 curl-ups may correspond to Zone 0 (Needs Improvement) or Zone 1 (Healthy Fitness Zone).\n<li>This overlap indicates that the criteria for each zone are not sharply defined by specific ranges, even for the same age, and these zone columns appear to be features that just add extra noise, I would not use them in modelling.\n    </ul>\n</div>\n","metadata":{}},{"cell_type":"markdown","source":"### Age Ranges for each measurement column","metadata":{}},{"cell_type":"code","source":"age_ranges = []\n\nfor measure in measurement_columns:\n    valid_rows = train[~train[measure].isna()]\n    \n    min_age = valid_rows['Basic_Demos-Age'].min()\n    max_age = valid_rows['Basic_Demos-Age'].max()\n    \n    age_ranges.append({\n        'Measurement': measure,\n        'Min Age': min_age,\n        'Max Age': max_age\n    })\n\nage_ranges_df = pd.DataFrame(age_ranges)\nage_ranges_df","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:15.046040Z","iopub.execute_input":"2024-12-21T04:02:15.046400Z","iopub.status.idle":"2024-12-21T04:02:15.081049Z","shell.execute_reply.started":"2024-12-21T04:02:15.046368Z","shell.execute_reply":"2024-12-21T04:02:15.079799Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"In addition, it also doesn't make sense to call this a children's FitnessGram, since participants of almost all ages (5-21) were tested.","metadata":{}},{"cell_type":"markdown","source":"## Relationships with the target variable (PCIAT_Total for complete PCIAT responses)","metadata":{}},{"cell_type":"code","source":"cols = [col for col in train.columns if col.startswith('FGC-') \n        and 'Zone' not in col and 'Season' not in col]\ncols.extend(['Fitness_Endurance-Max_Stage', 'Fitness_Endurance-Total_Time_Sec'])\n\ndata_subset = train[cols + ['complete_resp_total']]\n\ncorr_matrix = data_subset.corr()\n\nplt.figure(figsize=(10, 8))\nsns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f', vmin=-1, vmax=1)\nplt.title('Correlation Heatmap')\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:15.082280Z","iopub.execute_input":"2024-12-21T04:02:15.082615Z","iopub.status.idle":"2024-12-21T04:02:15.853737Z","shell.execute_reply.started":"2024-12-21T04:02:15.082577Z","shell.execute_reply":"2024-12-21T04:02:15.852452Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>There are noticeable intercorrelations between the fitness measures (FGC-FGC_GSD (grip strength dominant) and FGC-FGC_GSND (grip strength non-dominant), FGC-FGC_SRL (sit & reach left) and FGC-FGC_SRR (sit & reach right)) and they are expected to be similar.\n<li>The relationships with the target variable appear to be a counterintuitive: curl-ups and push-ups show moderate positive relationships with PIU severity, and trunk lift and grip strength show a weak positive correlation, suggesting that physical performance improves as PIU severity increases...\n<li>Better performance in fitness tests does not necessarily indicate a higher level of daily physical activity. Besides, fitness measures might reflect past - we do not know the timing of the measurements.\n<li>But the main thing to remember here is that physical performance also improves with age, so the positive correlation between physical performance and PIU severity is likely just driven by age.\n<li>And here is another unknown: were the fitness tests conducted in a standardized way across all participants?\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"Let's see how the picture changes when we plot the same thing by age group, and add age to see if the measures still correlate with age.","metadata":{}},{"cell_type":"code","source":"age_groups = train['Age Group'].unique()\n\nfig, axes = plt.subplots(1, 3, figsize=(18, 6), sharey=True)\n\nfor i, age_group in enumerate(age_groups):\n    group_data = train[train['Age Group'] == age_group]\n    corr_matrix = group_data[cols + ['complete_resp_total', 'Basic_Demos-Age']].corr()\n    sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.1f',\n                vmin=-1, vmax=1, ax=axes[i], cbar=i == 0)\n    axes[i].set_title(f'{age_group}')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:15.855083Z","iopub.execute_input":"2024-12-21T04:02:15.855537Z","iopub.status.idle":"2024-12-21T04:02:18.132517Z","shell.execute_reply.started":"2024-12-21T04:02:15.855483Z","shell.execute_reply":"2024-12-21T04:02:18.131407Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[\n    (train['Age Group'] == 'Adults (19-22)') &\n    (train['complete_resp_total'].notna()) &\n    (train[cols].notna().any(axis=1))\n][cols + ['complete_resp_total', 'Basic_Demos-Age']]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:18.134134Z","iopub.execute_input":"2024-12-21T04:02:18.134630Z","iopub.status.idle":"2024-12-21T04:02:18.154888Z","shell.execute_reply.started":"2024-12-21T04:02:18.134557Z","shell.execute_reply":"2024-12-21T04:02:18.153842Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>In each age group we see that age correlates well with most measures of physical performance (especially for kids and adults).\n<li>The correlation between age and PIU severity persists in children aged 5-12 years, confounding the relationship between fitness and PIU.\n<li>For adolescents, the correlations of the target variable with all measures of fitness are weak or null, and for adults who pass the fitness test, only 1 has data on PIU severity.\n<li>In overall, fitness measures do not show noticable correlations with PIU severity, and it appears that age may be driving both increased fitness performance and higher PIU severity\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# - Sleep Disturbance Scale","metadata":{}},{"cell_type":"code","source":"groups.get('Sleep Disturbance Scale', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:18.156159Z","iopub.execute_input":"2024-12-21T04:02:18.156537Z","iopub.status.idle":"2024-12-21T04:02:18.172523Z","shell.execute_reply.started":"2024-12-21T04:02:18.156505Z","shell.execute_reply":"2024-12-21T04:02:18.171242Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = train[train['SDS-SDS_Total_Raw'].notnull()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for participants with SDS-SDS_Total_Raw data:\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:18.173936Z","iopub.execute_input":"2024-12-21T04:02:18.174363Z","iopub.status.idle":"2024-12-21T04:02:18.190470Z","shell.execute_reply.started":"2024-12-21T04:02:18.174328Z","shell.execute_reply":"2024-12-21T04:02:18.189274Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plt.figure(figsize=(18, 5))\n\n# SDS-Season (Pie Chart)\nplt.subplot(1, 3, 1)\nsds_season_counts = train['SDS-Season'].value_counts(normalize=True)\nplt.pie(\n    sds_season_counts, \n    labels=sds_season_counts.index, \n    autopct='%1.1f%%', \n    startangle=90, \n    colors=sns.color_palette(\"Set3\")\n)\nplt.title('SDS-Season')\n\n# SDS-SDS_Total_Raw\nplt.subplot(1, 3, 2)\nsns.histplot(train['SDS-SDS_Total_Raw'].dropna(), bins=20, kde=True)\nplt.title('SDS-SDS_Total_Raw')\nplt.xlabel('Value')\n\n# SDS-SDS_Total_T\nplt.subplot(1, 3, 3)\nsns.histplot(train['SDS-SDS_Total_T'].dropna(), bins=20, kde=True)\nplt.title('SDS-SDS_Total_T')\nplt.xlabel('Value')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:18.191875Z","iopub.execute_input":"2024-12-21T04:02:18.192326Z","iopub.status.idle":"2024-12-21T04:02:19.156744Z","shell.execute_reply.started":"2024-12-21T04:02:18.192274Z","shell.execute_reply":"2024-12-21T04:02:19.155622Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, ['SDS-SDS_Total_Raw', 'SDS-SDS_Total_T'])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:19.158352Z","iopub.execute_input":"2024-12-21T04:02:19.158773Z","iopub.status.idle":"2024-12-21T04:02:19.184422Z","shell.execute_reply.started":"2024-12-21T04:02:19.158728Z","shell.execute_reply":"2024-12-21T04:02:19.182916Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>Both the raw and T-scores for sleep disturbance are moderately variable, with some extreme values indicating severe sleep disturbances in a subset of participants.\n<li>Further Analysis (coming soon): to explore whether specific demographic factors (e.g., age, gender, season) are associated with higher sleep disturbance scores.\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"# <p style=\"background-color:#f3ebff; color:black; font-family:Verdana; font-size:100%; text-align:left; border: 3px solid #a281fc; border-radius:15px; padding:20px 20px;\">Behavioral (subjective reported)</p>","metadata":{}},{"cell_type":"markdown","source":"# - Physical Activity Questionnaire","metadata":{}},{"cell_type":"markdown","source":"### Adolescents","metadata":{}},{"cell_type":"code","source":"groups.get('Physical Activity Questionnaire (Adolescents)', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:19.185880Z","iopub.execute_input":"2024-12-21T04:02:19.186286Z","iopub.status.idle":"2024-12-21T04:02:19.193316Z","shell.execute_reply.started":"2024-12-21T04:02:19.186238Z","shell.execute_reply":"2024-12-21T04:02:19.192326Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = train[train['PAQ_A-PAQ_A_Total'].notnull()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for Adolescents (with PAQ_A_Total data):\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:19.194515Z","iopub.execute_input":"2024-12-21T04:02:19.194805Z","iopub.status.idle":"2024-12-21T04:02:19.212491Z","shell.execute_reply.started":"2024-12-21T04:02:19.194777Z","shell.execute_reply":"2024-12-21T04:02:19.211264Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plt.figure(figsize=(18, 5))\n\n# PAQ_A-Season\nplt.subplot(1, 3, 1)\ntrain['PAQ_A-Season'].value_counts(normalize=True).plot.pie(\n    autopct='%1.1f%%', colors=plt.cm.Set3.colors\n)\nplt.title('PAQ_A-Season (Adolescents)')\n\n# PAQ_A-PAQ_A_Total\nplt.subplot(1, 3, 2)\nsns.histplot(train['PAQ_A-PAQ_A_Total'], bins=20, kde=True)\nplt.title('PAQ_A-PAQ_A_Total (Adolescents)')\n\n# PAQ_A_Total by Season\nplt.subplot(1, 3, 3)\nsns.violinplot(x='PAQ_A-Season', y='PAQ_A-PAQ_A_Total', data=train, palette=\"Set3\")\nplt.title('PAQ_A_Total by Season (Adolescents)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:19.213930Z","iopub.execute_input":"2024-12-21T04:02:19.214393Z","iopub.status.idle":"2024-12-21T04:02:20.148216Z","shell.execute_reply.started":"2024-12-21T04:02:19.214336Z","shell.execute_reply":"2024-12-21T04:02:20.147152Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, ['PAQ_A-PAQ_A_Total'])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:20.149751Z","iopub.execute_input":"2024-12-21T04:02:20.150194Z","iopub.status.idle":"2024-12-21T04:02:20.171858Z","shell.execute_reply.started":"2024-12-21T04:02:20.150129Z","shell.execute_reply":"2024-12-21T04:02:20.170494Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"### Children","metadata":{}},{"cell_type":"code","source":"groups.get('Physical Activity Questionnaire (Children)', [])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:20.173314Z","iopub.execute_input":"2024-12-21T04:02:20.173676Z","iopub.status.idle":"2024-12-21T04:02:20.180800Z","shell.execute_reply.started":"2024-12-21T04:02:20.173642Z","shell.execute_reply":"2024-12-21T04:02:20.179664Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"data = train[train['PAQ_C-PAQ_C_Total'].notnull()]\nage_range = data['Basic_Demos-Age']\nprint(\n    f\"Age range for Children (with PAQ_C_Total data):\"\n    f\" {age_range.min()} - {age_range.max()} years\"\n)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:20.182209Z","iopub.execute_input":"2024-12-21T04:02:20.182637Z","iopub.status.idle":"2024-12-21T04:02:20.194458Z","shell.execute_reply.started":"2024-12-21T04:02:20.182577Z","shell.execute_reply":"2024-12-21T04:02:20.193356Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"plt.figure(figsize=(18, 5))\n\n# PAQ_C-Season\nplt.subplot(1, 3, 1)\ntrain['PAQ_C-Season'].value_counts(normalize=True).plot.pie(\n    autopct='%1.1f%%', colors=plt.cm.Set3.colors\n)\nplt.title('PAQ_C-Season (Children)')\n\n# PAQ_C-PAQ_C_Total\nplt.subplot(1, 3, 2)\nsns.histplot(train['PAQ_C-PAQ_C_Total'], bins=20, kde=True)\nplt.title('PAQ_C-PAQ_C_Total (Children)')\n\n# PAQ_C_Total by Season\nplt.subplot(1, 3, 3)\nsns.violinplot(x='PAQ_C-Season', y='PAQ_C-PAQ_C_Total', data=train, palette=\"Set3\")\nplt.title('PAQ_C_Total by Season (Children)')\n\nplt.tight_layout()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:20.196086Z","iopub.execute_input":"2024-12-21T04:02:20.196517Z","iopub.status.idle":"2024-12-21T04:02:21.138960Z","shell.execute_reply.started":"2024-12-21T04:02:20.196485Z","shell.execute_reply":"2024-12-21T04:02:21.137957Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, ['PAQ_C-PAQ_C_Total'])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:21.140431Z","iopub.execute_input":"2024-12-21T04:02:21.140845Z","iopub.status.idle":"2024-12-21T04:02:21.162860Z","shell.execute_reply.started":"2024-12-21T04:02:21.140796Z","shell.execute_reply":"2024-12-21T04:02:21.161619Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 Note: \n    <ul style=\"list-style:circle\">\n<li>The division into adolescents and children seems to be incorrect (participants with data in the children columns (PAQ_C_Total) are 7 - 17 years old - overlapping with those with non-missing data in the adolescents columns - 13 - 18 years old).\n<li>Physical activity levels are fairly stable over the seasons, with only minor variations, although are slightly lower in the fall and winter for adolescents and children, respectively.\n<li>There are many missing values for these features\n    </ul>\n</div>","metadata":{}},{"cell_type":"markdown","source":"Check if any participants have data for both the children's PAQ (PAQ_C) and adolescents' PAQ (PAQ_A) columns","metadata":{}},{"cell_type":"code","source":"paq_columns = [col for col in train.columns if 'PAQ' in col]\ntrain[(train['PAQ_A-PAQ_A_Total'].notnull()) &\n      (train['PAQ_C-PAQ_C_Total'].notnull())][\n    paq_columns + ['Basic_Demos-Age']\n]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-21T04:02:21.164820Z","iopub.execute_input":"2024-12-21T04:02:21.165268Z","iopub.status.idle":"2024-12-21T04:02:21.179958Z","shell.execute_reply.started":"2024-12-21T04:02:21.165215Z","shell.execute_reply":"2024-12-21T04:02:21.178594Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"May be it will make sense to combine PAQ_A-PAQ_A_Total and PAQ_C-PAQ_C_Total into a single column and take the average when both values are present.","metadata":{}}]}