Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Neural Data Science: A Primer with MATLAB® and Python™
Neural Data Science: A Primer with MATLAB® and Python™
Neural Data Science: A Primer with MATLAB® and Python™
Ebook652 pages10 hours

Neural Data Science: A Primer with MATLAB® and Python™

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

A Primer with MATLAB® and Python™ present important information on the emergence of the use of Python, a more general purpose option to MATLAB, the preferred computation language for scientific computing and analysis in neuroscience.

This book addresses the snake in the room by providing a beginner’s introduction to the principles of computation and data analysis in neuroscience, using both Python and MATLAB, giving readers the ability to transcend platform tribalism and enable coding versatility.

  • Includes discussions of both MATLAB and Python in parallel
  • Introduces the canonical data analysis cascade, standardizing the data analysis flow
  • Presents tactics that strategically, tactically, and algorithmically help improve the organization of code
LanguageEnglish
Release dateFeb 24, 2017
ISBN9780128040980
Neural Data Science: A Primer with MATLAB® and Python™
Author

Erik Lee Nylen

Erik Lee Nylen received his PhD from the Center for Neural Science at New York University, and his BSE and MS in Biomedical Engineering at the University of Iowa. He did a fellowship at Insight Data Science, and has taught at the Neural Data Science summer course at Cold Spring Harbor Laboratory. He is a patented inventor and has performed with numerous musical groups. He is currently a data scientist in New York, where he also is Executive Co-Director of The Stand, the New York City Dance Marathon.

Related to Neural Data Science

Related ebooks

Biology For You

View More

Related articles

Related categories

