Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save narendramukherjee/d5ae49bbc69f57d5df1548a0122e1a44 to your computer and use it in GitHub Desktop.
Save narendramukherjee/d5ae49bbc69f57d5df1548a0122e1a44 to your computer and use it in GitHub Desktop.
Linear regression to get population measure of palatability
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import tables\n",
"from scipy.stats import pearsonr"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"hf5 = tables.open_file(\"NM47_500ms_160926_114420_repacked.h5\", \"r\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Just picking a binned array of spikes as an example\n",
"data = hf5.root.ancillary_analysis.unscaled_neural_response[:]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(271, 16, 128)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ideally you want this array to be arranged as time X neurons X laser conditions X taste X trials (or something like that). Here I will just assume that the number of trials (128) are just (32 X 4) and forget about laser conditions -> do it more correctly when you do"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(271, 16, 4, 32)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = data.reshape((271, 16, 4, 32))\n",
"data.shape"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"# Create an array with the palatabilities\n",
"# We drop the neuron axis (obviously)\n",
"palatability = np.zeros_like(data[:, 0, :, :])\n",
"palatability[:, 0, :] = 3\n",
"palatability[:, 1, :] = 4\n",
"palatability[:, 2, :] = 2\n",
"palatability[:, 3, :] = 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can do a jackknife like procedure, where we leave out 4 trials (one of each taste) everytime and train the model on the rest. We need to choose how many times we want to jackknife - let's say 10 for simplicity here"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"n_jackknife = 10"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Linear regression model\n",
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"# outer loop will run through time (271), inner loop will run through jackknife iterations (10)\n",
"predicted_palatability = []\n",
"real_palatability = []\n",
"for i in range(data.shape[0]):\n",
" # We make a new list of predicted and real palatabilities for each time point, and we group the jackknifes \n",
" # for each time point together\n",
" pred_p = []\n",
" real_p = []\n",
" for j in range(n_jackknife):\n",
" # Pick a trial number to be dropped - for simplicity, we will drop the same trial number for each taste\n",
" trial = np.random.choice([t for t in range(data.shape[-1])])\n",
" train_data = np.delete(data[i, :, :, :], trial, axis=-1)\n",
" train_palatability = np.delete(palatability[i, :, :], trial, axis=-1)\n",
" test_data = data[i, :, :, trial]\n",
" test_palatability = palatability[i, :, trial]\n",
" # Train model\n",
" model = LinearRegression()\n",
" # Input to the model has to be of shape n_samples x n_features, so we transpose the input\n",
" model.fit(train_data.reshape((train_data.shape[0], train_data.shape[1]*train_data.shape[2])).T, \n",
" train_palatability.reshape((train_palatability.shape[0]*train_palatability.shape[1])))\n",
" # Get predictions\n",
" # Again transpose the input to be in the right shape\n",
" predictions = model.predict(test_data.T)\n",
" # Append to the right arrays\n",
" pred_p += list(predictions)\n",
" real_p += [3, 4, 2, 1]\n",
" predicted_palatability.append(pred_p)\n",
" real_palatability.append(real_p)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(271, 40)"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Convert the predicted and real palatabilities to arrays\n",
"predicted_palatability = np.array(predicted_palatability)\n",
"real_palatability = np.array(real_palatability)\n",
"predicted_palatability.shape\n",
"real_palatability.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So, now we have for each time point (271) 10 sets of 4 trials each of predicted and real palatabilities. We can get the correlations between these set of 40 (for each time point) to see how \"well\" the model, trained on population activity, is predicting the right order of palatabilities"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"corr = []\n",
"for i in range(predicted_palatability.shape[0]):\n",
" # I am just taking the magnitude of correlation here, you can look at the p value (element [1]) if you \n",
" # want as well\n",
" corr.append(pearsonr(predicted_palatability[i, :], real_palatability[i, :])[0])"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"corr = np.array(corr)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [],
"source": [
"x = np.arange(0, 6751, 25) - 2000"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"indices = np.where((x>=-250)*(x<=2500))[0]"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Correlation between real palatabilities of 4 left out trials\\nPredicted palatabilities of the same trials')"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(x[list(indices)], corr[list(indices)])\n",
"plt.xlabel(\"Time\")\n",
"plt.ylabel(\"Correlation between real palatabilities of 4 left out trials\" + \"\\n\" + \n",
" \"Predicted palatabilities of the same trials\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment