[49dbd7]: / t-test.ipynb

Download this file

253 lines (252 with data), 5.9 kB

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from dataset import load_dataset, load_labels, split_data, format_labels\n",
    "from features import time_series_features, fractal_features, entropy_features, hjorth_features, freq_band_features\n",
    "import variables as v"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_type = \"ica_filtered\"\n",
    "test_type = \"Arithmetic\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset_ = load_dataset(data_type=data_type, test_type=test_type)\n",
    "dataset = split_data(dataset_, v.SFREQ)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "label_ = load_labels()\n",
    "label = format_labels(label_, test_type=test_type, epochs=dataset.shape[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute Features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# features = time_series_features(dataset)\n",
    "# freq_bands = np.array([1, 4, 8, 12, 30, 50])\n",
    "# features = freq_band_features(dataset, freq_bands)\n",
    "# features = fractal_features(dataset)\n",
    "features = hjorth_features(dataset)\n",
    "# features = entropy_features(dataset)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Split Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "stressed_data = features[np.where(label != 0)]\n",
    "non_stressed_data = features[np.where(label == 0)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Compute t-tests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "P = np.zeros(features.shape[1])\n",
    "for j, i in enumerate(range(features.shape[1])):\n",
    "    _, p = scipy.stats.ttest_ind(stressed_data[:, i], non_stressed_data[:, i])\n",
    "    P[j] = p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('display.max_rows', None)\n",
    "pd.set_option('display.max_columns', None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "               0\n",
      "0   8.565707e-09\n",
      "1   4.199706e-01\n",
      "2   9.243714e-04\n",
      "3   2.969316e-01\n",
      "4   7.612570e-03\n",
      "5   7.449619e-01\n",
      "6   9.528565e-02\n",
      "7   8.299859e-01\n",
      "8   6.632852e-01\n",
      "9   7.414754e-03\n",
      "10  5.860924e-05\n",
      "11  2.434920e-02\n",
      "12  1.278021e-01\n",
      "13  2.940169e-05\n",
      "14  7.768960e-07\n",
      "15  1.016899e-05\n",
      "16  1.985319e-02\n",
      "17  1.070608e-01\n",
      "18  5.213117e-06\n",
      "19  1.358506e-22\n",
      "20  1.255365e-18\n",
      "21  2.182334e-06\n",
      "22  3.866509e-08\n",
      "23  1.044755e-05\n",
      "24  4.995159e-03\n",
      "25  2.483783e-01\n",
      "26  4.591010e-05\n",
      "27  5.557755e-05\n",
      "28  5.001415e-04\n",
      "29  8.098234e-01\n",
      "30  1.842379e-01\n",
      "31  2.943885e-01\n",
      "32  1.492710e-02\n",
      "33  2.327972e-03\n",
      "34  3.122502e-06\n",
      "35  4.874759e-02\n",
      "36  6.426229e-01\n",
      "37  2.972795e-02\n",
      "38  8.022454e-03\n",
      "39  8.336686e-01\n",
      "40  4.752397e-01\n",
      "41  2.231969e-02\n",
      "42  2.065300e-04\n",
      "43  1.022721e-01\n",
      "44  8.809528e-01\n",
      "45  4.398541e-06\n",
      "46  1.541289e-07\n",
      "47  1.503279e-03\n",
      "48  8.190212e-01\n",
      "49  3.946622e-01\n",
      "50  1.518190e-02\n",
      "51  3.568426e-16\n",
      "52  8.320353e-16\n",
      "53  1.328597e-03\n",
      "54  2.122381e-04\n",
      "55  4.511848e-03\n",
      "56  1.170364e-02\n",
      "57  8.785522e-01\n",
      "58  7.475689e-04\n",
      "59  5.430692e-03\n",
      "60  7.998087e-02\n",
      "61  7.635854e-02\n",
      "62  8.381844e-03\n",
      "63  8.201117e-03\n"
     ]
    }
   ],
   "source": [
    "print(pd.DataFrame(P))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.9.7 ('init')",
   "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.7"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "6a0b16b431f91af56543167d2335ade6a4f69621936ac10d0388e1e58aabcd37"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}