{"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":"!pip install japanize_matplotlib\nimport pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\nimport seaborn as sns\nimport warnings\nimport japanize_matplotlib","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:52:11.470486Z","iopub.execute_input":"2024-12-03T13:52:11.471470Z","iopub.status.idle":"2024-12-03T13:52:22.000550Z","shell.execute_reply.started":"2024-12-03T13:52:11.471428Z","shell.execute_reply":"2024-12-03T13:52:21.999599Z"}},"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-03T13:03:56.060878Z","iopub.execute_input":"2024-12-03T13:03:56.061320Z","iopub.status.idle":"2024-12-03T13:03:56.067752Z","shell.execute_reply.started":"2024-12-03T13:03:56.061286Z","shell.execute_reply":"2024-12-03T13:03:56.066733Z"}},"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).\n\nこのコンペティションの目的は、児童および青少年のインターネット利用における問題の度合いを測定する指標である「重度障害指数（sii）」を、身体活動データやその他の特徴に基づいて予測することです。 \n\nsiiは、「PCIAT-PCIAT_Total」から導き出されます。これは、「親子インターネット依存テスト（PCIAT：20問、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.\n\nターゲット変数（sii）は以下のように定義されます。\n- 0: なし（PCIAT-PCIAT_Total 0～30\n- 1: 軽度（PCIAT-PCIAT_Total 31～49\n- 2: 中等度（PCIAT-PCIAT_Total 50～79\n- 3: 重度（PCIAT-PCIAT_Total 80以上\n\nこれにより、siiは4つの水準を持つ順序のあるカテゴリ変数となり、カテゴリの順序が意味を持つことになります。","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\nsii をターゲットとして使用できる機械学習問題の種類：\n\n1. 順序分類（順序ロジスティック回帰、カスタム順序損失関数を使用したモデル\n2. 多クラス分類（順序を考慮せずに、sii を名義カテゴリ変数として扱う\n3. 回帰（カテゴリの離散性を無視し、sii を連続変数として扱い、予測値を四捨五入する\n4. カスタム（例えば、カテゴリ間の距離に基づいてエラーをペナルティとする損失関数）\n\nまた、`PCIAT-PCIAT_Total` を連続値の目的変数として使用し、`PCIAT-PCIAT_Total` に対して回帰を実行し、予測値を sii のカテゴリにマッピングすることもできます。\n\n最後に、もう一つの戦略として、親子インターネット依存症テストの各質問に対する回答を予測するというものがあります。すなわち、個々の質問のスコアを別々のターゲットとして予測し、予測スコアを合計して「PCIAT-PCIAT_Total」を求め、予測を対応するsiiカテゴリーにマッピングします。\n","metadata":{}},{"cell_type":"markdown","source":"But first, let's make some exploratory data analysis.\n\nしかし、その前に、探索的データ分析を行ってみましょう。","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-03T13:03:56.069171Z","iopub.execute_input":"2024-12-03T13:03:56.069582Z","iopub.status.idle":"2024-12-03T13:03:56.153727Z","shell.execute_reply.started":"2024-12-03T13:03:56.069535Z","shell.execute_reply":"2024-12-03T13:03:56.152824Z"}},"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-03T13:03:56.155054Z","iopub.execute_input":"2024-12-03T13:03:56.155899Z","iopub.status.idle":"2024-12-03T13:03:56.196577Z","shell.execute_reply.started":"2024-12-03T13:03:56.155854Z","shell.execute_reply":"2024-12-03T13:03:56.195631Z"}},"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-03T13:03:56.199162Z","iopub.execute_input":"2024-12-03T13:03:56.199487Z","iopub.status.idle":"2024-12-03T13:03:56.221999Z","shell.execute_reply.started":"2024-12-03T13:03:56.199454Z","shell.execute_reply":"2024-12-03T13:03:56.221072Z"}},"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-03T13:03:56.223418Z","iopub.execute_input":"2024-12-03T13:03:56.224299Z","iopub.status.idle":"2024-12-03T13:03:56.235474Z","shell.execute_reply.started":"2024-12-03T13:03:56.224251Z","shell.execute_reply":"2024-12-03T13:03:56.234460Z"}},"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-03T13:03:56.236988Z","iopub.execute_input":"2024-12-03T13:03:56.237666Z","iopub.status.idle":"2024-12-03T13:03:56.248350Z","shell.execute_reply.started":"2024-12-03T13:03:56.237621Z","shell.execute_reply":"2024-12-03T13:03:56.247479Z"}},"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.\n\nターゲット変数に関連し、テストセットに存在しない特徴を特定しましょう。","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-03T13:03:56.249300Z","iopub.execute_input":"2024-12-03T13:03:56.249589Z","iopub.status.idle":"2024-12-03T13:03:56.274040Z","shell.execute_reply.started":"2024-12-03T13:03:56.249561Z","shell.execute_reply":"2024-12-03T13:03:56.273038Z"}},"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:\n\n**親子インターネット依存症テスト（PCIAT）：**20項目（`PCIAT-PCIAT_01`から`PCIAT-PCIAT_20`）からなり、それぞれがインターネット利用に関連する子供の行動の異なる側面を評価します。項目は0から5の尺度で回答され、合計スコアはインターネット依存症の重症度を示します。\n\nまた、`PCIAT-Season`の参加シーズンと`PCIAT-PCIAT_Total`の合計スコアもあります。つまり、PCIATテスト関連の列は全部で22列あります。\n\n`PCIAT-PCIAT_Total`が該当するsiiカテゴリーと一致していることを確認するために、各siiカテゴリーの最小値と最大値を計算してみましょう。","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-03T13:03:56.275432Z","iopub.execute_input":"2024-12-03T13:03:56.275795Z","iopub.status.idle":"2024-12-03T13:03:56.294296Z","shell.execute_reply.started":"2024-12-03T13:03:56.275707Z","shell.execute_reply":"2024-12-03T13:03:56.292994Z"}},"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-03T13:03:56.295569Z","iopub.execute_input":"2024-12-03T13:03:56.295878Z","iopub.status.idle":"2024-12-03T13:03:56.302619Z","shell.execute_reply.started":"2024-12-03T13:03:56.295848Z","shell.execute_reply":"2024-12-03T13:03:56.301632Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"'Severity Impairment Index: 0-30=None; 31-49=Mild; 50-79=Moderate; 80-100=Severe'\n\n「重症度障害指数：0-30=なし、31-49=軽度、50-79=中度、80-100=重度」","metadata":{"execution":{"iopub.status.busy":"2024-12-03T13:05:31.254961Z","iopub.execute_input":"2024-12-03T13:05:31.255379Z","iopub.status.idle":"2024-12-03T13:05:31.262212Z","shell.execute_reply.started":"2024-12-03T13:05:31.255345Z","shell.execute_reply":"2024-12-03T13:05:31.260759Z"}}},{"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>\n\nブロコッリ・ビーフの素晴らしいキャッチのおかげで（<a href=「https://www.kaggle.com/competitions/child-mind-institute-problematic-internet-use/discussion/536407#3000620」>こちら</a>）、「親子インターネット中毒テスト」の質問の一部は 回答者が無視できる質問（PCIAT-PCIAT_01からPCIAT-PCIAT_20の列の欠損値）があることが分かっていますが、SIIスコアはNA値以外の合計から導き出されるため、無効なSII値になる可能性があります（もちろん、データ収集後に回答の一部が削除された場合を除きます。少し難題を増やすためです。）","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-03T13:03:56.303818Z","iopub.execute_input":"2024-12-03T13:03:56.304144Z","iopub.status.idle":"2024-12-03T13:03:56.393133Z","shell.execute_reply.started":"2024-12-03T13:03:56.304115Z","shell.execute_reply":"2024-12-03T13:03:56.392071Z"}},"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.\n\n例えば、1行目と3行目では、1つの回答のスコアが欠落していることが分かります。また、各問題は1から5までのスコアで採点されるため、合計スコアは最大5ポイント高く、次のSIIカテゴリーに対応する可能性があります（SIIは、1行目は0または1、3行目は1または2となる可能性があります）。2行目については、テスト問題がまったく回答されていないため、`PCIAT-PCIAT_Total`と`sii`が誤って記入されたようです。","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:\n\nPCIAT-PCIAT_Totalが、`PCIAT-PCIAT_01`から`PCIAT-PCIAT_20`の列における非NA値の合計として実際に計算されたかどうかを確認してみましょう。","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-03T13:03:56.394984Z","iopub.execute_input":"2024-12-03T13:03:56.395602Z","iopub.status.idle":"2024-12-03T13:03:56.405540Z","shell.execute_reply.started":"2024-12-03T13:03:56.395555Z","shell.execute_reply":"2024-12-03T13:03:56.404541Z"}},"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.\n\n現時点では、SIIスコアが不正確な場合があるという結論に達しました。以下では、`PCIAT_Total`と、欠損値が回答されていた場合の最大スコア（5ポイント）に基づいてSIIを再計算します。再計算されたSIIが、一部の回答が欠損している場合でも、意図した閾値を満たすことを確認します。","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-03T13:03:56.406638Z","iopub.execute_input":"2024-12-03T13:03:56.406964Z","iopub.status.idle":"2024-12-03T13:03:57.762400Z","shell.execute_reply.started":"2024-12-03T13:03:56.406934Z","shell.execute_reply":"2024-12-03T13:03:57.761577Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Verification of rows with different original and recalculated SII:\n\n異なる元の値と再計算後のSII値を持つ行の検証：\n","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-03T13:03:57.766074Z","iopub.execute_input":"2024-12-03T13:03:57.766362Z","iopub.status.idle":"2024-12-03T13:03:57.789474Z","shell.execute_reply.started":"2024-12-03T13:03:57.766335Z","shell.execute_reply":"2024-12-03T13:03:57.788249Z"}},"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>\n\n<div style=「line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;」> \n💡 注：17行目では、ターゲット変数が正しく計算されていませんでした（欠損値の回答は無視）。\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>\n\n<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n<h3>今行ったことの説明：</h3>\n未回答の質問が自動的にゼロとしてカウントされると、エラーが発生する可能性があります！<br><br>\n上記の表の最後の行をご覧ください。この回答者は20問中18問に回答し、合計スコア（PCIAT-PCIAT_Total）は42点でした。31～49点のスコアはSII 1の「軽度」に相当するため、初期SIIは1です。しかし、この人が未回答の質問にどう答えたかはわかりません。0点、5点、あるいはその間の点数の可能性があります。これを考慮して、私は未回答の質問ごとに最大値（5）を加算し、max_possibleスコアを52としました。これは「中程度」のSIIの範囲（PCIAT-PCIAT_Totalが50から79の場合、SII = 2）です。初期のSII = 1 は、誤っている可能性もありますが、正しい可能性もあります。私たちは知りません！そのため、私の `recalculate_sii` 関数でSIIを再計算すると、SII = NaN となり、SII = 2 やその他の値にはなりません。\nこのアプローチにより、すべてのあいまいなSIIスコア（未回答の質問の影響を受ける可能性があるもの）がNaNとしてマークされることが保証されます。\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).\n\n以下の分析では、修正されたSIIのみを使用します。また、すべてのPCIAT_colsにNA以外の値がある場合（Parent-Child Internet Addiction Testのすべての質問に回答している場合）のみ、合計スコアを使用します。","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-03T13:03:57.790615Z","iopub.execute_input":"2024-12-03T13:03:57.790891Z","iopub.status.idle":"2024-12-03T13:03:57.806637Z","shell.execute_reply.started":"2024-12-03T13:03:57.790863Z","shell.execute_reply":"2024-12-03T13:03:57.805687Z"}},"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-03T13:03:57.807857Z","iopub.execute_input":"2024-12-03T13:03:57.808282Z","iopub.status.idle":"2024-12-03T13:03:58.564983Z","shell.execute_reply.started":"2024-12-03T13:03:57.808238Z","shell.execute_reply":"2024-12-03T13:03:58.563987Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"len(train[train['complete_resp_total'] == 0])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:03:58.566187Z","iopub.execute_input":"2024-12-03T13:03:58.566498Z","iopub.status.idle":"2024-12-03T13:03:58.574251Z","shell.execute_reply.started":"2024-12-03T13:03:58.566455Z","shell.execute_reply":"2024-12-03T13:03:58.573279Z"}},"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>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n💡 注：参加者の40%はインターネット使用による影響を受けておらず、31%は評価されておらず、中程度から重度の障害を持つのは少数派（10%未満）である。すべてのPCIAT問題で0点を獲得した参加者は307人いる。\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-03T13:03:58.575432Z","iopub.execute_input":"2024-12-03T13:03:58.575748Z","iopub.status.idle":"2024-12-03T13:03:58.586186Z","shell.execute_reply.started":"2024-12-03T13:03:58.575719Z","shell.execute_reply":"2024-12-03T13:03:58.585153Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train['Age Group'] = pd.cut(\n    train['Basic_Demos-Age'],\n    bins=[4, 12, 18, 22],\n    labels=['Children (5-12)', 'Adolescents (13-18)', 'Adults (19-22)']\n)\ncalculate_stats(train, 'Age Group')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:03:58.587582Z","iopub.execute_input":"2024-12-03T13:03:58.588274Z","iopub.status.idle":"2024-12-03T13:03:58.612253Z","shell.execute_reply.started":"2024-12-03T13:03:58.588230Z","shell.execute_reply":"2024-12-03T13:03:58.611250Z"}},"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-03T13:03:58.613626Z","iopub.execute_input":"2024-12-03T13:03:58.613990Z","iopub.status.idle":"2024-12-03T13:03:58.626395Z","shell.execute_reply.started":"2024-12-03T13:03:58.613959Z","shell.execute_reply":"2024-12-03T13:03:58.625375Z"}},"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-03T13:03:58.627633Z","iopub.execute_input":"2024-12-03T13:03:58.627959Z","iopub.status.idle":"2024-12-03T13:03:59.633587Z","shell.execute_reply.started":"2024-12-03T13:03:58.627929Z","shell.execute_reply":"2024-12-03T13:03:59.632546Z"}},"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-03T13:03:59.635336Z","iopub.execute_input":"2024-12-03T13:03:59.635907Z","iopub.status.idle":"2024-12-03T13:04:00.142104Z","shell.execute_reply.started":"2024-12-03T13:03:59.635862Z","shell.execute_reply":"2024-12-03T13:04:00.141091Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"The distribution of sii across different age groups:\n\n異なる年齢層におけるsiiの分布：","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-03T13:04:00.143516Z","iopub.execute_input":"2024-12-03T13:04:00.144069Z","iopub.status.idle":"2024-12-03T13:04:00.166150Z","shell.execute_reply.started":"2024-12-03T13:04:00.143999Z","shell.execute_reply":"2024-12-03T13:04:00.165143Z"}},"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-03T13:04:00.167321Z","iopub.execute_input":"2024-12-03T13:04:00.167619Z","iopub.status.idle":"2024-12-03T13:04:00.190212Z","shell.execute_reply.started":"2024-12-03T13:04:00.167589Z","shell.execute_reply":"2024-12-03T13:04:00.189253Z"}},"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>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n💡 注：\n<ul style=\"list-style:circle\">\n\n    - ボックスプロットは、分類された（SII）および数値（PCIAT_Total）形式におけるターゲット変数の異なる表現です。\n    - これらは、一般的にSIIスコアが高いと年齢層が高いグループに関連していることを示していますが、各カテゴリー内の年齢層にはかなりの重複があり、また、PCIAT_Totalの中央値は青年層で高くなっていることから、年齢とPIU障害（インターネット関連問題のピークは青年期に発生する可能性がある）の関係はU字型であることが示唆されます。\n    - したがって、円グラフでは、子供と大人のSIIの分布は低い値（なし、軽度）に偏っているが、思春期の若者では、なし、軽度、中程度のカテゴリーにバランスよく分布している。\n    - しかし、数値についてはどうだろうか（表を参照）。思春期の若者の数は子供よりもはるかに少なく、大人の参加者は極めて少ない（合計88人で、SIIはわずか36人！）。\n    - 前節のグラフで見たように、SIIの全体的な分布は低値に偏っており、重症例はまれである。そのため、このような不均衡なサンプルサイズや重症例の過小評価では見えない関係性があるかもしれない。\n    - 男女間の違いは比較的微妙である。\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.\n\nこの作業にはインターネット利用データが不可欠です。問題のあるインターネット利用（PIU）は、インターネット中毒や強迫性インターネット利用とも呼ばれ、個人の日常生活、責任、社会的な人間関係を妨げるような過剰で不健全なインターネット利用を指します。インターネット利用データは、各参加者がオンラインで費やす時間を直接的に測定します。","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-03T13:04:00.191604Z","iopub.execute_input":"2024-12-03T13:04:00.192452Z","iopub.status.idle":"2024-12-03T13:04:00.200274Z","shell.execute_reply.started":"2024-12-03T13:04:00.192407Z","shell.execute_reply":"2024-12-03T13:04:00.199353Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train['PreInt_EduHx-computerinternet_hoursday'].unique()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:00.201511Z","iopub.execute_input":"2024-12-03T13:04:00.201895Z","iopub.status.idle":"2024-12-03T13:04:00.213442Z","shell.execute_reply.started":"2024-12-03T13:04:00.201851Z","shell.execute_reply":"2024-12-03T13:04:00.212510Z"}},"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-03T13:04:00.214655Z","iopub.execute_input":"2024-12-03T13:04:00.214953Z","iopub.status.idle":"2024-12-03T13:04:00.226848Z","shell.execute_reply.started":"2024-12-03T13:04:00.214925Z","shell.execute_reply":"2024-12-03T13:04:00.225994Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, 'PreInt_EduHx-Season')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:00.228280Z","iopub.execute_input":"2024-12-03T13:04:00.228613Z","iopub.status.idle":"2024-12-03T13:04:00.243998Z","shell.execute_reply.started":"2024-12-03T13:04:00.228570Z","shell.execute_reply":"2024-12-03T13:04:00.242935Z"}},"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-03T13:04:00.245357Z","iopub.execute_input":"2024-12-03T13:04:00.245668Z","iopub.status.idle":"2024-12-03T13:04:01.039977Z","shell.execute_reply.started":"2024-12-03T13:04:00.245639Z","shell.execute_reply":"2024-12-03T13:04:01.038996Z"}},"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-03T13:04:01.041451Z","iopub.execute_input":"2024-12-03T13:04:01.042180Z","iopub.status.idle":"2024-12-03T13:04:01.622734Z","shell.execute_reply.started":"2024-12-03T13:04:01.042134Z","shell.execute_reply":"2024-12-03T13:04:01.621772Z"}},"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-03T13:04:01.624407Z","iopub.execute_input":"2024-12-03T13:04:01.624800Z","iopub.status.idle":"2024-12-03T13:04:01.636251Z","shell.execute_reply.started":"2024-12-03T13:04:01.624758Z","shell.execute_reply":"2024-12-03T13:04:01.635386Z"}},"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-03T13:04:01.637485Z","iopub.execute_input":"2024-12-03T13:04:01.637825Z","iopub.status.idle":"2024-12-03T13:04:01.659672Z","shell.execute_reply.started":"2024-12-03T13:04:01.637784Z","shell.execute_reply":"2024-12-03T13:04:01.658674Z"}},"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>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n💡 注： \n<ul style=「list-style:circle」>\n<li>インターネット利用データが16.6%の回答者から欠落している一方、38.5%が1日1時間未満のインターネット利用と回答している。\n<li>SIIのデータと同様に、箱ひげ図では、1日のインターネット利用時間が長いほど年齢が高いことが示されています。ただし、各インターネット利用カテゴリー内の年齢層にはかなりの重複があります。しかし、ここでは、オンライン利用時間のカテゴリー別および数値表現の両方が一貫した線形関係を示しています。\n<li>年齢層別の円グラフも同様に、よくまとまっています。\nインターネット利用と年齢の間の相互作用機能を作成することは、モデリングに役立つ可能性がある。\nインターネットの利用は、男女ともにほぼ同じである。\n</ul>\n</div>\n","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.\n\nコンテストの説明には、その目的は「問題のあるインターネットおよびテクノロジー利用（PIU）」の早期兆候を検出することであると記載されています。一方、PUIの定義には、インターネットの過剰利用が含まれています。\n\nPUIは、反復的かつ制御不能で、他の生活上の関心事よりも優先され、否定的な結果が生じても継続する、潜在的に有害な一連のオンライン行動を包括する包括的な用語です。\n\n*[Fendel, J. C., Vogt, A., Brandtner, A., & Schmidt, S. (2024). Mindfulness programs for problematic usage of the internet: 系統的レビューとメタ分析。行動嗜癖ジャーナル、13(2)、327–353。](https://doi.org/10.1556/2006.2024.00024)*\n\nそれでは、このデータセットにおけるさまざまな障害スコア（SII）を持つ参加者がオンラインで費やした時間を確認してみましょう。","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-03T13:04:01.660967Z","iopub.execute_input":"2024-12-03T13:04:01.661339Z","iopub.status.idle":"2024-12-03T13:04:01.675065Z","shell.execute_reply.started":"2024-12-03T13:04:01.661309Z","shell.execute_reply":"2024-12-03T13:04:01.673973Z"}},"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-03T13:04:01.676466Z","iopub.execute_input":"2024-12-03T13:04:01.676780Z","iopub.status.idle":"2024-12-03T13:04:01.695802Z","shell.execute_reply.started":"2024-12-03T13:04:01.676738Z","shell.execute_reply":"2024-12-03T13:04:01.694830Z"}},"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-03T13:04:01.697364Z","iopub.execute_input":"2024-12-03T13:04:01.697762Z","iopub.status.idle":"2024-12-03T13:04:02.722614Z","shell.execute_reply.started":"2024-12-03T13:04:01.697719Z","shell.execute_reply":"2024-12-03T13:04:02.721504Z"}},"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-03T13:04:02.723839Z","iopub.execute_input":"2024-12-03T13:04:02.724169Z","iopub.status.idle":"2024-12-03T13:04:03.315671Z","shell.execute_reply.started":"2024-12-03T13:04:02.724140Z","shell.execute_reply":"2024-12-03T13:04:03.314605Z"}},"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-03T13:04:03.317483Z","iopub.execute_input":"2024-12-03T13:04:03.318190Z","iopub.status.idle":"2024-12-03T13:04:03.340877Z","shell.execute_reply.started":"2024-12-03T13:04:03.318144Z","shell.execute_reply":"2024-12-03T13:04:03.339811Z"}},"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-03T13:04:03.342309Z","iopub.execute_input":"2024-12-03T13:04:03.342650Z","iopub.status.idle":"2024-12-03T13:04:03.354404Z","shell.execute_reply.started":"2024-12-03T13:04:03.342620Z","shell.execute_reply":"2024-12-03T13:04:03.353239Z"}},"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>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n💡 注：\n<ul style=「list-style:circle」>\n<li>箱ひげ図では、異なるSIIとインターネット利用のカテゴリー間でかなりの重複が見られるにもかかわらず、PIUによる障害とインターネット利用の間には正の傾向が見られ、SIIスコアが高い人ほどオンラインで過ごす時間が長くなっています（PIUの定義では過剰なインターネット利用が想定されているため、そうでないとすればおかしいでしょう）。\nしかし、<li>「PCIAT_Total」と「インターネット利用時間」の関係をさらに年齢層別に分解すると（下図の箱ひげ図）、年齢、インターネット利用、PIUの間に非線形の関係が現れ、思春期の若者が、インターネット利用のすべてのカテゴリーにおいて最も影響を受けている年齢層として際立っていることが分かります。\n円グラフを見ると、すべての年齢層において、オンライン利用時間が非常に短い（1日1時間未満）にもかかわらず、SIIスコアが高い参加者がかなりの割合を占めていることが分かります（SII 2 - 中程度障害が20.7%、SII = 3 - 重度障害が14.7%）。\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>\n\n<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n    <h3>調査結果のまとめ</h3>\n    <ol>\n        <li>SIIスコアは年齢とともに増加する傾向にあるが、U字型の関係を示しており、青年期が最も高い中央値のPCIATスコアを示している。</li>\n        <li>年齢が高いほど、参加者がオンラインで過ごす時間は長くなる（明確な線形傾向）。</li>\n        <li>SIIスコアが高い人々は一般的にオンラインで過ごす時間が長い。しかし、すべてのインターネット利用カテゴリーにおいて、最も影響を受けている年齢層として思春期が際立っている。</li>\n        <li>ほぼすべての年齢層（5歳から21歳）で、1日に1時間未満しかオンラインで過ごさず、SIIスコアが高い参加者がいる。</li>\n    </ol>\n    <p><em>注：</em>異なるSIIとインターネット利用のカテゴリー間にはかなりの重複があり、また、データには重症例と成人が十分に反映されていないため、これらの結果は慎重に解釈する必要があります。<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>\n\n<div style=\"border: 2px solid #c9c9c9; padding: 15px; border-radius: 5px; background-color: #f7f7f7;\">\n    <h3>解釈</h3>\n    <p>PIU（インターネット中毒）の定義を考えると、SIIとインターネット利用時間の関係は、予想されるほど単純ではない。これは、オンライン利用時間以外の要因もSIIに影響しているためであり、上記の分析では特に年齢が重要な要素であることが示唆されています。つまり、インターネット利用のレベルに関わらず、思春期の若者が最も高いSIIを示しているようです。しかし、これをどのように解釈すればよいのでしょうか。彼らはPIUになりやすいのでしょうか、それともこのアンケートがこの年齢層におけるPIUに対して特に敏感に反応しているだけなのでしょうか。私たちの目的変数が正確に何を反映しているのかを理解してみましょう。<p>\n    <p>PCIATアンケート（SIIを算出するために使用、data_dict.csvを参照）の質問は、インターネット利用に関連する感情面および社会面への影響（インターネットへの感情的な依存、社会的孤立、責任の放棄、人間関係や気分へのインターネット利用の影響）を測定するように設計されているようです。言い換えれば、インターネット利用に関連する行動がどれほど問題であるかを測定しようという意図があります。しかし、親の認識は当然ながら偏っており、さまざまな要因に影響を受けます。例えば、自身のインターネット利用習慣、文化的態度、あるいは子供がどのように行動すべきかについての親の希望や考え方などです。<p>\n    <p>さらに、1日1時間未満のオンライン利用が、それ自体で情緒的苦痛、義務の怠慢、家族からの引きこもりなどの問題につながる可能性があることを想像できますか？私は、1日1時間、インターネット上のどのようなコンテンツであっても、そのような問題につながることはないと思います... このデータが存在することは、回答者がPCIATの質問やインターネット利用について正直に答えていないか、またはSIIスコアがPIUとは無関係の他の要因に影響されていることを証明しているだけです。<p>\n    <p>前者は、私たちが持つ他のすべてのデータ（身体活動、加速度計データ、睡眠など）とインターネット利用を結びつける唯一の特徴（そして、私たちはこの関連性をPIUの影響を予測するために必要としている）が、信頼性に欠け、偏りがあり、対象変数である可能性があることを指摘しています。<p>\n    <p>後者は、参加者がインターネット利用（およびPIU）自体とは関係のない、さまざまな既存の社会的行動や気分を持っている可能性を示唆しています。このアンケートは、たとえ親が記入する場合でも、主観的なツールです。思春期は、アイデンティティの形成、友人関係の変化、自立の模索など、人生において際立った時期であり、気分の変動、反抗、衝動性などの行動を増幅させる可能性があります。したがって、SIIは、インターネットの使用というよりも、むしろこうしたより広範な発達行動がどれほど問題であるかを捉えている可能性があります。<p>\n    <p>さらに、この質問票が幅広い年齢層に適用できるかどうかは疑問です。PCIATの質問はすべて、思春期の若者により適していると思います。例えば、</p>\n        <ul style=\"list-style:circle\">\n            <li>5～7歳の子供には家事という概念がないかもしれません。これは文化的な規範によって異なります。\n            <li>学業への影響に関する質問は、まだ学校に通っていない低年齢の子供や卒業した大人には当てはまらない可能性があります。\n            <li>「オンラインの友人」とのメールのやり取りや電話の受信も、低年齢の子供には関係のないことのように思われます。\n            <li>インターネット利用時間に反応するかどうかに関する質問（少なくとも3つあります）は、大人には当てはまりません。\n        </ul>\n    <p>参加者の年齢に適さない質問は、偏った回答や無関係な回答につながる可能性があります。これらの課題はすべて、SIIの構成妥当性を問うものであり、PIUを正確に測定しているか、あるいは他の行動要因の影響を受けているかを検討するものです。</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).\n\nこのデータセットの特徴量の種類を分類すると、以下のようになります。\n\n- カテゴリ型：離散的なカテゴリを持つが、固有の順序を持たない変数（文字列として表される、例えば入学の季節）\n- エンコードされたカテゴリ型特徴量（すでに整数としてエンコードされている、例えば性別）\n- 連続型：ある範囲内の任意の値を取ることができる変数（例えば年齢、enmo、heart_rate）。\n- 順序型：順序が定義されているが、必ずしも等間隔のカテゴリではない変数（例えばアンケート回答）。","metadata":{}},{"cell_type":"markdown","source":"And here are different features groups:\n\nそして、以下は異なる特徴量グループです。","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-03T13:04:03.356076Z","iopub.execute_input":"2024-12-03T13:04:03.356385Z","iopub.status.idle":"2024-12-03T13:04:03.374157Z","shell.execute_reply.started":"2024-12-03T13:04:03.356356Z","shell.execute_reply":"2024-12-03T13:04:03.373030Z"}},"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).\n\n季節に関連するさまざまなコラムが存在するのは、おそらくデータ収集のタイミングや調査への参加が反映されているためでしょう。季節の変化は、測定される変数（例えば、健康状態、身体活動、睡眠パターン、そしてもちろんインターネットの利用状況）において重要な役割を果たしている可能性があります。","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-03T13:04:03.375264Z","iopub.execute_input":"2024-12-03T13:04:03.375563Z","iopub.status.idle":"2024-12-03T13:04:03.399978Z","shell.execute_reply.started":"2024-12-03T13:04:03.375534Z","shell.execute_reply":"2024-12-03T13:04:03.398726Z"}},"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-03T13:04:03.411449Z","iopub.execute_input":"2024-12-03T13:04:03.411795Z","iopub.status.idle":"2024-12-03T13:04:03.423498Z","shell.execute_reply.started":"2024-12-03T13:04:03.411764Z","shell.execute_reply":"2024-12-03T13:04:03.422607Z"}},"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\ndata_dictの内容を詳しく調べたところ、その特性も種類や測定方法によってグループ化できると私は考えている（この図は[ナプキン](https://app.napkin.ai/)で作成した）。","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)\n \n### 問題のあるインターネット利用（PIU）との潜在的な関連\n- 行動（主観的報告）：\n- インターネットを使用しなければPIUになることはあり得ないので、`PreInt_EduHx-computerinternet_hoursday` が最も重要な特徴量になると思われますが、前述の通り、対象との関係は非線形になる可能性があります。\nPIUに関連する行動傾向は、アンケートから導き出される身体活動スコア（`PAQ_A-PAQ_A_Total`および`PAQ_C-PAQ_C_Total`）に反映される可能性があります。\n\nしかし、いずれも自己申告であるため、偏りや不正確さが生じやすく、ノイズが含まれる可能性が高いと思われます。\n\n- 身体的健康およびフィットネス（客観的測定）：\n- 児童全体評価尺度（`CGAS-CGAS_Score`）は、臨床医による評価に基づくスコアであり、一般的な機能性を反映しています。PIUのある個人については、このスコアからPIUが全体的な機能性にどのような影響を与えているかが分かります。\n- 身体的健康の測定には、体組成やバイタルサイン（「Physical-」で始まる特徴量）が含まれ、一般的な健康への影響という観点で、問題のあるインターネット利用がどの程度であるかを反映している可能性があります（身長だけでは関連性が低い可能性があることに注意してください。ただし、体重と組み合わせることでBMI（体脂肪の測定値）が得られます）。\n- 生体電気インピーダンス分析は、体組成と代謝の健康状態（体脂肪、筋肉量、水分量、代謝率など）を評価します。PIUは、座りがちな生活習慣と関連している場合、これらの変数の変化に反映される可能性があります（骨密度の低下、除脂肪筋肉量の減少、1日のエネルギー消費量の減少、水分補給不足、除脂肪体重の減少、体脂肪率の上昇など）。\n- 身体活動の客観的測定には、FitnessGramの結果（持久力、カール、握力、腕立て伏せ、sit & reach、体幹リフト - 特徴量は「Fitness_」および「FGC-FGC_」で始まる列）が含まれる。これらは、筋力および緊張度への影響という観点から、インターネット利用がどれほど問題であるかを示している。\n睡眠関連の問題の評価（特徴量 `SDS-SDS_Total_Raw`、`SDS-SDS_Total_T`）は、PIUが睡眠パターンをどの程度乱しているかを反映している可能性がある。\n人口統計学的特徴：\n年齢と性別は極めて重要である可能性がある。なぜなら、インターネット利用とPIUに関連する性別および特に年齢別のパターン（すでに上記で見たように）があるかもしれないからである。","metadata":{}},{"cell_type":"markdown","source":"Remove target-related columns and continue EDA by feature groups.\n\nターゲット関連の列を削除し、特徴量グループごとにEDAを継続する。","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-03T13:04:03.424733Z","iopub.execute_input":"2024-12-03T13:04:03.425075Z","iopub.status.idle":"2024-12-03T13:04:03.433426Z","shell.execute_reply.started":"2024-12-03T13:04:03.425033Z","shell.execute_reply":"2024-12-03T13:04:03.432489Z"}},"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-03T13:04:03.434745Z","iopub.execute_input":"2024-12-03T13:04:03.435452Z","iopub.status.idle":"2024-12-03T13:04:03.445693Z","shell.execute_reply.started":"2024-12-03T13:04:03.435408Z","shell.execute_reply":"2024-12-03T13:04:03.444794Z"}},"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-03T13:04:03.446844Z","iopub.execute_input":"2024-12-03T13:04:03.447175Z","iopub.status.idle":"2024-12-03T13:04:04.109270Z","shell.execute_reply.started":"2024-12-03T13:04:03.447146Z","shell.execute_reply":"2024-12-03T13:04:04.107868Z"}},"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-03T13:04:04.110746Z","iopub.execute_input":"2024-12-03T13:04:04.111196Z","iopub.status.idle":"2024-12-03T13:04:04.129552Z","shell.execute_reply.started":"2024-12-03T13:04:04.111149Z","shell.execute_reply":"2024-12-03T13:04:04.128309Z"}},"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>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n💡 注： \n    <ul style=「list-style:circle」>\n<li>季節ごとの登録の分布は比較的バランスが取れており、春の登録が最も多く（28.5%）、秋の登録が最も少ない（21.9%）です。\n<li>ほとんどの年齢層で男性（0）の方が多く、特に若い年齢層では女性（1）が少ない。\n<li>ターゲット変数との関係は、「年齢と性別によるSII」のセクションに示されている（男性と女性におけるSIIに差異はない。年齢とPIU障害の関係はU字型）。\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-03T13:04:04.130896Z","iopub.execute_input":"2024-12-03T13:04:04.131283Z","iopub.status.idle":"2024-12-03T13:04:04.142889Z","shell.execute_reply.started":"2024-12-03T13:04:04.131251Z","shell.execute_reply":"2024-12-03T13:04:04.141885Z"}},"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-03T13:04:04.144750Z","iopub.execute_input":"2024-12-03T13:04:04.145260Z","iopub.status.idle":"2024-12-03T13:04:04.155185Z","shell.execute_reply.started":"2024-12-03T13:04:04.145217Z","shell.execute_reply":"2024-12-03T13:04:04.154079Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, 'CGAS-CGAS_Score')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:04.156679Z","iopub.execute_input":"2024-12-03T13:04:04.157169Z","iopub.status.idle":"2024-12-03T13:04:04.174505Z","shell.execute_reply.started":"2024-12-03T13:04:04.157067Z","shell.execute_reply":"2024-12-03T13:04:04.173434Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"train[train['CGAS-CGAS_Score'] > 100]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:04.175525Z","iopub.execute_input":"2024-12-03T13:04:04.175794Z","iopub.status.idle":"2024-12-03T13:04:04.198826Z","shell.execute_reply.started":"2024-12-03T13:04:04.175766Z","shell.execute_reply":"2024-12-03T13:04:04.197618Z"}},"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-styl:circle\">\n<li>There is one extreme value outlier (CGAS-CGAS_Score = 999), which is obviously an error.\n    </ul>\n</div>\n\n<div style=\"line-height:24px; font-size:16px;border-left: 5px solid silver; padding-left: 26px;\"> \n    💡 注: \n    <ul style=\"list-style:circle\">\n<li>1つの極端な値の異常値（CGAS-CGAS_Score = 999）があり、これは明らかにエラーです。\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-03T13:04:04.200153Z","iopub.execute_input":"2024-12-03T13:04:04.200458Z","iopub.status.idle":"2024-12-03T13:04:04.211181Z","shell.execute_reply.started":"2024-12-03T13:04:04.200428Z","shell.execute_reply":"2024-12-03T13:04:04.210149Z"}},"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-03T13:04:04.212450Z","iopub.execute_input":"2024-12-03T13:04:04.212757Z","iopub.status.idle":"2024-12-03T13:04:04.831380Z","shell.execute_reply.started":"2024-12-03T13:04:04.212728Z","shell.execute_reply":"2024-12-03T13:04:04.830380Z"}},"outputs":[],"execution_count":null},{"cell_type":"markdown","source":"Stats without outlier:\n\n異常値を除いた統計値：","metadata":{}},{"cell_type":"code","source":"calculate_stats(train, 'CGAS-CGAS_Score')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:04.832591Z","iopub.execute_input":"2024-12-03T13:04:04.832897Z","iopub.status.idle":"2024-12-03T13:04:04.850445Z","shell.execute_reply.started":"2024-12-03T13:04:04.832867Z","shell.execute_reply":"2024-12-03T13:04:04.849462Z"}},"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:\n\n### CGAS 解釈（[参考文献](https://www.corc.uk.net/outcome-experience-measures/childrens-global-assessment-scale-cgas/))\n\nCGAS は、4～16 歳の児童および青少年の一般的な機能性を評価するものです。CGAS は、治療や予後に関係なく、特定の期間における最低レベルの機能性に基づいて、1～100 の範囲で児童を評価するよう臨床医に求めています。\n\nCGASは一般的な機能性を測る尺度であり、SIIはインターネット利用がその機能性に与える影響の深刻さを反映するものであるため、私はこの特徴量がインターネット利用とともに、SIIを予測する上で最も重要になると考えています。\n\n`CGAS-CGAS_Score` 列を確立されたスコアカテゴリーとカウントに基づいて分類してみましょう。","metadata":{}},{"cell_type":"code","source":"bins = np.arange(0, 101, 10)\nlabels = [\n    \"1-10: Needs constant supervision (24 hour care) 常時の監督が必要（24時間介護）\",\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()\n\n\n\n\n\n\n\n\n\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:50:51.644097Z","iopub.execute_input":"2024-12-03T13:50:51.644506Z","iopub.status.idle":"2024-12-03T13:50:52.203226Z","shell.execute_reply.started":"2024-12-03T13:50:51.644474Z","shell.execute_reply":"2024-12-03T13:50:52.202157Z"}},"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-03T13:04:05.341509Z","iopub.execute_input":"2024-12-03T13:04:05.341942Z","iopub.status.idle":"2024-12-03T13:04:05.359037Z","shell.execute_reply.started":"2024-12-03T13:04:05.341896Z","shell.execute_reply":"2024-12-03T13:04:05.357967Z"}},"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-03T13:04:05.360203Z","iopub.execute_input":"2024-12-03T13:04:05.360510Z","iopub.status.idle":"2024-12-03T13:04:06.181863Z","shell.execute_reply.started":"2024-12-03T13:04:05.360479Z","shell.execute_reply":"2024-12-03T13:04:06.180818Z"}},"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-03T13:04:06.183361Z","iopub.execute_input":"2024-12-03T13:04:06.183757Z","iopub.status.idle":"2024-12-03T13:04:06.197851Z","shell.execute_reply.started":"2024-12-03T13:04:06.183713Z","shell.execute_reply":"2024-12-03T13:04:06.196862Z"}},"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-03T13:04:06.199127Z","iopub.execute_input":"2024-12-03T13:04:06.199419Z","iopub.status.idle":"2024-12-03T13:04:06.219955Z","shell.execute_reply.started":"2024-12-03T13:04:06.199390Z","shell.execute_reply":"2024-12-03T13:04:06.218906Z"}},"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-03T13:04:06.221385Z","iopub.execute_input":"2024-12-03T13:04:06.221715Z","iopub.status.idle":"2024-12-03T13:04:06.240506Z","shell.execute_reply.started":"2024-12-03T13:04:06.221683Z","shell.execute_reply":"2024-12-03T13:04:06.239451Z"}},"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-03T13:04:06.241703Z","iopub.execute_input":"2024-12-03T13:04:06.242041Z","iopub.status.idle":"2024-12-03T13:04:06.252321Z","shell.execute_reply.started":"2024-12-03T13:04:06.241988Z","shell.execute_reply":"2024-12-03T13:04:06.251327Z"}},"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-03T13:04:06.253418Z","iopub.execute_input":"2024-12-03T13:04:06.253726Z","iopub.status.idle":"2024-12-03T13:04:08.562422Z","shell.execute_reply.started":"2024-12-03T13:04:06.253694Z","shell.execute_reply":"2024-12-03T13:04:08.561387Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, cols)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:08.564136Z","iopub.execute_input":"2024-12-03T13:04:08.564874Z","iopub.status.idle":"2024-12-03T13:04:08.599556Z","shell.execute_reply.started":"2024-12-03T13:04:08.564827Z","shell.execute_reply":"2024-12-03T13:04:08.598450Z"}},"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-03T13:04:08.600651Z","iopub.execute_input":"2024-12-03T13:04:08.600921Z","iopub.status.idle":"2024-12-03T13:04:08.605767Z","shell.execute_reply.started":"2024-12-03T13:04:08.600895Z","shell.execute_reply":"2024-12-03T13:04:08.604778Z"}},"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-03T13:04:08.607437Z","iopub.execute_input":"2024-12-03T13:04:08.607774Z","iopub.status.idle":"2024-12-03T13:04:08.619480Z","shell.execute_reply.started":"2024-12-03T13:04:08.607744Z","shell.execute_reply":"2024-12-03T13:04:08.618548Z"}},"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-03T13:04:08.620532Z","iopub.execute_input":"2024-12-03T13:04:08.620817Z","iopub.status.idle":"2024-12-03T13:04:08.649794Z","shell.execute_reply.started":"2024-12-03T13:04:08.620789Z","shell.execute_reply":"2024-12-03T13:04:08.648855Z"}},"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-03T13:04:08.651085Z","iopub.execute_input":"2024-12-03T13:04:08.651469Z","iopub.status.idle":"2024-12-03T13:04:08.680163Z","shell.execute_reply.started":"2024-12-03T13:04:08.651427Z","shell.execute_reply":"2024-12-03T13:04:08.679128Z"}},"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-03T13:04:08.681538Z","iopub.execute_input":"2024-12-03T13:04:08.681989Z","iopub.status.idle":"2024-12-03T13:04:09.655737Z","shell.execute_reply.started":"2024-12-03T13:04:08.681902Z","shell.execute_reply":"2024-12-03T13:04:09.654756Z"}},"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-03T13:04:09.657098Z","iopub.execute_input":"2024-12-03T13:04:09.657502Z","iopub.status.idle":"2024-12-03T13:04:09.662661Z","shell.execute_reply.started":"2024-12-03T13:04:09.657454Z","shell.execute_reply":"2024-12-03T13:04:09.661604Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"(train[bp_hr_cols] < 50).sum()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:09.664149Z","iopub.execute_input":"2024-12-03T13:04:09.665239Z","iopub.status.idle":"2024-12-03T13:04:09.677184Z","shell.execute_reply.started":"2024-12-03T13:04:09.665206Z","shell.execute_reply":"2024-12-03T13:04:09.676201Z"}},"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-03T13:04:09.678331Z","iopub.execute_input":"2024-12-03T13:04:09.678641Z","iopub.status.idle":"2024-12-03T13:04:09.693700Z","shell.execute_reply.started":"2024-12-03T13:04:09.678612Z","shell.execute_reply":"2024-12-03T13:04:09.692605Z"}},"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-03T13:04:09.695042Z","iopub.execute_input":"2024-12-03T13:04:09.695375Z","iopub.status.idle":"2024-12-03T13:04:09.708949Z","shell.execute_reply.started":"2024-12-03T13:04:09.695346Z","shell.execute_reply":"2024-12-03T13:04:09.708063Z"}},"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-03T13:04:09.710248Z","iopub.execute_input":"2024-12-03T13:04:09.710634Z","iopub.status.idle":"2024-12-03T13:04:10.344684Z","shell.execute_reply.started":"2024-12-03T13:04:09.710589Z","shell.execute_reply":"2024-12-03T13:04:10.343715Z"}},"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-03T13:04:10.346227Z","iopub.execute_input":"2024-12-03T13:04:10.346644Z","iopub.status.idle":"2024-12-03T13:04:11.108645Z","shell.execute_reply.started":"2024-12-03T13:04:10.346598Z","shell.execute_reply":"2024-12-03T13:04:11.107615Z"}},"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-03T13:04:11.110099Z","iopub.execute_input":"2024-12-03T13:04:11.110473Z","iopub.status.idle":"2024-12-03T13:04:11.118359Z","shell.execute_reply.started":"2024-12-03T13:04:11.110434Z","shell.execute_reply":"2024-12-03T13:04:11.117259Z"}},"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-03T13:04:11.119665Z","iopub.execute_input":"2024-12-03T13:04:11.120145Z","iopub.status.idle":"2024-12-03T13:04:11.135913Z","shell.execute_reply.started":"2024-12-03T13:04:11.120084Z","shell.execute_reply":"2024-12-03T13:04:11.134897Z"}},"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-03T13:04:11.137245Z","iopub.execute_input":"2024-12-03T13:04:11.137928Z","iopub.status.idle":"2024-12-03T13:04:11.293532Z","shell.execute_reply.started":"2024-12-03T13:04:11.137882Z","shell.execute_reply":"2024-12-03T13:04:11.292391Z"}},"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-03T13:04:11.295234Z","iopub.execute_input":"2024-12-03T13:04:11.296339Z","iopub.status.idle":"2024-12-03T13:04:11.325567Z","shell.execute_reply.started":"2024-12-03T13:04:11.296287Z","shell.execute_reply":"2024-12-03T13:04:11.324279Z"}},"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-03T13:04:11.326809Z","iopub.execute_input":"2024-12-03T13:04:11.327571Z","iopub.status.idle":"2024-12-03T13:04:11.353565Z","shell.execute_reply.started":"2024-12-03T13:04:11.327524Z","shell.execute_reply":"2024-12-03T13:04:11.352764Z"}},"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-03T13:04:11.354965Z","iopub.execute_input":"2024-12-03T13:04:11.355286Z","iopub.status.idle":"2024-12-03T13:04:12.029935Z","shell.execute_reply.started":"2024-12-03T13:04:11.355256Z","shell.execute_reply":"2024-12-03T13:04:12.028919Z"}},"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-03T13:04:12.031387Z","iopub.execute_input":"2024-12-03T13:04:12.031898Z","iopub.status.idle":"2024-12-03T13:04:12.047169Z","shell.execute_reply.started":"2024-12-03T13:04:12.031852Z","shell.execute_reply":"2024-12-03T13:04:12.046192Z"}},"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-03T13:04:12.048713Z","iopub.execute_input":"2024-12-03T13:04:12.049082Z","iopub.status.idle":"2024-12-03T13:04:12.058075Z","shell.execute_reply.started":"2024-12-03T13:04:12.049049Z","shell.execute_reply":"2024-12-03T13:04:12.057202Z"}},"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-03T13:04:12.059342Z","iopub.execute_input":"2024-12-03T13:04:12.059712Z","iopub.status.idle":"2024-12-03T13:04:12.676471Z","shell.execute_reply.started":"2024-12-03T13:04:12.059682Z","shell.execute_reply":"2024-12-03T13:04:12.675436Z"}},"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-03T13:04:12.678093Z","iopub.execute_input":"2024-12-03T13:04:12.678880Z","iopub.status.idle":"2024-12-03T13:04:17.850585Z","shell.execute_reply.started":"2024-12-03T13:04:12.678833Z","shell.execute_reply":"2024-12-03T13:04:17.849520Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"calculate_stats(train, continuous_columns)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-12-03T13:04:17.852088Z","iopub.execute_input":"2024-12-03T13:04:17.852509Z","iopub.status.idle":"2024-12-03T13:04:17.906882Z","shell.execute_reply.started":"2024-12-03T13:04:17.852466Z","shell.execute_reply":"2024-12-03T13:04:17.905809Z"}},"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-03T13:04:17.908512Z","iopub.execute_input":"2024-12-03T13:04:17.908923Z","iopub.status.idle":"2024-12-03T13:04:18.295769Z","shell.execute_reply.started":"2024-12-03T13:04:17.908877Z","shell.execute_reply":"2024-12-03T13:04:18.294597Z"}},"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-03T13:04:18.297288Z","iopub.execute_input":"2024-12-03T13:04:18.297946Z","iopub.status.idle":"2024-12-03T13:04:18.317777Z","shell.execute_reply.started":"2024-12-03T13:04:18.297899Z","shell.execute_reply":"2024-12-03T13:04:18.316780Z"}},"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-03T13:04:18.319159Z","iopub.execute_input":"2024-12-03T13:04:18.319664Z","iopub.status.idle":"2024-12-03T13:04:18.326585Z","shell.execute_reply.started":"2024-12-03T13:04:18.319619Z","shell.execute_reply":"2024-12-03T13:04:18.325585Z"}},"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-03T13:04:18.328096Z","iopub.execute_input":"2024-12-03T13:04:18.328387Z","iopub.status.idle":"2024-12-03T13:04:18.345403Z","shell.execute_reply.started":"2024-12-03T13:04:18.328358Z","shell.execute_reply":"2024-12-03T13:04:18.344252Z"}},"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-03T13:04:18.346630Z","iopub.execute_input":"2024-12-03T13:04:18.347020Z","iopub.status.idle":"2024-12-03T13:04:19.799172Z","shell.execute_reply.started":"2024-12-03T13:04:18.346917Z","shell.execute_reply":"2024-12-03T13:04:19.798087Z"}},"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-03T13:04:19.800666Z","iopub.execute_input":"2024-12-03T13:04:19.801222Z","iopub.status.idle":"2024-12-03T13:04:20.420182Z","shell.execute_reply.started":"2024-12-03T13:04:19.801179Z","shell.execute_reply":"2024-12-03T13:04:20.419032Z"}},"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-03T13:04:20.421765Z","iopub.execute_input":"2024-12-03T13:04:20.422139Z","iopub.status.idle":"2024-12-03T13:04:20.445737Z","shell.execute_reply.started":"2024-12-03T13:04:20.422106Z","shell.execute_reply":"2024-12-03T13:04:20.444383Z"}},"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-03T13:04:20.446998Z","iopub.execute_input":"2024-12-03T13:04:20.447354Z","iopub.status.idle":"2024-12-03T13:04:20.462396Z","shell.execute_reply.started":"2024-12-03T13:04:20.447321Z","shell.execute_reply":"2024-12-03T13:04:20.461380Z"}},"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-03T13:04:20.463677Z","iopub.execute_input":"2024-12-03T13:04:20.464150Z","iopub.status.idle":"2024-12-03T13:04:20.472978Z","shell.execute_reply.started":"2024-12-03T13:04:20.464104Z","shell.execute_reply":"2024-12-03T13:04:20.471939Z"}},"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-03T13:04:20.474354Z","iopub.execute_input":"2024-12-03T13:04:20.475155Z","iopub.status.idle":"2024-12-03T13:04:20.486183Z","shell.execute_reply.started":"2024-12-03T13:04:20.475122Z","shell.execute_reply":"2024-12-03T13:04:20.485321Z"}},"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-03T13:04:20.487405Z","iopub.execute_input":"2024-12-03T13:04:20.487844Z","iopub.status.idle":"2024-12-03T13:04:20.513532Z","shell.execute_reply.started":"2024-12-03T13:04:20.487743Z","shell.execute_reply":"2024-12-03T13:04:20.512446Z"}},"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-03T13:04:20.514680Z","iopub.execute_input":"2024-12-03T13:04:20.515056Z","iopub.status.idle":"2024-12-03T13:04:20.527621Z","shell.execute_reply.started":"2024-12-03T13:04:20.514994Z","shell.execute_reply":"2024-12-03T13:04:20.526643Z"}},"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-03T13:04:20.528876Z","iopub.execute_input":"2024-12-03T13:04:20.529273Z","iopub.status.idle":"2024-12-03T13:04:24.217259Z","shell.execute_reply.started":"2024-12-03T13:04:20.529243Z","shell.execute_reply":"2024-12-03T13:04:24.216158Z"}},"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-03T13:04:24.218678Z","iopub.execute_input":"2024-12-03T13:04:24.219127Z","iopub.status.idle":"2024-12-03T13:04:24.255254Z","shell.execute_reply.started":"2024-12-03T13:04:24.219082Z","shell.execute_reply":"2024-12-03T13:04:24.254201Z"}},"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-03T13:04:24.256643Z","iopub.execute_input":"2024-12-03T13:04:24.257447Z","iopub.status.idle":"2024-12-03T13:04:24.264419Z","shell.execute_reply.started":"2024-12-03T13:04:24.257403Z","shell.execute_reply":"2024-12-03T13:04:24.263271Z"}},"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-03T13:04:24.265665Z","iopub.execute_input":"2024-12-03T13:04:24.265961Z","iopub.status.idle":"2024-12-03T13:04:24.323775Z","shell.execute_reply.started":"2024-12-03T13:04:24.265933Z","shell.execute_reply":"2024-12-03T13:04:24.322712Z"}},"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-03T13:04:24.325136Z","iopub.execute_input":"2024-12-03T13:04:24.325479Z","iopub.status.idle":"2024-12-03T13:04:24.372276Z","shell.execute_reply.started":"2024-12-03T13:04:24.325449Z","shell.execute_reply":"2024-12-03T13:04:24.371236Z"}},"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-03T13:04:24.373502Z","iopub.execute_input":"2024-12-03T13:04:24.373806Z","iopub.status.idle":"2024-12-03T13:04:24.594412Z","shell.execute_reply.started":"2024-12-03T13:04:24.373777Z","shell.execute_reply":"2024-12-03T13:04:24.593417Z"}},"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-03T13:04:24.595478Z","iopub.execute_input":"2024-12-03T13:04:24.595760Z","iopub.status.idle":"2024-12-03T13:04:24.622228Z","shell.execute_reply.started":"2024-12-03T13:04:24.595731Z","shell.execute_reply":"2024-12-03T13:04:24.621167Z"}},"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-03T13:04:24.623317Z","iopub.execute_input":"2024-12-03T13:04:24.623596Z","iopub.status.idle":"2024-12-03T13:04:25.315545Z","shell.execute_reply.started":"2024-12-03T13:04:24.623570Z","shell.execute_reply":"2024-12-03T13:04:25.314522Z"}},"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-03T13:04:25.316931Z","iopub.execute_input":"2024-12-03T13:04:25.317334Z","iopub.status.idle":"2024-12-03T13:04:27.299271Z","shell.execute_reply.started":"2024-12-03T13:04:25.317292Z","shell.execute_reply":"2024-12-03T13:04:27.298189Z"}},"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-03T13:04:27.300361Z","iopub.execute_input":"2024-12-03T13:04:27.300643Z","iopub.status.idle":"2024-12-03T13:04:27.319621Z","shell.execute_reply.started":"2024-12-03T13:04:27.300616Z","shell.execute_reply":"2024-12-03T13:04:27.318718Z"}},"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-03T13:04:27.320809Z","iopub.execute_input":"2024-12-03T13:04:27.321147Z","iopub.status.idle":"2024-12-03T13:04:27.336198Z","shell.execute_reply.started":"2024-12-03T13:04:27.321115Z","shell.execute_reply":"2024-12-03T13:04:27.335238Z"}},"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-03T13:04:27.337297Z","iopub.execute_input":"2024-12-03T13:04:27.337664Z","iopub.status.idle":"2024-12-03T13:04:27.351254Z","shell.execute_reply.started":"2024-12-03T13:04:27.337623Z","shell.execute_reply":"2024-12-03T13:04:27.350271Z"}},"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-03T13:04:27.352505Z","iopub.execute_input":"2024-12-03T13:04:27.352816Z","iopub.status.idle":"2024-12-03T13:04:28.294636Z","shell.execute_reply.started":"2024-12-03T13:04:27.352768Z","shell.execute_reply":"2024-12-03T13:04:28.293673Z"}},"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-03T13:04:28.295884Z","iopub.execute_input":"2024-12-03T13:04:28.296219Z","iopub.status.idle":"2024-12-03T13:04:28.317261Z","shell.execute_reply.started":"2024-12-03T13:04:28.296189Z","shell.execute_reply":"2024-12-03T13:04:28.316280Z"}},"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-03T13:04:28.318459Z","iopub.execute_input":"2024-12-03T13:04:28.318765Z","iopub.status.idle":"2024-12-03T13:04:28.324885Z","shell.execute_reply.started":"2024-12-03T13:04:28.318735Z","shell.execute_reply":"2024-12-03T13:04:28.323901Z"}},"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-03T13:04:28.326058Z","iopub.execute_input":"2024-12-03T13:04:28.326420Z","iopub.status.idle":"2024-12-03T13:04:28.341326Z","shell.execute_reply.started":"2024-12-03T13:04:28.326362Z","shell.execute_reply":"2024-12-03T13:04:28.340191Z"}},"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-03T13:04:28.342786Z","iopub.execute_input":"2024-12-03T13:04:28.343543Z","iopub.status.idle":"2024-12-03T13:04:29.278209Z","shell.execute_reply.started":"2024-12-03T13:04:28.343497Z","shell.execute_reply":"2024-12-03T13:04:29.277112Z"}},"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-03T13:04:29.279513Z","iopub.execute_input":"2024-12-03T13:04:29.279794Z","iopub.status.idle":"2024-12-03T13:04:29.297961Z","shell.execute_reply.started":"2024-12-03T13:04:29.279767Z","shell.execute_reply":"2024-12-03T13:04:29.297029Z"}},"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-03T13:04:29.299081Z","iopub.execute_input":"2024-12-03T13:04:29.299381Z","iopub.status.idle":"2024-12-03T13:04:29.305574Z","shell.execute_reply.started":"2024-12-03T13:04:29.299352Z","shell.execute_reply":"2024-12-03T13:04:29.304535Z"}},"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-03T13:04:29.306783Z","iopub.execute_input":"2024-12-03T13:04:29.307216Z","iopub.status.idle":"2024-12-03T13:04:29.319916Z","shell.execute_reply.started":"2024-12-03T13:04:29.307172Z","shell.execute_reply":"2024-12-03T13:04:29.318866Z"}},"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-03T13:04:29.321200Z","iopub.execute_input":"2024-12-03T13:04:29.321500Z","iopub.status.idle":"2024-12-03T13:04:30.419777Z","shell.execute_reply.started":"2024-12-03T13:04:29.321471Z","shell.execute_reply":"2024-12-03T13:04:30.418771Z"}},"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-03T13:04:30.421211Z","iopub.execute_input":"2024-12-03T13:04:30.421650Z","iopub.status.idle":"2024-12-03T13:04:30.441028Z","shell.execute_reply.started":"2024-12-03T13:04:30.421597Z","shell.execute_reply":"2024-12-03T13:04:30.440062Z"}},"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-03T13:04:30.442356Z","iopub.execute_input":"2024-12-03T13:04:30.442675Z","iopub.status.idle":"2024-12-03T13:04:30.455628Z","shell.execute_reply.started":"2024-12-03T13:04:30.442614Z","shell.execute_reply":"2024-12-03T13:04:30.454537Z"}},"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":{}}]}