From 79c41de4a7b8f8a1d6ef347846009876128b34f2 Mon Sep 17 00:00:00 2001 From: snoopy0328 <144743638+snoopy0328@users.noreply.github.com> Date: Wed, 12 Mar 2025 14:10:26 -0400 Subject: [PATCH] hw3 code --- HW02/posterior vs prior.png | Bin 0 -> 16275 bytes HW02/posterior vs sensitivity.png | Bin 0 -> 25518 bytes HW02/posterior vs specifity.png | Bin 0 -> 27916 bytes HW03/hw3.ipynb | 123 ++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 HW02/posterior vs prior.png create mode 100644 HW02/posterior vs sensitivity.png create mode 100644 HW02/posterior vs specifity.png create mode 100644 HW03/hw3.ipynb diff --git a/HW02/posterior vs prior.png b/HW02/posterior vs prior.png new file mode 100644 index 0000000000000000000000000000000000000000..252fbe1d744dfb781a9ded1f8b775ec6590ab524 GIT binary patch literal 16275 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 OAM%ftrL(1s{r(SLB_93& literal 0 HcmV?d00001 diff --git a/HW02/posterior vs sensitivity.png b/HW02/posterior vs sensitivity.png new file mode 100644 index 0000000000000000000000000000000000000000..36b38f890de74c2d1f77bfd11990a8c5f48c2963 GIT binary patch literal 25518 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 literal 0 HcmV?d00001 diff --git a/HW03/hw3.ipynb b/HW03/hw3.ipynb new file mode 100644 index 0000000..7c576c9 --- /dev/null +++ b/HW03/hw3.ipynb @@ -0,0 +1,123 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## HW3 Problem 3" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'numpy'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[1], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mplt\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;66;03m# Baseline parameters\u001b[39;00m\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'numpy'" + ] + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Baseline parameters\n", + "a = 2.0\n", + "beta = 0.5\n", + "tau = 0.5\n", + "scale = 1.0\n", + "max_time = 10.0\n", + "dt = 1e-3\n", + "num_sims = 2000\n", + "\n", + "# Vary drift rate\n", + "v_values = np.linspace(0.5, 1.5, 25)\n", + "mean_rt_upper = []\n", + "mean_rt_lower = []\n", + "\n", + "for v in v_values:\n", + " data = simulate_diffusion_n(num_sims, v, a, beta, tau, dt, scale, max_time)\n", + " mean_rt_upper.append(data[data[:, 1] == 1, 0].mean())\n", + " mean_rt_lower.append(data[data[:, 1] == 0, 0].mean())\n", + "\n", + "# Plot results\n", + "plt.figure(figsize=(8, 6))\n", + "plt.plot(v_values, mean_rt_upper, label='Upper Boundary (Correct)', color='maroon')\n", + "plt.plot(v_values, mean_rt_lower, label='Lower Boundary (Incorrect)', color='gray')\n", + "plt.xlabel('Drift Rate (v)')\n", + "plt.ylabel('Mean Response Time (s)')\n", + "plt.legend()\n", + "plt.title('Effect of Drift Rate on Mean RTs')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Vary boundary separation (a)\n", + "a_values = np.linspace(1.0, 3.0, 25)\n", + "mean_rt_upper = []\n", + "mean_rt_lower = []\n", + "std_rt_upper = []\n", + "std_rt_lower = []\n", + "\n", + "for a in a_values:\n", + " data = simulate_diffusion_n(num_sims, v, a, beta, tau, dt, scale, max_time)\n", + " mean_rt_upper.append(data[data[:, 1] == 1, 0].mean())\n", + " mean_rt_lower.append(data[data[:, 1] == 0, 0].mean())\n", + " std_rt_upper.append(data[data[:, 1] == 1, 0].std())\n", + " std_rt_lower.append(data[data[:, 1] == 0, 0].std())\n", + "\n", + "# Plot results\n", + "plt.figure(figsize=(12, 6))\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(a_values, mean_rt_upper, label='Upper Boundary (Correct)', color='maroon')\n", + "plt.plot(a_values, mean_rt_lower, label='Lower Boundary (Incorrect)', color='gray')\n", + "plt.xlabel('Boundary Separation (a)')\n", + "plt.ylabel('Mean Response Time (s)')\n", + "plt.legend()\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(a_values, std_rt_upper, label='Upper Boundary (Correct)', color='maroon')\n", + "plt.plot(a_values, std_rt_lower, label='Lower Boundary (Incorrect)', color='gray')\n", + "plt.xlabel('Boundary Separation (a)')\n", + "plt.ylabel('Standard Deviation of RT (s)')\n", + "plt.legend()\n", + "\n", + "plt.suptitle('Effect of Boundary Separation on RT Distributions')\n", + "plt.show()" + ] + } + ], + "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.13.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}