Reviews for Neural Data Science

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Neural Data Science - Erik Lee Nylen

    release.

    Part I

    Foundations

    Outline

    Chapter 1 Philosophy

    Chapter 2 From 0 to 0.01

    Chapter 1

    Philosophy

    Abstract

    In this chapter, we outline the current state of neuroscience and the need to integrate the emerging field of data science with neuroscience, yielding the field of neural data science. We detail how this new field contrasts with classic computational neuroscience and also give a brief history of data science, showing why it needs refinements to calibrate it to the special needs arising when handling neural data. We describe the role of neural data scientists in the neuroscience of the future and compare it to that of full-stack engineers. Finally, we justify covering both MATLAB and Python jointly in this book and explain why we did not deem it necessary to cover other languages.

    Keywords

    Neuroscience; data science; neural data science; data; Plato’s cave; information; Python; MATLAB; coding; computational neuroscience

    Before we get started—and perhaps even bogged down—with specific algorithms and how to implement them in code, we want to lay out how we conceptualize the emerging field of neural data science (NDS) as well as the relevant challenges within neuroscience that NDS can help address. This is important so as to not get lost in the random forest.

    What Is Data Science?

    The field of data science emerged in the early 21st century as a distinct scientific discipline. It can be thought of as a fusion of concepts from computer science, statistics, and machine learning in conjunction with the availability of both an abundance of data as well as sufficient computational power that allows for the implementation of these concepts on this data, in code. (Hilbert & López, 2011). Data science has plenty of historical antecedents that can be traced well into the 20th century. However, people that were doing data science then would be surprised to learn that they were doing so at the time—instead, they saw themselves as doing statistics (Tukey, 1977), working on problems of communication theory (Shannon, 1948), computational theories (Turing, 1938), or cryptanalysis (Good, 1979), to name just a few.

    The term data scientist (a practitioner of data science) was coined by Jeff Hammerbacher and D.J. Patil in 2008 (Watson, 2013). It has been pointed out that the term data science is somewhat unfortunate, as there is no science without data, in this sense every science is a data science (Wallisch, 2013, 2014). As will hopefully become clear shortly, neural metralogy would be a more suitable term. However, data science in the more narrow sense describes the relentless pursuit of understanding and explaining the structure of data, of making predictions from this understanding using any means necessary, mostly by using algorithms and principles from computer science, statistics, and machine learning. Data science explicitly transcends classical discipline boundaries, e.g., a biologist is usually only interested in data from biology, a chemist only interested in data relevant to questions in chemistry, and so on. In data science, the data themselves take center stage, within an explicitly data-centric framework. In its strong form, the source of the data does not matter, as data are data. The first time that a data scientist has been featured in popular fiction was, to our knowledge, in season 4 of the Netflix television show House of Cards, though individuals such as Nate Silver have prominently—if not always successfully—provided insights into data from tribalist entertainment media, in particular, sports and politics. As of 2016, data science is still rapidly growing and changing, but a consensus about its core concepts has now been established.

    What Is Neural Data Science?

    If the statements in our previous section are true (we believe they are), neural data science appears to be a contradiction in terms. How can one have a general data science that is deliberately indifferent about the source of its data but is at the same time bounded by neural data? This paradox can be resolved: not all data are created equal. In our view, the source of the data—which determines its structure and quality—does matter when it comes to the most suitable tools for its analysis. Similarly, the questions asked in a particular discipline frame the data recording in the first place, so we should not pretend that the data fell from the sky (or, rather, the cloud). In neuroscience, data are hard won by dedicated experimenters with specific questions; we should not pretend otherwise. Put differently, the principles of data science can be applied to neural data, but the structure of neural data is so rich that it frames the application and in fact might push the development of data science itself. Historically, mathematical frameworks were created to understand specific physical phenomena for instance, calculus was developed to understand planetary motion (Newton, 1687), Fourier analysis to understand the heat dispersion on a cannon muzzle (Fourier, 1822). We believe that the brain will be no different and require the development of genuinely new techniques suitable to capture the essential properties of neural data.

    Therefore, NDS is inherently interdisciplinary, bringing principles from data science to bear on neural data to answer questions that are neuroscientifically relevant.

    NDS is not unique in this regard, there have been attempts to frame other fields within a data science wrapper. Health data sciences for instance, which use principles from data science to solve problems in healthcare, using healthcare data.

    How Is Neural Data Science Different From Computational Neuroscience?

    As we believe that the source of the data matters—especially in neuroscience—we find appropriate the description of our venture as NDS. NDS differs from the late 20th century development of computational neuroscience (CN) insofar as CN is primarily concerned with using mathematical approaches to build—usually biophysically plausible—models of neural processes and to identify the computations corresponding to physiological processes (Marmarelis & Marmarelis, 1978). NDS transcends this framework as it is impartial to the methods used to uncover the structure of neural data and the predictions that can be made from it, but is not primarily concerned with biophysical plausibility.

    Data as Seen by Data Scientists Versus Data Seen by Neural Data Scientists

    A measurement process is a formal observation, assigning numbers to complex natural phenomena based on systematic rules (usually a theory of measurement). In contrast, data science presumes someone who just sent a picture or tweeted created data. In this sense, data science has a much broader definition of data. In addition to data resulting from measurement processes, data are any structured information, as evinced, for instance, by cell phone carrier data plans. No measurements are made, but information is transmitted, which is what you are paying for.

    What Is a Neural Data Scientist?

    A neural data scientist is a bold practitioner of NDS. Someone who both knows the methods necessary to log the data as well as the methods necessary to analyze, model, and understand it. They have domain expertise in a field of neuroscience, i.e., they know what the relevant questions and theories are, but their perspective is usually not confined to any particular subfield. In other words, the neural data scientist is a unicorn (at the time of this writing), but the purpose of this book is to jumpstart a dedicated unicorn breeding process to make them much more common.

    Why Do I Need to be Able to Write Computer Code?

    Coding skills are essential to the neural data scientist—as they are for any data scientist. Thinking things through and working out math problems by hand are good exercises, but the ability to translate thoughts and problems into meaningful computer language is of the highest importance. Coding skills demonstrate your ability to not just think through issues, but implement practical solutions to the oretical questions.

    As a neural data scientist, you are likely to be involved in the recording of the data. Recording data oftentimes means writing graphical user interfaces (GUIs), interacting with hardware, and understanding the computing machine itself. Pure data scientists have the luxury of blissful ignorance to all of this. You, the neural data scientist, do not have this luxury. You, the neural data scientist, must be a good programmer.

    What Is Neural Data?

    Neuroscience proper is concerned, as the name suggests, with the structure and behavior of neurons. Neuroscientists are people who study neurons. Neural data are data recorded from neurons.

    From systems as small as nanoscopic microtubules or as large as large groups (in neuroeconomics or social neuroscience).

    Can We Just Add Neuro to the Front of Anything?

    We are not the first to add neuro- to the front of a phrase, and we certainly won’t be the last to do so. Terms like neuroastronomy, neurogastronomy, neurosociology, neuroglaciology, and neurohydrology are all terms that have been used in scientific publications. Commercial interests try to capitalize on neuroYoga and everyone is having a good time on Twitter lampooning these efforts, invoking neurometeorology and the like (Aramchek, 2014). But we think we have a legitimate case, so we are sticking with it.

    Why Python?

    For the past few decades, MATLAB has remained the dominant language for scientific computing and analysis in neuroscience. Known for its user-friendly interface and deep support, Mathworks has provided the academic and industrial community with a sophisticated software suite that allows data mongers to easily manage, process, and visualize datasets. Thus, MATLAB was adopted by the majority of neuroscience labs as their default computing language.

    Yet MATLAB has struggled to keep up with the demands of the programming community at large, has yet to offer their product at a low cost to laboratories outside of academia, failed to gain traction in the burgeoning field of data science, neglected to keep up with developments in online deployment, and has encountered difficulties in making their product relevant or translatable outside of their quite sizeable niche.

    These shortcomings allowed an opening for an alternative, yet similar, programming language. This language (Python) has now gained considerable momentum as a strong candidate for surmounting these shortcomings of MATLAB. Most obviously, it is freely distributed and is often included as a default language preinstalled on many computers, including all Apple Macs. Python is used and praised by programmers in fields seemingly distant from neuroscience: from webpages (YouTube, Dropbox, and Reddit, to name a few) and custom software for data science to video game development. It is renowned for its front-end agility and versatility. At the same time, it is conceptually easier to understand and has lower startup costs compared to languages like C or C++. These features have contributed to the rise of a network of diverse communities that together establish a distinct, growing, and robust niche for the use of Python as a programming language.

    Yet Python remains a young, precocious newcomer in the field of neuroscience, compared to the established juggernaut—MATLAB. While the number of users is growing, overall, Python usage has remained comparatively low—in the neuroscience community, Python is about as commonly used as the relatively marginalized language R or the software package Igor. We think that this is largely owed to the fact that, while there is an existing array of textbooks outlining Python, none of them is aimed at the neuroscience community. Though many general user issues in Python can be solved by a quick web search, systematically developed and didactically aware guides for how to process and visualize neuroscientific data are virtually nonexistent. In particular, there is no textbook on specific aspects of neuroscientific computing with Python such as data analysis, data recording, and data modeling. We hope to provide such a text with this book (Fig.

    Enjoying the preview?
    Page 1 of 1