/PSYC-NEU-231

PSYC-NEU 231 Tools for Experimental Data Analysis

Primary LanguageJupyter Notebook

Erik Brockbank

Update 10.31.2018 - Today's class will cover an intro to machine learning

Update 10.24.2018 - tomorrow's class will cover non-parametric stats (randomization testing and bootstrapping)

Update 10.16.2018 - tomorrow's class will cover FFT and we'll analyze a few real EEG data sets

PSYC-NEU 231: Tools for Experimental Data Analysis

Instructors: John Serences and Timothy Sheehan

Time/Location: Weds 9-11:50am, Crick Conference Room (Mandler Hall Rm 3545, on the Muir Campus).

First class Oct 3rd, 2018

Course description

This course will introduce a set of commonly used data analysis methods implemented in Python using Jupyter Notebooks.

We'll start with a basic overview of Git and the Python programming language, followed by an intro to various packages that we'll be using (NumPy, SciPy, etc).

Then we'll learn how to implement some common analysis techniques such as bootstrapping and randomizaton tests, FFT, machine learning, mutual information, KDE, Bayesian models of perception and more.

Goal of the course

At the end of the course you should have a good working understanding of Python, a set of notebooks that cover each of the topic areas, and a Git repository that you can develop as you apply these methods to your own data in the lab.

Class time

Each week class time will be divided into an interactive lecture where we go over a topic and write some code together to demonstrate the functionality of a package (e.g. NumPy) or to learn an analysis technique (e.g. FFT). Then you will have the rest of class to work on a problem set related to the topics covered in the course. Most of these problem sets will be centered on analyzing real timeseries and behavioral data, much like you will encounter in a typical neuro/psych lab.

Tim and I will be in class to help you when you get stuck and by the end of class you should be familiar with a set of general analysis methods that can be adapted for use in your lab.

Grading

At the end of the quarter, you should have a GitHub repo with all of your work from the quarter. This repo will be your final project and will form the basis for your grade. Our expectation is that you will have all problem sets answered and organized.

Topics

  • 10.03.2018 Intro to Python (iPython), Jupyter Notebooks (environment, magics, markdown), intro to basics of the language (data types, data structures, control flow)

  • 10.10.2018 Intro to NumPy, advanced (and fancy) indexing, linear algebra

  • 10.17.2018 Fourier transforms, practice time-frequency analysis using EEG data sets

  • 10.24.2018 Intro to non-parametric statistics (randomization testing and bootstrapping)

  • 10.31.2018 Intro to machine learning/pattern recognition (Mahalanobis Distance and Support Vector Machines)

  • 11.07.2018 No Class (Society for Neuroscience meeting)

  • 11.14.2018 Pandas (series/dataframes), munging, basic stats

  • 11.21.2018 Entropy/Mutual Information/Kernel Density Estimation (KDE)

  • 11.28.2018 Filtering and time-series processing (including more advanced applications of the FFT)

  • 12.05.2018 Intro to Bayesian models of perceptual inference