Diff of /t-test.ipynb [000000] .. [49dbd7]

Switch to side-by-side view

--- a
+++ b/t-test.ipynb
@@ -0,0 +1,252 @@
+{
+ "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
+}