{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "76541bec-8f20-438e-9765-e46fc624c79f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Top-level keys: dict_keys(['type', 'name', 'database', 'data'])\n",
      "Number of participants: 67\n",
      "\n",
      "df_trials shape: (19296, 15)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/pandas/core/arraylike.py:399: RuntimeWarning: divide by zero encountered in log\n",
      "  result = getattr(ufunc, method)(*inputs, **kwargs)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>order_group</th>\n",
       "      <th>block</th>\n",
       "      <th>condition</th>\n",
       "      <th>symbol</th>\n",
       "      <th>correct</th>\n",
       "      <th>rt</th>\n",
       "      <th>response</th>\n",
       "      <th>notification_flag</th>\n",
       "      <th>notif_block2_condition</th>\n",
       "      <th>notif_block3_condition</th>\n",
       "      <th>trial_in_block</th>\n",
       "      <th>accuracy_percent</th>\n",
       "      <th>log_rt</th>\n",
       "      <th>notification_label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>regular_first</td>\n",
       "      <td>1</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>☾</td>\n",
       "      <td>False</td>\n",
       "      <td>1862.0</td>\n",
       "      <td>ArrowUp</td>\n",
       "      <td>0</td>\n",
       "      <td>regular</td>\n",
       "      <td>irregular</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.529406</td>\n",
       "      <td>no_notification</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>regular_first</td>\n",
       "      <td>1</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>☂︎</td>\n",
       "      <td>False</td>\n",
       "      <td>850.0</td>\n",
       "      <td>ArrowUp</td>\n",
       "      <td>0</td>\n",
       "      <td>regular</td>\n",
       "      <td>irregular</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>6.745236</td>\n",
       "      <td>no_notification</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>regular_first</td>\n",
       "      <td>1</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>☁︎</td>\n",
       "      <td>False</td>\n",
       "      <td>343.0</td>\n",
       "      <td>ArrowLeft</td>\n",
       "      <td>0</td>\n",
       "      <td>regular</td>\n",
       "      <td>irregular</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5.837730</td>\n",
       "      <td>no_notification</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>regular_first</td>\n",
       "      <td>1</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>☀︎</td>\n",
       "      <td>False</td>\n",
       "      <td>642.0</td>\n",
       "      <td>ArrowRight</td>\n",
       "      <td>0</td>\n",
       "      <td>regular</td>\n",
       "      <td>irregular</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>6.464588</td>\n",
       "      <td>no_notification</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>regular_first</td>\n",
       "      <td>1</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>⚡︎</td>\n",
       "      <td>False</td>\n",
       "      <td>386.0</td>\n",
       "      <td>ArrowUp</td>\n",
       "      <td>0</td>\n",
       "      <td>regular</td>\n",
       "      <td>irregular</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>5.955837</td>\n",
       "      <td>no_notification</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant    order_group block         condition symbol  correct      rt  \\\n",
       "0      OTMA27  regular_first     1  no_notifications      ☾    False  1862.0   \n",
       "1      OTMA27  regular_first     1  no_notifications     ☂︎    False   850.0   \n",
       "2      OTMA27  regular_first     1  no_notifications     ☁︎    False   343.0   \n",
       "3      OTMA27  regular_first     1  no_notifications     ☀︎    False   642.0   \n",
       "4      OTMA27  regular_first     1  no_notifications     ⚡︎    False   386.0   \n",
       "\n",
       "     response  notification_flag notif_block2_condition  \\\n",
       "0     ArrowUp                  0                regular   \n",
       "1     ArrowUp                  0                regular   \n",
       "2   ArrowLeft                  0                regular   \n",
       "3  ArrowRight                  0                regular   \n",
       "4     ArrowUp                  0                regular   \n",
       "\n",
       "  notif_block3_condition  trial_in_block  accuracy_percent    log_rt  \\\n",
       "0              irregular               1                 0  7.529406   \n",
       "1              irregular               2                 0  6.745236   \n",
       "2              irregular               3                 0  5.837730   \n",
       "3              irregular               4                 0  6.464588   \n",
       "4              irregular               5                 0  5.955837   \n",
       "\n",
       "  notification_label  \n",
       "0    no_notification  \n",
       "1    no_notification  \n",
       "2    no_notification  \n",
       "3    no_notification  \n",
       "4    no_notification  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "df_recognition shape: (134, 12)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>block</th>\n",
       "      <th>condition</th>\n",
       "      <th>hits</th>\n",
       "      <th>misses</th>\n",
       "      <th>false_alarms</th>\n",
       "      <th>correct_rejections</th>\n",
       "      <th>recognition_accuracy</th>\n",
       "      <th>hit_rate</th>\n",
       "      <th>miss_rate</th>\n",
       "      <th>false_alarm_rate</th>\n",
       "      <th>correct_rejection_rate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>2</td>\n",
       "      <td>regular</td>\n",
       "      <td>4</td>\n",
       "      <td>16</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>66.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>3.333333</td>\n",
       "      <td>96.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>3</td>\n",
       "      <td>irregular</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>5</td>\n",
       "      <td>25</td>\n",
       "      <td>70.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>16.666667</td>\n",
       "      <td>83.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>HUMA30</td>\n",
       "      <td>2</td>\n",
       "      <td>regular</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>76.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>3.333333</td>\n",
       "      <td>96.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>HUMA30</td>\n",
       "      <td>3</td>\n",
       "      <td>irregular</td>\n",
       "      <td>11</td>\n",
       "      <td>9</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>80.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>3.333333</td>\n",
       "      <td>96.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DEOF26</td>\n",
       "      <td>2</td>\n",
       "      <td>regular</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>76.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>55.0</td>\n",
       "      <td>3.333333</td>\n",
       "      <td>96.666667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant block  condition  hits  misses  false_alarms  \\\n",
       "0      OTMA27     2    regular     4      16             1   \n",
       "1      OTMA27     3  irregular    10      10             5   \n",
       "2      HUMA30     2    regular     9      11             1   \n",
       "3      HUMA30     3  irregular    11       9             1   \n",
       "4      DEOF26     2    regular     9      11             1   \n",
       "\n",
       "   correct_rejections  recognition_accuracy  hit_rate  miss_rate  \\\n",
       "0                  29                  66.0      20.0       80.0   \n",
       "1                  25                  70.0      50.0       50.0   \n",
       "2                  29                  76.0      45.0       55.0   \n",
       "3                  29                  80.0      55.0       45.0   \n",
       "4                  29                  76.0      45.0       55.0   \n",
       "\n",
       "   false_alarm_rate  correct_rejection_rate  \n",
       "0          3.333333               96.666667  \n",
       "1         16.666667               83.333333  \n",
       "2          3.333333               96.666667  \n",
       "3          3.333333               96.666667  \n",
       "4          3.333333               96.666667  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Imports\n",
    "# =========================\n",
    "\n",
    "import json\n",
    "from pathlib import Path\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "import scipy.stats as stats\n",
    "from scipy.stats import linregress\n",
    "\n",
    "import statsmodels.api as sm\n",
    "import statsmodels.formula.api as smf\n",
    "from statsmodels.iolib.summary2 import summary_col\n",
    "\n",
    "# optional / nützlich für klassische Tests + Effektstärken\n",
    "import pingouin as pg\n",
    "\n",
    "# =========================\n",
    "# Plot style\n",
    "# =========================\n",
    "\n",
    "sns.set_theme(\n",
    "    style=\"whitegrid\",\n",
    "    context=\"talk\",\n",
    "    font_scale=1.0\n",
    ")\n",
    "\n",
    "purple_main = \"#7f6aa5\"\n",
    "purple_light = \"#c7b9e6\"\n",
    "purple_mid = \"#a593d8\"\n",
    "\n",
    "sns.set_palette([purple_light, purple_mid, purple_main])\n",
    "\n",
    "plt.rcParams.update({\n",
    "    \"figure.figsize\": (7, 4.5),\n",
    "    \"figure.dpi\": 120,\n",
    "    \"axes.grid\": True,\n",
    "    \"grid.alpha\": 0.18,\n",
    "    \"grid.linestyle\": \"-\",\n",
    "    \"axes.edgecolor\": \"#333333\",\n",
    "    \"axes.linewidth\": 1.1,\n",
    "    \"axes.titlesize\": 16,\n",
    "    \"axes.titleweight\": \"bold\",\n",
    "    \"axes.labelsize\": 13,\n",
    "    \"xtick.labelsize\": 11,\n",
    "    \"ytick.labelsize\": 11,\n",
    "    \"legend.frameon\": False,\n",
    "    \"axes.spines.top\": False,\n",
    "    \"axes.spines.right\": False,\n",
    "})\n",
    "\n",
    "# =========================\n",
    "# Load JSON data\n",
    "# =========================\n",
    "\n",
    "DATA_PATH = Path(\"divided_attention_club.json\")\n",
    "\n",
    "with open(DATA_PATH, \"r\", encoding=\"utf-8\") as f:\n",
    "    data = json.load(f)\n",
    "\n",
    "relevant_data_index = data[2]\n",
    "real_data = relevant_data_index[\"data\"]\n",
    "\n",
    "print(\"Top-level keys:\", relevant_data_index.keys())\n",
    "print(\"Number of participants:\", len(real_data))\n",
    "\n",
    "# =========================\n",
    "# Build trial-level dataframe\n",
    "# =========================\n",
    "\n",
    "all_trials = []\n",
    "\n",
    "for participant in real_data:\n",
    "    trials = json.loads(participant[\"json_data\"])\n",
    "\n",
    "    participant_id = None\n",
    "    order_group = None\n",
    "\n",
    "    # participant-level info bestimmen\n",
    "    for t in trials:\n",
    "        if t.get(\"participant_id\") is not None:\n",
    "            participant_id = t.get(\"participant_id\")\n",
    "            break\n",
    "\n",
    "    # Reihenfolgegruppe aus Block-2-Bedingung ableiten\n",
    "    block2_condition = None\n",
    "    block3_condition = None\n",
    "    for t in trials:\n",
    "        if t.get(\"block\") == 2 and t.get(\"notif_block2_condition\") is not None:\n",
    "            block2_condition = t.get(\"notif_block2_condition\")\n",
    "        if t.get(\"block\") == 3 and t.get(\"notif_block3_condition\") is not None:\n",
    "            block3_condition = t.get(\"notif_block3_condition\")\n",
    "\n",
    "    if block2_condition == \"regular\":\n",
    "        order_group = \"regular_first\"\n",
    "    elif block2_condition == \"irregular\":\n",
    "        order_group = \"irregular_first\"\n",
    "\n",
    "    # response trials sammeln\n",
    "    for t in trials:\n",
    "        if t.get(\"task\") == \"keymatching\" and t.get(\"phase\") == \"response\":\n",
    "\n",
    "            block = t.get(\"block\")\n",
    "\n",
    "            if block == 1:\n",
    "                condition = \"no_notifications\"\n",
    "            elif block == 2:\n",
    "                condition = t.get(\"notif_block2_condition\")\n",
    "            elif block == 3:\n",
    "                condition = t.get(\"notif_block3_condition\")\n",
    "            else:\n",
    "                condition = None\n",
    "\n",
    "            all_trials.append({\n",
    "                \"participant\": participant_id,\n",
    "                \"order_group\": order_group,\n",
    "                \"block\": block,\n",
    "                \"condition\": condition,\n",
    "                \"symbol\": t.get(\"symbol\"),\n",
    "                \"correct\": t.get(\"correct\"),\n",
    "                \"rt\": t.get(\"rt\"),\n",
    "                \"response\": t.get(\"response\"),\n",
    "                \"notification_flag\": t.get(\"notification_flag\"),\n",
    "                \"notif_block2_condition\": t.get(\"notif_block2_condition\"),\n",
    "                \"notif_block3_condition\": t.get(\"notif_block3_condition\")\n",
    "            })\n",
    "\n",
    "df_trials = pd.DataFrame(all_trials)\n",
    "\n",
    "# Trial index within block\n",
    "df_trials[\"trial_in_block\"] = (\n",
    "    df_trials\n",
    "    .groupby([\"participant\", \"block\"])\n",
    "    .cumcount() + 1\n",
    ")\n",
    "\n",
    "# Helpful derived variables\n",
    "df_trials[\"accuracy_percent\"] = df_trials[\"correct\"] * 100\n",
    "df_trials[\"log_rt\"] = np.log(df_trials[\"rt\"])\n",
    "\n",
    "df_trials[\"condition\"] = pd.Categorical(\n",
    "    df_trials[\"condition\"],\n",
    "    categories=[\"no_notifications\", \"regular\", \"irregular\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "df_trials[\"block\"] = pd.Categorical(\n",
    "    df_trials[\"block\"],\n",
    "    categories=[1, 2, 3],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "df_trials[\"notification_label\"] = df_trials[\"notification_flag\"].map({\n",
    "    0: \"no_notification\",\n",
    "    1: \"notification\"\n",
    "})\n",
    "\n",
    "print(\"\\ndf_trials shape:\", df_trials.shape)\n",
    "display(df_trials.head())\n",
    "\n",
    "# =========================\n",
    "# Build recognition-level dataframe\n",
    "# =========================\n",
    "\n",
    "recognition_rows = []\n",
    "\n",
    "for participant in real_data:\n",
    "    trials = json.loads(participant[\"json_data\"])\n",
    "\n",
    "    participant_id = None\n",
    "    for t in trials:\n",
    "        if t.get(\"participant_id\") is not None:\n",
    "            participant_id = t.get(\"participant_id\")\n",
    "            break\n",
    "\n",
    "    for t in trials:\n",
    "        if t.get(\"task\") == \"recognition\":\n",
    "\n",
    "            block = t.get(\"block\")\n",
    "\n",
    "            if block == 2:\n",
    "                condition = t.get(\"notif_block2_condition\")\n",
    "            elif block == 3:\n",
    "                condition = t.get(\"notif_block3_condition\")\n",
    "            else:\n",
    "                condition = None\n",
    "\n",
    "            hits = t.get(\"hits\")\n",
    "            misses = t.get(\"misses\")\n",
    "            false_alarms = t.get(\"false_alarms\")\n",
    "            correct_rejections = t.get(\"correct_rejections\")\n",
    "\n",
    "            recognition_accuracy = np.nan\n",
    "            hit_rate = np.nan\n",
    "            miss_rate = np.nan\n",
    "            false_alarm_rate = np.nan\n",
    "            correct_rejection_rate = np.nan\n",
    "\n",
    "            if all(v is not None for v in [hits, misses, false_alarms, correct_rejections]):\n",
    "                total_items = hits + misses + false_alarms + correct_rejections\n",
    "                if total_items > 0:\n",
    "                    recognition_accuracy = (hits + correct_rejections) / total_items * 100\n",
    "                hit_rate = hits / 20 * 100\n",
    "                miss_rate = misses / 20 * 100\n",
    "                false_alarm_rate = false_alarms / 30 * 100\n",
    "                correct_rejection_rate = correct_rejections / 30 * 100\n",
    "\n",
    "            recognition_rows.append({\n",
    "                \"participant\": participant_id,\n",
    "                \"block\": block,\n",
    "                \"condition\": condition,\n",
    "                \"hits\": hits,\n",
    "                \"misses\": misses,\n",
    "                \"false_alarms\": false_alarms,\n",
    "                \"correct_rejections\": correct_rejections,\n",
    "                \"recognition_accuracy\": recognition_accuracy,\n",
    "                \"hit_rate\": hit_rate,\n",
    "                \"miss_rate\": miss_rate,\n",
    "                \"false_alarm_rate\": false_alarm_rate,\n",
    "                \"correct_rejection_rate\": correct_rejection_rate\n",
    "            })\n",
    "\n",
    "df_recognition = pd.DataFrame(recognition_rows)\n",
    "\n",
    "df_recognition[\"condition\"] = pd.Categorical(\n",
    "    df_recognition[\"condition\"],\n",
    "    categories=[\"regular\", \"irregular\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "df_recognition[\"block\"] = pd.Categorical(\n",
    "    df_recognition[\"block\"],\n",
    "    categories=[2, 3],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "print(\"\\ndf_recognition shape:\", df_recognition.shape)\n",
    "display(df_recognition.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "cbf36aa3-7a31-4a63-858e-fdde2dab27f6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prep done.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>condition</th>\n",
       "      <th>accuracy_mean</th>\n",
       "      <th>rt_mean</th>\n",
       "      <th>log_rt_mean</th>\n",
       "      <th>n_trials</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>0.458333</td>\n",
       "      <td>279.170213</td>\n",
       "      <td>4.999868</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>13351</td>\n",
       "      <td>regular</td>\n",
       "      <td>0.291667</td>\n",
       "      <td>679.659574</td>\n",
       "      <td>5.967781</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>13351</td>\n",
       "      <td>irregular</td>\n",
       "      <td>0.541667</td>\n",
       "      <td>355.849462</td>\n",
       "      <td>5.179044</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>14312</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>0.708333</td>\n",
       "      <td>295.687500</td>\n",
       "      <td>5.128539</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>14312</td>\n",
       "      <td>regular</td>\n",
       "      <td>0.770833</td>\n",
       "      <td>202.315789</td>\n",
       "      <td>4.927821</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant         condition  accuracy_mean     rt_mean  log_rt_mean  \\\n",
       "0       13351  no_notifications       0.458333  279.170213     4.999868   \n",
       "1       13351           regular       0.291667  679.659574     5.967781   \n",
       "2       13351         irregular       0.541667  355.849462     5.179044   \n",
       "3       14312  no_notifications       0.708333  295.687500     5.128539   \n",
       "4       14312           regular       0.770833  202.315789     4.927821   \n",
       "\n",
       "   n_trials  \n",
       "0        96  \n",
       "1        96  \n",
       "2        96  \n",
       "3        96  \n",
       "4        96  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>condition</th>\n",
       "      <th>participant</th>\n",
       "      <th>no_notifications</th>\n",
       "      <th>regular</th>\n",
       "      <th>irregular</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>0.458333</td>\n",
       "      <td>0.291667</td>\n",
       "      <td>0.541667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>14312</td>\n",
       "      <td>0.708333</td>\n",
       "      <td>0.770833</td>\n",
       "      <td>0.697917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15899</td>\n",
       "      <td>0.854167</td>\n",
       "      <td>0.885417</td>\n",
       "      <td>0.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22599</td>\n",
       "      <td>0.843750</td>\n",
       "      <td>0.916667</td>\n",
       "      <td>0.854167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23765</td>\n",
       "      <td>0.729167</td>\n",
       "      <td>0.812500</td>\n",
       "      <td>0.781250</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "condition participant  no_notifications   regular  irregular\n",
       "0               13351          0.458333  0.291667   0.541667\n",
       "1               14312          0.708333  0.770833   0.697917\n",
       "2               15899          0.854167  0.885417   0.916667\n",
       "3               22599          0.843750  0.916667   0.854167\n",
       "4               23765          0.729167  0.812500   0.781250"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>accuracy_mean</th>\n",
       "      <th>log_rt_mean</th>\n",
       "      <th>recognition_accuracy</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>0.430556</td>\n",
       "      <td>5.382231</td>\n",
       "      <td>63.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>14312</td>\n",
       "      <td>0.725694</td>\n",
       "      <td>4.968583</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15899</td>\n",
       "      <td>0.885417</td>\n",
       "      <td>5.989676</td>\n",
       "      <td>75.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22599</td>\n",
       "      <td>0.871528</td>\n",
       "      <td>5.038792</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23765</td>\n",
       "      <td>0.774306</td>\n",
       "      <td>5.015550</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant  accuracy_mean  log_rt_mean  recognition_accuracy\n",
       "0       13351       0.430556     5.382231                  63.0\n",
       "1       14312       0.725694     4.968583                  66.0\n",
       "2       15899       0.885417     5.989676                  75.0\n",
       "3       22599       0.871528     5.038792                  82.0\n",
       "4       23765       0.774306     5.015550                  71.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Final prep for inferential analyses\n",
    "# =========================\n",
    "\n",
    "df_trials = df_trials.copy()\n",
    "df_recognition = df_recognition.copy()\n",
    "\n",
    "# --- Clean core variables ---\n",
    "\n",
    "# binary DV sauber\n",
    "df_trials[\"correct\"] = pd.to_numeric(df_trials[\"correct\"], errors=\"coerce\")\n",
    "\n",
    "# RT säubern\n",
    "df_trials[\"rt\"] = pd.to_numeric(df_trials[\"rt\"], errors=\"coerce\")\n",
    "df_trials.loc[df_trials[\"rt\"] <= 0, \"rt\"] = np.nan\n",
    "\n",
    "# log RT neu (sauber)\n",
    "df_trials[\"log_rt\"] = np.log(df_trials[\"rt\"])\n",
    "\n",
    "# --- Notification (0/1) für einfache Tests ---\n",
    "df_trials[\"notification_present\"] = df_trials[\"notification_flag\"].map({0: 0, 1: 1})\n",
    "\n",
    "# --- Dataset für nur Notification-Blöcke (regular vs irregular) ---\n",
    "df_trials_notif = df_trials[\n",
    "    df_trials[\"condition\"].isin([\"regular\", \"irregular\"])\n",
    "].copy()\n",
    "\n",
    "# --- Participant-level Aggregation (für t-tests & correlations) ---\n",
    "df_participant = (\n",
    "    df_trials\n",
    "    .groupby([\"participant\", \"condition\"], observed=True)\n",
    "    .agg(\n",
    "        accuracy_mean=(\"correct\", \"mean\"),\n",
    "        rt_mean=(\"rt\", \"mean\"),\n",
    "        log_rt_mean=(\"log_rt\", \"mean\"),\n",
    "        n_trials=(\"correct\", \"size\")\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "# Wide format (wichtig für t-tests)\n",
    "df_participant_wide = df_participant.pivot(\n",
    "    index=\"participant\",\n",
    "    columns=\"condition\",\n",
    "    values=\"accuracy_mean\"\n",
    ").reset_index()\n",
    "\n",
    "df_rt_wide = df_participant.pivot(\n",
    "    index=\"participant\",\n",
    "    columns=\"condition\",\n",
    "    values=\"log_rt_mean\"\n",
    ").reset_index()\n",
    "\n",
    "# --- Recognition auf Participant-Level mitteln ---\n",
    "df_recognition_participant = (\n",
    "    df_recognition\n",
    "    .groupby(\"participant\", observed=True)\n",
    "    .agg(\n",
    "        recognition_accuracy=(\"recognition_accuracy\", \"mean\")\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "# --- Merge für Individual Differences ---\n",
    "df_individual = df_participant.groupby(\"participant\", observed=True).agg(\n",
    "    accuracy_mean=(\"accuracy_mean\", \"mean\"),\n",
    "    log_rt_mean=(\"log_rt_mean\", \"mean\")\n",
    ").reset_index()\n",
    "\n",
    "df_individual = df_individual.merge(\n",
    "    df_recognition_participant,\n",
    "    on=\"participant\",\n",
    "    how=\"left\"\n",
    ")\n",
    "\n",
    "print(\"Prep done.\")\n",
    "display(df_participant.head())\n",
    "display(df_participant_wide.head())\n",
    "display(df_individual.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fefe7b0b-a4d8-489e-a7c2-a517ba9c400b",
   "metadata": {},
   "source": [
    "## Mixed Model: "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3de95737-187c-469c-afd7-ed1a7a67d52b",
   "metadata": {},
   "source": [
    "### Accuracy ~ Condition (Hauptmodell): Accuracy ~ Condition + (1 | Participant)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a558a6f-77ed-4663-983c-6a1a8db60887",
   "metadata": {},
   "source": [
    "### RT ~ Condition: log_rt ~ Condition + (1 | Participant)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "deee7b3a-f13d-4de5-af4e-7e810a4783ae",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Check DV:\n",
      "correct\n",
      "1    14654\n",
      "0     4642\n",
      "Name: count, dtype: int64\n",
      "\n",
      "Check Conditions:\n",
      "condition\n",
      "no_notifications    6432\n",
      "regular             6432\n",
      "irregular           6432\n",
      "Name: count, dtype: int64\n",
      "                                           Binomial Mixed GLM Results\n",
      "=================================================================================================================\n",
      "                                                                   Type Post. Mean Post. SD   SD  SD (LB) SD (UB)\n",
      "-----------------------------------------------------------------------------------------------------------------\n",
      "Intercept                                                             M     1.1587   0.0175                      \n",
      "C(condition, Treatment(reference='no_notifications'))[T.regular]      M     0.1956   0.0309                      \n",
      "C(condition, Treatment(reference='no_notifications'))[T.irregular]    M     0.1186   0.0304                      \n",
      "participant                                                           V    -0.3809   0.0863 0.683   0.575   0.812\n",
      "=================================================================================================================\n",
      "Parameter types are mean structure (M) and variance structure (V)\n",
      "Variance parameters are modeled as log standard deviations\n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Mixed Model: Accuracy ~ Condition + (1 | Participant)\n",
    "# =========================\n",
    "\n",
    "from statsmodels.genmod.bayes_mixed_glm import BinomialBayesMixedGLM\n",
    "\n",
    "# --- Daten vorbereiten ---\n",
    "df_acc_model = df_trials.copy()\n",
    "\n",
    "# correct sauber binär (0/1)\n",
    "df_acc_model[\"correct\"] = pd.to_numeric(df_acc_model[\"correct\"], errors=\"coerce\")\n",
    "df_acc_model = df_acc_model[df_acc_model[\"correct\"].isin([0, 1])]\n",
    "df_acc_model[\"correct\"] = df_acc_model[\"correct\"].astype(int)\n",
    "\n",
    "# relevante Spalten sicherstellen\n",
    "df_acc_model = df_acc_model.dropna(subset=[\"correct\", \"condition\", \"participant\"])\n",
    "\n",
    "# Condition mit klarer Referenz\n",
    "df_acc_model[\"condition\"] = pd.Categorical(\n",
    "    df_acc_model[\"condition\"],\n",
    "    categories=[\"no_notifications\", \"regular\", \"irregular\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "# --- Sanity Check ---\n",
    "print(\"Check DV:\")\n",
    "print(df_acc_model[\"correct\"].value_counts())\n",
    "print(\"\\nCheck Conditions:\")\n",
    "print(df_acc_model[\"condition\"].value_counts())\n",
    "\n",
    "# --- Modell ---\n",
    "m_acc_condition = BinomialBayesMixedGLM.from_formula(\n",
    "    \"correct ~ C(condition, Treatment(reference='no_notifications'))\",\n",
    "    {\"participant\": \"0 + C(participant)\"},\n",
    "    df_acc_model\n",
    ")\n",
    "\n",
    "res_acc_condition = m_acc_condition.fit_vb()\n",
    "\n",
    "print(res_acc_condition.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "97fce5a0-174a-4463-9e7c-b938fa5b6238",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T-test: Notifications vs No Notifications\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>alternative</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>1.650082</td>\n",
       "      <td>66</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>0.103678</td>\n",
       "      <td>[-0.01, 0.06]</td>\n",
       "      <td>0.18744</td>\n",
       "      <td>0.484</td>\n",
       "      <td>0.327334</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof alternative     p-val          CI95%  cohen-d   BF10  \\\n",
       "T-test  1.650082   66   two-sided  0.103678  [-0.01, 0.06]  0.18744  0.484   \n",
       "\n",
       "           power  \n",
       "T-test  0.327334  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# T-Test: Notifications vs No Notifications\n",
    "# =========================\n",
    "\n",
    "# Mittelwert über regular + irregular bilden\n",
    "df_participant_wide[\"notifications_mean\"] = (\n",
    "    df_participant_wide[[\"regular\", \"irregular\"]].mean(axis=1)\n",
    ")\n",
    "\n",
    "# gepaarter t-test\n",
    "ttest_notif = pg.ttest(\n",
    "    df_participant_wide[\"notifications_mean\"],\n",
    "    df_participant_wide[\"no_notifications\"],\n",
    "    paired=True\n",
    ")\n",
    "\n",
    "print(\"T-test: Notifications vs No Notifications\")\n",
    "display(ttest_notif)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "9e559cea-b396-4f9a-9631-68ae872557a4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T-test: Regular vs Irregular\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>alternative</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>0.748012</td>\n",
       "      <td>66</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>0.45711</td>\n",
       "      <td>[-0.02, 0.05]</td>\n",
       "      <td>0.084622</td>\n",
       "      <td>0.175</td>\n",
       "      <td>0.104855</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof alternative    p-val          CI95%   cohen-d   BF10  \\\n",
       "T-test  0.748012   66   two-sided  0.45711  [-0.02, 0.05]  0.084622  0.175   \n",
       "\n",
       "           power  \n",
       "T-test  0.104855  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# T-Test: Regular vs Irregular\n",
    "# =========================\n",
    "\n",
    "ttest_reg_irreg = pg.ttest(\n",
    "    df_participant_wide[\"regular\"],\n",
    "    df_participant_wide[\"irregular\"],\n",
    "    paired=True\n",
    ")\n",
    "\n",
    "print(\"T-test: Regular vs Irregular\")\n",
    "display(ttest_reg_irreg)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc7be962-6b88-4a2c-b47e-200d7dfeb392",
   "metadata": {},
   "source": [
    "### Planned Comparisons: notification_present = 0 vs 1 + gepaarter t-test (participant-level!), Regular vs Irregular: auch t-test auf participant means"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "618cd8b0-28fe-4ec5-8650-d3b0420a8538",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>notification_present</th>\n",
       "      <th>participant</th>\n",
       "      <th>no_notification</th>\n",
       "      <th>notification</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>0.459677</td>\n",
       "      <td>0.250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>14312</td>\n",
       "      <td>0.741935</td>\n",
       "      <td>0.625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15899</td>\n",
       "      <td>0.887097</td>\n",
       "      <td>0.875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22599</td>\n",
       "      <td>0.858871</td>\n",
       "      <td>0.950</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23765</td>\n",
       "      <td>0.762097</td>\n",
       "      <td>0.850</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "notification_present participant  no_notification  notification\n",
       "0                          13351         0.459677         0.250\n",
       "1                          14312         0.741935         0.625\n",
       "2                          15899         0.887097         0.875\n",
       "3                          22599         0.858871         0.950\n",
       "4                          23765         0.762097         0.850"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Participant-level: Notification (0 vs 1)\n",
    "# =========================\n",
    "\n",
    "df_notif_participant = (\n",
    "    df_trials\n",
    "    .groupby([\"participant\", \"notification_present\"], observed=True)\n",
    "    .agg(\n",
    "        accuracy_mean=(\"correct\", \"mean\"),\n",
    "        log_rt_mean=(\"log_rt\", \"mean\")\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "# Wide format\n",
    "df_notif_wide = df_notif_participant.pivot(\n",
    "    index=\"participant\",\n",
    "    columns=\"notification_present\",\n",
    "    values=\"accuracy_mean\"\n",
    ").reset_index()\n",
    "\n",
    "# schöner benennen\n",
    "df_notif_wide = df_notif_wide.rename(columns={\n",
    "    0: \"no_notification\",\n",
    "    1: \"notification\"\n",
    "})\n",
    "\n",
    "display(df_notif_wide.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "552f7b94-e141-4e48-8935-d135d55536bd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T-test: Notification (trial-level) vs No Notification\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>alternative</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>-0.356838</td>\n",
       "      <td>66</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>0.722351</td>\n",
       "      <td>[-0.02, 0.02]</td>\n",
       "      <td>0.026081</td>\n",
       "      <td>0.143</td>\n",
       "      <td>0.055086</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof alternative     p-val          CI95%   cohen-d   BF10  \\\n",
       "T-test -0.356838   66   two-sided  0.722351  [-0.02, 0.02]  0.026081  0.143   \n",
       "\n",
       "           power  \n",
       "T-test  0.055086  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# T-Test: Notification (0 vs 1)\n",
    "# =========================\n",
    "\n",
    "ttest_notif_trial = pg.ttest(\n",
    "    df_notif_wide[\"notification\"],\n",
    "    df_notif_wide[\"no_notification\"],\n",
    "    paired=True\n",
    ")\n",
    "\n",
    "print(\"T-test: Notification (trial-level) vs No Notification\")\n",
    "display(ttest_notif_trial)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "4b10662f-48fc-4106-828c-dab76d6ade81",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "T-test: Regular vs Irregular\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>alternative</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>0.748012</td>\n",
       "      <td>66</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>0.45711</td>\n",
       "      <td>[-0.02, 0.05]</td>\n",
       "      <td>0.084622</td>\n",
       "      <td>0.175</td>\n",
       "      <td>0.104855</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof alternative    p-val          CI95%   cohen-d   BF10  \\\n",
       "T-test  0.748012   66   two-sided  0.45711  [-0.02, 0.05]  0.084622  0.175   \n",
       "\n",
       "           power  \n",
       "T-test  0.104855  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# T-Test: Regular vs Irregular\n",
    "# =========================\n",
    "\n",
    "# nur notification blocks\n",
    "df_reg_irreg = df_participant_wide.dropna(subset=[\"regular\", \"irregular\"])\n",
    "\n",
    "ttest_reg_irreg = pg.ttest(\n",
    "    df_reg_irreg[\"regular\"],\n",
    "    df_reg_irreg[\"irregular\"],\n",
    "    paired=True\n",
    ")\n",
    "\n",
    "print(\"T-test: Regular vs Irregular\")\n",
    "display(ttest_reg_irreg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "2f204ea9-49ff-4932-baf1-6cc9531ba236",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                         Mixed Linear Model Regression Results\n",
      "========================================================================================================================\n",
      "Model:                                    MixedLM                       Dependent Variable:                       log_rt\n",
      "No. Observations:                         19212                         Method:                                   REML  \n",
      "No. Groups:                               67                            Scale:                                    0.9588\n",
      "Min. group size:                          276                           Log-Likelihood:                           inf   \n",
      "Max. group size:                          288                           Converged:                                Yes   \n",
      "Mean group size:                          286.7                                                                         \n",
      "------------------------------------------------------------------------------------------------------------------------\n",
      "                                                                   Coef.   Std.Err.    z    P>|z|    [0.025     0.975]  \n",
      "------------------------------------------------------------------------------------------------------------------------\n",
      "Intercept                                                          -1.450 376739.754 -0.000 1.000 -738397.800 738394.899\n",
      "C(condition, Treatment(reference='no_notifications'))[T.regular]   -0.041      0.017 -2.344 0.019      -0.074     -0.007\n",
      "C(condition, Treatment(reference='no_notifications'))[T.irregular] -0.023      0.017 -1.305 0.192      -0.057      0.011\n",
      "Group Var                                                           0.000                                               \n",
      "========================================================================================================================\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/statsmodels/regression/mixed_linear_model.py:1634: UserWarning: Random effects covariance is singular\n",
      "  warnings.warn(msg)\n",
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/statsmodels/regression/mixed_linear_model.py:2054: UserWarning: The random effects covariance matrix is singular.\n",
      "  warnings.warn(_warn_cov_sing)\n",
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/statsmodels/regression/mixed_linear_model.py:2237: ConvergenceWarning: The MLE may be on the boundary of the parameter space.\n",
      "  warnings.warn(msg, ConvergenceWarning)\n",
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/statsmodels/regression/mixed_linear_model.py:2245: UserWarning: The random effects covariance matrix is singular.\n",
      "  warnings.warn(_warn_cov_sing)\n",
      "/Users/jennytoebe/Documents/UNI/MASTER/1. Semester/Applied CogSci/dividedattentionclub/dividedattentionclub/lib/python3.9/site-packages/statsmodels/regression/mixed_linear_model.py:2261: ConvergenceWarning: The Hessian matrix at the estimated parameter values is not positive definite.\n",
      "  warnings.warn(msg, ConvergenceWarning)\n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Mixed Model: logRT ~ Condition + (1 | Participant)\n",
    "# =========================\n",
    "\n",
    "# Daten vorbereiten\n",
    "df_rt_model = df_trials.copy()\n",
    "\n",
    "# nur valide RTs\n",
    "df_rt_model = df_rt_model.dropna(subset=[\"log_rt\", \"condition\", \"participant\"])\n",
    "\n",
    "# Condition sauber setzen\n",
    "df_rt_model[\"condition\"] = pd.Categorical(\n",
    "    df_rt_model[\"condition\"],\n",
    "    categories=[\"no_notifications\", \"regular\", \"irregular\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "# Modell\n",
    "m_rt_condition = smf.mixedlm(\n",
    "    \"log_rt ~ C(condition, Treatment(reference='no_notifications'))\",\n",
    "    data=df_rt_model,\n",
    "    groups=df_rt_model[\"participant\"]\n",
    ")\n",
    "\n",
    "res_rt_condition = m_rt_condition.fit(method=\"lbfgs\")\n",
    "\n",
    "print(res_rt_condition.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "cdf3087a-ed47-4913-a858-44afb2c7e0a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RT: Notification vs No Notification\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>alternative</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>7.271809</td>\n",
       "      <td>66</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>5.311816e-10</td>\n",
       "      <td>[0.15, 0.27]</td>\n",
       "      <td>0.515265</td>\n",
       "      <td>1.983e+07</td>\n",
       "      <td>0.985938</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof alternative         p-val         CI95%   cohen-d  \\\n",
       "T-test  7.271809   66   two-sided  5.311816e-10  [0.15, 0.27]  0.515265   \n",
       "\n",
       "             BF10     power  \n",
       "T-test  1.983e+07  0.985938  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# T-Test: RT Notification vs No Notification\n",
    "# =========================\n",
    "\n",
    "# participant-level (hast du schon: df_notif_participant)\n",
    "\n",
    "df_notif_rt = df_notif_participant.pivot(\n",
    "    index=\"participant\",\n",
    "    columns=\"notification_present\",\n",
    "    values=\"log_rt_mean\"\n",
    ").reset_index()\n",
    "\n",
    "df_notif_rt = df_notif_rt.rename(columns={\n",
    "    0: \"no_notification\",\n",
    "    1: \"notification\"\n",
    "})\n",
    "\n",
    "ttest_rt_notif = pg.ttest(\n",
    "    df_notif_rt[\"notification\"],\n",
    "    df_notif_rt[\"no_notification\"],\n",
    "    paired=True\n",
    ")\n",
    "\n",
    "print(\"RT: Notification vs No Notification\")\n",
    "display(ttest_rt_notif)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72a4c4d5-9b35-488c-b14a-351f8d9b3a3b",
   "metadata": {},
   "source": [
    "### Accuracy ~ notification_present + (1 | participant)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "e56ad6ee-185c-4d21-98f4-d43493d996c9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                    Binomial Mixed GLM Results\n",
      "===================================================================\n",
      "                     Type Post. Mean Post. SD   SD  SD (LB) SD (UB)\n",
      "-------------------------------------------------------------------\n",
      "Intercept               M     1.2643   0.0175                      \n",
      "notification_present    M    -0.0207   0.0467                      \n",
      "participant             V    -0.3822   0.0863 0.682   0.574   0.811\n",
      "===================================================================\n",
      "Parameter types are mean structure (M) and variance structure (V)\n",
      "Variance parameters are modeled as log standard deviations\n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Mixed Model: Accuracy ~ notification_present + (1 | participant)\n",
    "# =========================\n",
    "\n",
    "from statsmodels.genmod.bayes_mixed_glm import BinomialBayesMixedGLM\n",
    "\n",
    "# Daten vorbereiten\n",
    "df_acc_notif = df_trials.copy()\n",
    "\n",
    "# DV sauber\n",
    "df_acc_notif[\"correct\"] = pd.to_numeric(df_acc_notif[\"correct\"], errors=\"coerce\")\n",
    "df_acc_notif = df_acc_notif[df_acc_notif[\"correct\"].isin([0, 1])]\n",
    "df_acc_notif[\"correct\"] = df_acc_notif[\"correct\"].astype(int)\n",
    "\n",
    "# notification_present sauber\n",
    "df_acc_notif[\"notification_present\"] = pd.to_numeric(\n",
    "    df_acc_notif[\"notification_present\"], errors=\"coerce\"\n",
    ")\n",
    "\n",
    "# fehlende Werte entfernen\n",
    "df_acc_notif = df_acc_notif.dropna(\n",
    "    subset=[\"correct\", \"notification_present\", \"participant\"]\n",
    ")\n",
    "\n",
    "# Modell\n",
    "m_acc_notif = BinomialBayesMixedGLM.from_formula(\n",
    "    \"correct ~ notification_present\",\n",
    "    {\"participant\": \"0 + C(participant)\"},\n",
    "    df_acc_notif\n",
    ")\n",
    "\n",
    "res_acc_notif = m_acc_notif.fit_vb()\n",
    "\n",
    "print(res_acc_notif.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4c1b26ff-7b47-49d6-b553-6a9d0f2056d1",
   "metadata": {},
   "source": [
    "### Recognition ↔ RT: corr(recognition_accuracy, mean_rt_notifications)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "3c9aaaec-76b7-4111-9e96-114bd907ddad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>log_rt_notification</th>\n",
       "      <th>rt_notification</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>6.026035</td>\n",
       "      <td>827.027778</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>14312</td>\n",
       "      <td>5.048178</td>\n",
       "      <td>219.375000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15899</td>\n",
       "      <td>6.149131</td>\n",
       "      <td>587.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22599</td>\n",
       "      <td>5.017245</td>\n",
       "      <td>272.550000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23765</td>\n",
       "      <td>5.040008</td>\n",
       "      <td>230.775000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant  log_rt_notification  rt_notification\n",
       "0       13351             6.026035       827.027778\n",
       "1       14312             5.048178       219.375000\n",
       "2       15899             6.149131       587.400000\n",
       "3       22599             5.017245       272.550000\n",
       "4       23765             5.040008       230.775000"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Mean RT during notifications (participant-level)\n",
    "# =========================\n",
    "\n",
    "df_rt_notifications = (\n",
    "    df_trials[df_trials[\"notification_present\"] == 1]\n",
    "    .groupby(\"participant\", observed=True)\n",
    "    .agg(\n",
    "        log_rt_notification=(\"log_rt\", \"mean\"),\n",
    "        rt_notification=(\"rt\", \"mean\")\n",
    "    )\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "display(df_rt_notifications.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "2d94b63f-32e8-4ece-8b9d-34816b0684c7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>log_rt_notification</th>\n",
       "      <th>rt_notification</th>\n",
       "      <th>recognition_accuracy</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13351</td>\n",
       "      <td>6.026035</td>\n",
       "      <td>827.027778</td>\n",
       "      <td>63.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>14312</td>\n",
       "      <td>5.048178</td>\n",
       "      <td>219.375000</td>\n",
       "      <td>66.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15899</td>\n",
       "      <td>6.149131</td>\n",
       "      <td>587.400000</td>\n",
       "      <td>75.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22599</td>\n",
       "      <td>5.017245</td>\n",
       "      <td>272.550000</td>\n",
       "      <td>82.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23765</td>\n",
       "      <td>5.040008</td>\n",
       "      <td>230.775000</td>\n",
       "      <td>71.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant  log_rt_notification  rt_notification  recognition_accuracy\n",
       "0       13351             6.026035       827.027778                  63.0\n",
       "1       14312             5.048178       219.375000                  66.0\n",
       "2       15899             6.149131       587.400000                  75.0\n",
       "3       22599             5.017245       272.550000                  82.0\n",
       "4       23765             5.040008       230.775000                  71.0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Merge with recognition\n",
    "# =========================\n",
    "\n",
    "df_corr = df_rt_notifications.merge(\n",
    "    df_recognition_participant,\n",
    "    on=\"participant\",\n",
    "    how=\"inner\"\n",
    ")\n",
    "\n",
    "display(df_corr.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "ec5932d1-eb32-4742-9e15-a1051d54afbd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Correlation: Recognition ↔ RT (notifications)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>n</th>\n",
       "      <th>r</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>p-val</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>pearson</th>\n",
       "      <td>67</td>\n",
       "      <td>0.090233</td>\n",
       "      <td>[-0.15, 0.32]</td>\n",
       "      <td>0.467732</td>\n",
       "      <td>0.197</td>\n",
       "      <td>0.112405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          n         r          CI95%     p-val   BF10     power\n",
       "pearson  67  0.090233  [-0.15, 0.32]  0.467732  0.197  0.112405"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Correlation: Recognition ↔ RT (notifications)\n",
    "# =========================\n",
    "\n",
    "corr_res = pg.corr(\n",
    "    df_corr[\"recognition_accuracy\"],\n",
    "    df_corr[\"log_rt_notification\"],\n",
    "    method=\"pearson\"\n",
    ")\n",
    "\n",
    "print(\"Correlation: Recognition ↔ RT (notifications)\")\n",
    "display(corr_res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6655f4b0-d70e-4297-af95-477d20dc7519",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7NmzAcQuuez9999Hv3790KFDh6jf63Q6sWjRInz11VfYs2cPjh8/juzsbHTs2BFXX301Bg0aFDKUJdzv9LHHHsNjjz0W8J1qSpi58sorQ25w1q1bp32uegxEmniyZs0azJkzBxs3bkRpaSl4nkfLli1x8cUX469//WuNSUWbNm3C7NmzsXHjRhw9ehRerxc2mw2tWrVCz5498fe//x1NmjTRlg+33a+//rq2jer3i3S7jx49irlz52L58uU4ePAgKisrkZubi3PPPRf9+vXDFVdcEXa7/c+3gwYNwvPPP49Vq1ZhxowZ2LRpExwOB1q3bo3rrrsOI0aMgN1uD/mMw4cPa9e6P/74A06nE2azGS1btkTXrl0xfPhwnHbaaWHXny4oeCQAlODKX0FBQcgy6g/Zf4xkeXk51q5di7Vr1+LTTz/FW2+9hfz8/JD3fvLJJ5gwYULIOLKDBw/i4MGDWLRoEUaPHo37778/5L2rV6/GQw89hGPHjgU8f+zYMXz77bf49ttvMWPGDLz++uto0aJFyPvnz5+PJ554IqAb6I8//sBbb72FpUuXBlw467Jv3z489thjASc5t9uNlStX4ttvv8ULL7wQcOFNBEEQ8Nprr+Gdd94JSejYu3cv9u7dizlz5mDUqFG47777ag3+3G43br/9dqxatSrg+f/+97/473//i/Xr12PixIl1bhPP8xgwYADefPNNAMrfavXq1bjkkksCljt27FjAuq6++motcFy6dCkeeOCBkGOmsrISO3bswI4dOzB37lzMnDkTnTp1qnOb6sPj8WDfvn0Bz4U7xuJp5cqVuO+++wJakg4fPozZs2djyZIluPHGGxO2LatXr8bixYu139KJEyeQm5sb9eeUl5djyJAh2L59u/ac0+nEqlWrsGrVKtxzzz0YO3ZswHtkWcYzzzyDTz75JOD5bdu24amnnsJPP/0U0Eqsh81mg8PhAAB4vV48++yzmDFjRlSfsX37dowbNw579+4NeP748ePa9/zggw8wderUOitjJIPX68XTTz+NL774IuS1kpISlJSU4LPPPsMrr7wSEux/8skneOaZZ0LOR6dOncL27duxfft2zJs3Dx999BHatm0b821fvHgxnnzySVRWVgY8f+jQIRw6dAhLlizBpZdeildeeUU739RkypQp2nlMtXv3bkydOhVLly7Fp59+GjAG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+fMDWg4nTJiAq666CmazGXa7Hffffz+6dOmCzp07Y8CAAQE3mI899hjmzp2LF154Ac8//zx69eoFjuPA8zy6dOkScENZ09j6+lqwYAEqKiq0x8OHD8ddd92lJQmde+65eOuttwJaMmfOnFlrZvuECRO0c6rdbsfjjz8ekHTkf5wG98aZTCatcSQnJwcPP/wwJk+ejM8//xwbNmwIaHhJNzTmkaBp06Z48MEHcdVVVwW0UqmC7/oKCgpCire2b99eO/lt374dbrcbZrM5pIszXJLII488gkceeSTk+R9++CHg8e233x6yjNVqxa233orJkycDUAqf//LLL/jLX/6Cbdu2BZwAr7322pBu4ubNm+PSSy8NCGpqc9VVV4UENsHJRuGCj3jxb3Fr27Zt2P171VVXoW3btlrX0po1ayBJUtixj2effXbImNXg7xdJt7zqyiuvRF5enhbQL1y4EP369QMQ2OpoMBjQv39/7fGFF16I7OxsLWC47777kJOTgwsuuADnn38+unbtit69e4ft8oylSy65BH//+9/RvXv3sMk+8fTHH38E3LT93//9X0ArN6BcnK655hq89957CdmmDh06hB3THK2LL744pCuytuNs27ZtAa+F6yq/6qqr0KRJk5gGJA8++CCWL1+ufebs2bMxcODAWt8TfN4aOXJkSHcnYwwjR47EAw88oD23evXqgJvwZPI/bxuNRlx66aUhy4QbQgAox2Tnzp214LiyshK//fYbNm/ejLVr1wbc0Md6uEkk14z8/Hz07dsXn376KQClkWHr1q0477zzQpbleT4kscZoNKJ169baMel/nBYXF6OoqEhr9HjppZfw+uuva+et888/H1dffXXIdSgdUfCYIdQsPYfDgZ07d2LSpElaUFhWVoY5c+bUmH0WPN6wrrslr9eLAwcOoEOHDlrQoGrWrFnE2xyceRd8canp+UOHDgEIvautqdZeNJmzzZs3D3kuuOUyuEU3XsrKygK6gWvaP+pravDocrlQXl4eNrkg3PcLvshHM8uK0WjEgAEDtK6h1atX4+jRo8jNzQ3oorrssssCjo1GjRrh3//+N8aNG6eNOSwvL8eyZcuwbNkyAEDjxo1x7bXXYtSoUbpa38aOHYu77roLFRUV+O677zBhwgQtaFu1ahW6dOmCHj161Pvz68u/BQWo+fjV2/IYzfEai8AR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jz5Cv3790KpVK1gsFphMJrRt2xa33XYbFi5cWGNJk1tvvRULFy7ELbfcgrZt22rvLSwsxA033ICPP/4Y9913X9j3XnnllVi8eDEef/xxXHDBBWjWrBmMRiOaNWuGK664AlOmTMGHH35Y4xy7/fv3x8cff4xrrrkGTZs2hdlsRnFxMR577DG89957ISc6/26PeDMajXj//fdxzTXXIDs7W9snV155ZcTjfUwmE8aPH4+5c+di+PDhOP3005GVlQWr1Yq2bdtq+/6uu+6K87epXdu2bdG9e3ftcZMmTULmxPXXtWtXLFmyBPfffz/OP/985OTkgOd5WCwWFBUVoW/fvvjggw/w3HPPxS34Cdd9/fvvv0c8A1AsnHfeeVi4cCGGDh2Kli1bwmg0orCwEH/961+xaNGigOA2nKKiIsybNw9DhgxBQUGBdozdcsstWLhwIS677LIEfRP91OLwXbt2hd1uh81mwwUXXID//Oc/uO+++0ICm3gYP358ROeI888/H19++SUmTJiASy65BAUFBTAajWjatCkuvvhiTJgwAfPmzauxVNjUqVPRv39/NG3aFEajEfn5+ejdu3fCyt4YjUZMnDgR06dPx7XXXov8/HwYjUZYrVYUFxdjxIgRWLRoUchvuEePHvjkk0/Qq1cv5OTkwGAwICcnBxdffDFeffVVfPjhhwHd08EZx//85z8xbNgwbX15eXm47LLLokq0GTx4MJYsWYL77rsP5557rrYPCwoKcN111+G9997D1KlTQ8YEx0KHDh3w1Vdf4cknn8RFF12E3NxcGAwGmM1mFBYW4pprrsHrr7+ON998M6HXmlhjcir3VRCi008//YRGjRohNzcXeXl5YX+s999/vzbtl9lsxq+//poWLTGEZAo1ESMvLw+5ublaMBDskksu0UpAXXLJJQkrnk5IpqExj6RBe/bZZwMSK0aMGIFx48bBarWiqqoKK1euDMgAP+ussyhwJCTFVFVVYdSoUdpjxhgmT56M3r17g+d5lJaWYsaMGQG1Q1NlthZCGiJqeSQN2vPPP4+ZM2eGPG8ymcIWR54yZUq95+slhMTPjTfeiB07dgQ8p86ZHDyezWQyYenSpSlVO5GQhoSaWEiDdu+994bNLg4XOA4bNowCR0JS1EsvvRQyrlmSpLCB4wsvvECBIyFxRC2PpMETBAFffvklli1bhl27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",
      "text/plain": [
       "<Figure size 720x540 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Plot\n",
    "# =========================\n",
    "\n",
    "plt.figure(figsize=(6, 4.5))\n",
    "\n",
    "sns.regplot(\n",
    "    data=df_corr,\n",
    "    x=\"recognition_accuracy\",\n",
    "    y=\"log_rt_notification\",\n",
    "    scatter_kws={\"alpha\": 0.7}\n",
    ")\n",
    "\n",
    "plt.xlabel(\"Recognition Accuracy (%)\")\n",
    "plt.ylabel(\"Log Reaction Time (Notifications)\")\n",
    "plt.title(\"Recognition vs RT during Notifications\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0797c071-7a2f-47f8-86c9-67f74c9f58b5",
   "metadata": {},
   "source": [
    "### Accuracy ~ Condition + ScreenTime + (1 | Participant) && corr(ScreenTime, accuracy_notifications)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "f7449bb1-bfb9-4b8a-9f22-1ec367227563",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  participant screentime  screentime_num\n",
      "0      OTMA27       4to6               4\n",
      "1      HUMA30       4to6               4\n",
      "2      DEOF26       1to2               2\n",
      "3       28376       1to2               2\n",
      "4       13351       2to4               3\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>participant</th>\n",
       "      <th>condition</th>\n",
       "      <th>screentime</th>\n",
       "      <th>screentime_num</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>4to6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>4to6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>4to6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>4to6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>OTMA27</td>\n",
       "      <td>no_notifications</td>\n",
       "      <td>4to6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  participant         condition screentime  screentime_num\n",
       "0      OTMA27  no_notifications       4to6               4\n",
       "1      OTMA27  no_notifications       4to6               4\n",
       "2      OTMA27  no_notifications       4to6               4\n",
       "3      OTMA27  no_notifications       4to6               4\n",
       "4      OTMA27  no_notifications       4to6               4"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Build demo dataframe with participant\n",
    "# =========================\n",
    "\n",
    "demo_rows = []\n",
    "\n",
    "for participant in real_data:\n",
    "    trials = json.loads(participant[\"json_data\"])\n",
    "\n",
    "    participant_id = None\n",
    "    for t in trials:\n",
    "        if t.get(\"participant_id\") is not None:\n",
    "            participant_id = t.get(\"participant_id\")\n",
    "            break\n",
    "\n",
    "    first_trial = trials[0]\n",
    "\n",
    "    demo_rows.append({\n",
    "        \"participant\": participant_id,\n",
    "        \"age_range\": first_trial.get(\"demo_age_range\"),\n",
    "        \"gender\": first_trial.get(\"demo_gender\"),\n",
    "        \"german_level\": first_trial.get(\"demo_german_level\"),\n",
    "        \"education\": first_trial.get(\"demo_education\"),\n",
    "        \"program\": first_trial.get(\"demo_program\"),\n",
    "        \"semester\": first_trial.get(\"demo_semester\"),\n",
    "        \"vision\": first_trial.get(\"demo_vision\"),\n",
    "        \"handedness\": first_trial.get(\"demo_handedness\"),\n",
    "        \"screentime\": first_trial.get(\"demo_screentime\")\n",
    "    })\n",
    "\n",
    "df_demo = pd.DataFrame(demo_rows)\n",
    "\n",
    "# ordinal coding for screentime\n",
    "screentime_map = {\n",
    "    \"under1\": 1,\n",
    "    \"1to2\": 2,\n",
    "    \"2to4\": 3,\n",
    "    \"4to6\": 4,\n",
    "    \"6to8\": 5,\n",
    "    \"over8\": 6\n",
    "}\n",
    "\n",
    "df_demo[\"screentime_num\"] = df_demo[\"screentime\"].map(screentime_map)\n",
    "\n",
    "print(df_demo[[\"participant\", \"screentime\", \"screentime_num\"]].head())\n",
    "\n",
    "# merge into trial-level dataframe\n",
    "df_trials = df_trials.merge(\n",
    "    df_demo[[\"participant\", \"screentime\", \"screentime_num\"]],\n",
    "    on=\"participant\",\n",
    "    how=\"left\"\n",
    ")\n",
    "\n",
    "display(df_trials[[\"participant\", \"condition\", \"screentime\", \"screentime_num\"]].head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "91ac2ee4-fd88-4531-8595-4cad208f4924",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                           Binomial Mixed GLM Results\n",
      "=================================================================================================================\n",
      "                                                                   Type Post. Mean Post. SD   SD  SD (LB) SD (UB)\n",
      "-----------------------------------------------------------------------------------------------------------------\n",
      "Intercept                                                             M     0.9426   0.0175                      \n",
      "C(condition, Treatment(reference='no_notifications'))[T.regular]      M     0.1955   0.0309                      \n",
      "C(condition, Treatment(reference='no_notifications'))[T.irregular]    M     0.1185   0.0304                      \n",
      "screentime_num                                                        M     0.0547   0.0043                      \n",
      "participant                                                           V    -0.3842   0.0863 0.681   0.573   0.809\n",
      "=================================================================================================================\n",
      "Parameter types are mean structure (M) and variance structure (V)\n",
      "Variance parameters are modeled as log standard deviations\n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Mixed Model: Accuracy ~ Condition + ScreenTime + (1 | Participant)\n",
    "# =========================\n",
    "\n",
    "from statsmodels.genmod.bayes_mixed_glm import BinomialBayesMixedGLM\n",
    "\n",
    "df_acc_screen = df_trials.copy()\n",
    "\n",
    "df_acc_screen[\"correct\"] = pd.to_numeric(df_acc_screen[\"correct\"], errors=\"coerce\")\n",
    "df_acc_screen = df_acc_screen[df_acc_screen[\"correct\"].isin([0, 1])]\n",
    "df_acc_screen[\"correct\"] = df_acc_screen[\"correct\"].astype(int)\n",
    "\n",
    "df_acc_screen = df_acc_screen.dropna(\n",
    "    subset=[\"correct\", \"condition\", \"participant\", \"screentime_num\"]\n",
    ").copy()\n",
    "\n",
    "df_acc_screen[\"condition\"] = pd.Categorical(\n",
    "    df_acc_screen[\"condition\"],\n",
    "    categories=[\"no_notifications\", \"regular\", \"irregular\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "m_acc_screen = BinomialBayesMixedGLM.from_formula(\n",
    "    \"correct ~ C(condition, Treatment(reference='no_notifications')) + screentime_num\",\n",
    "    {\"participant\": \"0 + C(participant)\"},\n",
    "    df_acc_screen\n",
    ")\n",
    "\n",
    "res_acc_screen = m_acc_screen.fit_vb()\n",
    "print(res_acc_screen.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "f0c925d4-001a-4cca-a91b-2f61082c2e13",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Correlation: Screen Time ↔ Accuracy during Notifications\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>n</th>\n",
       "      <th>r</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>p-val</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>pearson</th>\n",
       "      <td>67</td>\n",
       "      <td>0.176072</td>\n",
       "      <td>[-0.07, 0.4]</td>\n",
       "      <td>0.154085</td>\n",
       "      <td>0.412</td>\n",
       "      <td>0.299123</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          n         r         CI95%     p-val   BF10     power\n",
       "pearson  67  0.176072  [-0.07, 0.4]  0.154085  0.412  0.299123"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =========================\n",
    "# Correlation: ScreenTime ↔ Accuracy during Notifications\n",
    "# =========================\n",
    "\n",
    "df_acc_notifications = (\n",
    "    df_trials[df_trials[\"notification_present\"] == 1]\n",
    "    .groupby(\"participant\", observed=True)\n",
    "    .agg(accuracy_notification=(\"correct\", \"mean\"))\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "df_screen_corr = df_acc_notifications.merge(\n",
    "    df_demo[[\"participant\", \"screentime\", \"screentime_num\"]],\n",
    "    on=\"participant\",\n",
    "    how=\"inner\"\n",
    ")\n",
    "\n",
    "corr_screen_acc = pg.corr(\n",
    "    df_screen_corr[\"screentime_num\"],\n",
    "    df_screen_corr[\"accuracy_notification\"],\n",
    "    method=\"pearson\"\n",
    ")\n",
    "\n",
    "print(\"Correlation: Screen Time ↔ Accuracy during Notifications\")\n",
    "display(corr_screen_acc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "9a92b261-3999-450d-9315-dfce16e2ffaa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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95tnjGnnRyuW58yZgzfffFM3lhhjOiOKLMt44oknsHXrVm3biRMncP/99+tEZqR50Ol06tziAu0OJhD4E/p5qmPbtm24+eabw0Rm6He/Y8cOTJo0CSdOnKjyvXbt2oUnnngCkiSBMRbWhmPHjuGNN97QbXvkkUfCRGbotTnneOSRR3RGrVggoRkjM2fO1JnPgzl06BAWL16Me+65B2effTaeeuqpMLEBqDf4HTt2aK9PO+00fPbZZ9i+fTu++eYb/P3vf9f27d27F8uWLauyPc2bN9fe78MPP9SsaEuWLNEFvpx77rlYtWoVduzYgYULF6JHjx7avpdfflnnFvDuu+/qBMLIkSOxfv16bNu2De+//77uieqZZ56pMqUG5xxlZWWYMGECNmzYgB07dmDWrFm6Semvv/7CsWPHqvx8DYXP50OPHj2wePFi7NixA0uXLtVZQpxOJ4xGI6ZPn47ffvsN33zzjW5JxuFwYPv27drrTZs26UT5aaedhiVLlmDHjh1YsWKF7gHmgw8+iDo9yNixY3UTYujy5q5du3STw5gxY7SJ9+uvv9a2d+7cGUuXLsXOnTuxY8cO/O9//9P9zj///POwp/2aWLhwoe715ZdfDkB1LWnWrJm2fevWrVV+3hdeeAHl5eXa6yuvvBLr1q3Dzp078emnnyI3N1fbt2jRIt3v9plnntE9pN100034/vvvsX37drz//vvIysrS9s2ePTviWK0rOnXqhJUrV2Lbtm2YNWuWlmPwgw8+0CwPZrMZr7/+Onbs2IEdO3bgo48+0n1PoSKgtvNInz590L17d23fihUrdDdnr9eLtWvXaq///ve/o0WLFlF9zrlz56K4uFh73bFjR8ybNw/btm3DunXrcOWVV0b1PnVJ37598d133+HXX3/Ff//731qtoJSWluLkk0/Gxx9/jO3bt2PdunVhlq2NGzdq/+ac44UXXtDtHzFiBNatW4cdO3Zg/vz5aN++PVwuV+0+VASmTZsGi8WivX7zzTe11Y6amDFjBvLz87XXAwcOxPLly7Fjxw58//33mDhxorbP6/XigQce0H63X3zxBZYvX657v1tvvRW//PJLVMGX77zzDn755Rf069dP29auXTvt/CeeeKLG9zhx4oTuYdhms2HGjBn46aef8Ntvv2HatGnavKcois51aNGiRaioqNBeP/nkk9i2bRt2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rl14/PHHtf2ccy0Cv2vXrjpXlY0bN2L69OkoLCyEoijYsmWLLseh0WjUVVIJDuwqKirS+Zzu2rWrTsr8hS4Bf/755/j111/BOcf+/ftx9913h03qwefUxTwyevRoTSRUVFRoKy+x5M4MZvjw4bo23Xbbbfjll1/AOdcCIwNBCVUR/N3/9ttvuoCm77//Hm+99VbM7apvevbsqfOr+/HHH/Hwww+joKAAHo8Ha9euxT//+c+EtuHaa69F7969azyuZcuWuuCZY8eO4bbbbtP66fjx43jqqad0UeY9evTQueKELtfu2bOn1qKkNlxyySU6P8Q33ngDCxYsgN1uh9frxccff6xzJerevbv2UBdsNd+wYQO+/fZbKIqCY8eOYfr06bqVSSDc9SP4s+fl5cHtduPo0aM11n4H1NXGYH/S1atX46mnntLm77179+K2227TGXPGjBlTrc93LOzbt08zNm3fvh333Xcftm3bBlmWIUkSfv311zCjWW3iSmjpPAZOO+00TJ48Ge+//7627dNPP8Wnn34KURShKEpE35wHHnhA59s2ZswYLFq0SItM3LNnD66++mrdcneAzp07hwVxRMP48ePx6aefapPF1q1bceWVV0a8xoABA3STxu23344vv/xSW9JbvXo1Vq9eHfHcUaNGhT0BEuEMGzYMgwcP1qKI9+zZg/Hjx9dpnwcmrdCArkjvZbVacdddd+GZZ54BoE6ejz76KB599FEYjcawyTRQ1acmQoOAavocAwYMQLdu3bTfaVlZmS4o6N5778WGDRu0JcBABaVI39uVV16ps+Q/8sgjuO6667TPsmDBAixYsCDiuVOmTNEtv/3973/XPSz+61//wjvvvANRFJGXlwfOeVg1llhp0aIFTjrpJG2psqSkBNdcc03E9gUoLy/Xsh/UxTzSrl07nHXWWWGRtbHkzgzmmmuuwUcffaQJjP3792PcuHG6NtlsNrhcrir9GP/+979rvwdFUXDjjTeie/fu8Hg8OHDgAARBgNlsTspsFcHcd999uOOOO7TXixcvxuLFiyEIgmb5ijTW6gpBEDB9+nSMHTu2RkvbtGnT8PPPP2tzx+bNm3H55ZdHbJ/NZsNzzz2ns2JmZWXBarVqDzZr1qzB6aefrkVI15UwqormzZvj//7v/7QHQI/Hg+nTp+OJJ54AY0z3+RljuO+++7TX/fr108SU2+3GLbfcUuMYDCY4W8iOHTvQt29fKIqCxYsX61YdImE0GvHcc89hypQp2vXmz5+P+fPnR/zuu3fvrmt7vFx++eWYO3euNof88ccfWm5mznnY7+a8886rMo94dZBFM0Yeeugh3HTTTWFLBbIsh02caWlpmD59etgN2mQy4c033wx72gz9YXfo0AGzZs2KKgAjFJPJhPfeey+sbGboNc4444ywSgEtWrTAe++9F+Y/EnruBRdcgOnTp8fctqbKa6+9FpZDMPQ77dSpE+bOnVsr3zKDwaDLkwmovnwXXXRRxOMnT56MW2+9NcynJ3RyS0tLw8svv1xl5GyAvXv36paU27RpE5U1fty4cbrXwcvnHTt2xOzZs8NET+j3ds455+ism4C6nPbSSy+FRQdHeliaOnWqbtvVV18dlhZn3759mgD6xz/+ETG4L1Yee+yxMPeB4PaF3qiCl1rrah4JdasAYgsCCsZqteKtt94KuxkFi8xXXnml2iXtW2+9Vfdb45xjz549OHDgAIxGI5544olqcwsnC0OHDsX//d//hW0P3LyvvPJKLbcskJhl/t69e+uWPquiTZs2mDt3btjvLXQuyMnJwdy5c8PSVomiGJZSKPA56ys6/YYbbtDlEQUQJpYMBgMee+wxXbqxBx54ICxorLoxGFodJ3R+DVyvusjwYAYPHozXXnstzM809Lvv168f5s6dW2cBboDab1XNIaEi84wzzqj1Sg5ZNGOEMYb7778fV111FRYvXoyffvoJ+/fvh91uh9FoRFZWFjp37ozBgwfjqquuCsu9GKBNmzb4+OOP8dlnn+GLL77A7t27UVFRAavVim7dumHYsGEYP358VCW8qiI7OxtLlizBp59+ilWrVmHPnj0oKyuD1WpF9+7dcfnll+Pqq6+OKGpOPvlkfPXVV/jwww+xdu1a7N+/HxUVFUhPT8epp56KK6+8EldccUVSRx4mG+np6fjggw/w+eef44svvsDOnTtRWloKo9GIk046CRdeeCGuu+66uCaSsWPHYtasWdpDzxVXXFFtZOO9996Liy66CB9//DF++uknHD16FB6PB2lpaejUqRPOPvtsjB8/Pqobe6jv3VVXXRVWxi0SI0eOxAsvvKBZQ3755Rfs2bNHy2t35plnYsWKFfjggw/w9ddf48CBA3C73cjKytJ+i4HSq6EMGzYMX331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",
      "text/plain": [
       "<Figure size 720x540 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(6, 4.5))\n",
    "\n",
    "sns.regplot(\n",
    "    data=df_screen_corr,\n",
    "    x=\"screentime_num\",\n",
    "    y=\"accuracy_notification\",\n",
    "    scatter_kws={\"alpha\": 0.7}\n",
    ")\n",
    "\n",
    "plt.xlabel(\"Screen Time (1 = under1, 6 = over8)\")\n",
    "plt.ylabel(\"Accuracy during Notifications\")\n",
    "plt.title(\"Screen Time vs Accuracy during Notifications\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6a0d842-6a67-454b-8af1-b76344e51f63",
   "metadata": {},
   "source": [
    "### Accuracy ~ Position (before/during/after)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "3165f5cf-7d2d-4209-aed5-f82f61558f61",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                               Binomial Mixed GLM Results\n",
      "=========================================================================================================================\n",
      "                                                                           Type Post. Mean Post. SD   SD  SD (LB) SD (UB)\n",
      "-------------------------------------------------------------------------------------------------------------------------\n",
      "Intercept                                                                     M     1.3620   0.0286                      \n",
      "C(position_relative_notification, Treatment(reference='before'))[T.during]    M    -0.0986   0.0471                      \n",
      "C(position_relative_notification, Treatment(reference='before'))[T.after]     M    -0.2136   0.0485                      \n",
      "participant                                                                   V    -0.2904   0.0863 0.748   0.629   0.889\n",
      "=========================================================================================================================\n",
      "Parameter types are mean structure (M) and variance structure (V)\n",
      "Variance parameters are modeled as log standard deviations\n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Accuracy ~ Position (before / during / after)\n",
    "# =========================\n",
    "\n",
    "from statsmodels.genmod.bayes_mixed_glm import BinomialBayesMixedGLM\n",
    "\n",
    "df_pos_model = df_trials.copy()\n",
    "\n",
    "# nur relevante Trials\n",
    "df_pos_model = df_pos_model[\n",
    "    df_pos_model[\"position_relative_notification\"].isin([\"before\", \"during\", \"after\"])\n",
    "].copy()\n",
    "\n",
    "# DV sauber\n",
    "df_pos_model[\"correct\"] = pd.to_numeric(df_pos_model[\"correct\"], errors=\"coerce\")\n",
    "df_pos_model = df_pos_model[df_pos_model[\"correct\"].isin([0, 1])]\n",
    "df_pos_model[\"correct\"] = df_pos_model[\"correct\"].astype(int)\n",
    "\n",
    "# NA entfernen\n",
    "df_pos_model = df_pos_model.dropna(\n",
    "    subset=[\"correct\", \"position_relative_notification\", \"participant\"]\n",
    ")\n",
    "\n",
    "# Referenz = BEFORE (wichtig für Interpretation!)\n",
    "df_pos_model[\"position_relative_notification\"] = pd.Categorical(\n",
    "    df_pos_model[\"position_relative_notification\"],\n",
    "    categories=[\"before\", \"during\", \"after\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "# Modell\n",
    "m_acc_position = BinomialBayesMixedGLM.from_formula(\n",
    "    \"correct ~ C(position_relative_notification, Treatment(reference='before'))\",\n",
    "    {\"participant\": \"0 + C(participant)\"},\n",
    "    df_pos_model\n",
    ")\n",
    "\n",
    "res_acc_position = m_acc_position.fit_vb()\n",
    "\n",
    "print(res_acc_position.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "8d46d079-6b34-4682-b431-4928bc756566",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "T-test: BEFORE vs DURING\n",
      "               T  dof alternative     p-val          CI95%   cohen-d   BF10  \\\n",
      "T-test  1.488093   66   two-sided  0.141489  [-0.01, 0.04]  0.121033  0.382   \n",
      "\n",
      "          power  \n",
      "T-test  0.16431  \n",
      "\n",
      "T-test: BEFORE vs AFTER\n",
      "               T  dof alternative     p-val         CI95%   cohen-d   BF10  \\\n",
      "T-test  3.170029   66   two-sided  0.002312  [0.01, 0.06]  0.252484  12.17   \n",
      "\n",
      "           power  \n",
      "T-test  0.530555  \n",
      "\n",
      "T-test: DURING vs AFTER\n",
      "               T  dof alternative     p-val         CI95%   cohen-d   BF10  \\\n",
      "T-test  1.761921   66   two-sided  0.082713  [-0.0, 0.04]  0.126475  0.577   \n",
      "\n",
      "           power  \n",
      "T-test  0.175116  \n"
     ]
    }
   ],
   "source": [
    "# =========================\n",
    "# Participant-level means für Position\n",
    "# =========================\n",
    "\n",
    "df_pos_participant = (\n",
    "    df_pos_model\n",
    "    .groupby([\"participant\", \"position_relative_notification\"], observed=True)\n",
    "    .agg(acc_mean=(\"correct\", \"mean\"))\n",
    "    .reset_index()\n",
    ")\n",
    "\n",
    "df_pos_wide = df_pos_participant.pivot(\n",
    "    index=\"participant\",\n",
    "    columns=\"position_relative_notification\",\n",
    "    values=\"acc_mean\"\n",
    ").reset_index()\n",
    "\n",
    "# t-tests\n",
    "print(\"\\nT-test: BEFORE vs DURING\")\n",
    "print(pg.ttest(df_pos_wide[\"before\"], df_pos_wide[\"during\"], paired=True))\n",
    "\n",
    "print(\"\\nT-test: BEFORE vs AFTER\")\n",
    "print(pg.ttest(df_pos_wide[\"before\"], df_pos_wide[\"after\"], paired=True))\n",
    "\n",
    "print(\"\\nT-test: DURING vs AFTER\")\n",
    "print(pg.ttest(df_pos_wide[\"during\"], df_pos_wide[\"after\"], paired=True))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "81ab6f45-612b-4d10-bbad-ecfa48937c0d",
   "metadata": {},
   "source": [
    "### RT ~ Position (before/during/after)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "379dff6e-c523-4a03-9b68-d59e3a2227f1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                        Mixed Linear Model Regression Results\n",
      "======================================================================================\n",
      "Model:                       MixedLM          Dependent Variable:          log_rt     \n",
      "No. Observations:            7173             Method:                      REML       \n",
      "No. Groups:                  67               Scale:                       0.9312     \n",
      "Min. group size:             93               Log-Likelihood:              -10028.9073\n",
      "Max. group size:             114              Converged:                   Yes        \n",
      "Mean group size:             107.1                                                    \n",
      "--------------------------------------------------------------------------------------\n",
      "                                            Coef. Std.Err.    z    P>|z| [0.025 0.975]\n",
      "--------------------------------------------------------------------------------------\n",
      "Intercept                                   5.590    0.054 103.318 0.000  5.484  5.696\n",
      "C(position_relative_notification)[T.during] 0.293    0.028  10.419 0.000  0.238  0.348\n",
      "C(position_relative_notification)[T.after]  0.211    0.029   7.345 0.000  0.155  0.268\n",
      "Group Var                                   0.167    0.032                            \n",
      "======================================================================================\n",
      "\n"
     ]
    }
   ],
   "source": [
    "df_rt_pos = df_trials[\n",
    "    df_trials[\"position_relative_notification\"].isin([\"before\", \"during\", \"after\"])\n",
    "].copy()\n",
    "\n",
    "df_rt_pos = df_rt_pos.dropna(subset=[\"log_rt\"])\n",
    "\n",
    "df_rt_pos[\"position_relative_notification\"] = pd.Categorical(\n",
    "    df_rt_pos[\"position_relative_notification\"],\n",
    "    categories=[\"before\", \"during\", \"after\"],\n",
    "    ordered=True\n",
    ")\n",
    "\n",
    "model_rt_pos = smf.mixedlm(\n",
    "    \"log_rt ~ C(position_relative_notification)\",\n",
    "    data=df_rt_pos,\n",
    "    groups=df_rt_pos[\"participant\"]\n",
    ").fit()\n",
    "\n",
    "print(model_rt_pos.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f624dc2-01aa-4513-bde0-66b4178b9568",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.23"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
