(Spatial) Data Science: A Few Thoughts for Students
I was recently approached by an American Masters student with the following email:
I am working on a course assignment that requires me to contact a Data Science professional to gain insights into the industry and profession… Would you be willing to answer a few questions about your work?
Student Email
Here’s what I had to say about my work…
Having put some effort into answer the (good) questions that followed, I figured it was worthwhile sharing my responses—not because I think I have the answers, but because the differences between my and other people’s answers might be useful for students to reflect upon regardless of where they are at in their studies. As always, my advice is worth what you paid for it…
1) What sparked your interest in the field of spatial data science?
I’ve sort of covered this elsewhere online in my bio(s), but it boils down to the fact that when I got into the field large data sets were becoming available to study cities (mobile, transit smart card, etc.) but very few planners or geographers were geared up (then) to work with these types of data.
So I saw an opportunity to study something I was really interested in (cities) using skills that I enjoyed deploying (coding) and which were hard to find on the ground amongst researchers (geographers and planners). Although we called it ‘database mining’ back then, and lacked many of the cool algorithms and tools available to use now, the nature of the ‘work’ hasn’t changed all that much.
As well, even in the late 2000s hardware had already progressed to the point where you didn’t need £20,000 computers in order to process the data—I no longer call any of what I do now ‘big data’ if speaking with a CS person because I can do it all on a high-spec laptop even if it sometimes takes a day to run.
2) In your view, how does the field of data science compare and expand upon traditional academic disciplines such as geography and economics?
You can find at least two quite contrasting views on this:
- Geography and computers: Past, present, and future and also Geographic Data Science — if you don’t have access to these as an academic then check the Institutional Repositories such as KCL Pure as well as Google Scholar.
- Why geographic data science is not a science — obviously not my view, but poses some good questions that I hope to answer one of these days.
So I’d probably define Spatial Data Science or Geographic Data Science mostly in terms of creating a readily-identifiable interface between disciplines both for those inside the discipline and for those outside of it: in this case it’s principally geography and computer science. You could also think of it as spatially-aware approach to data science; one that is informed both by spatial analytical techniques and by geographic theory so as to ensure that geography is a first-class citizen in the analysis.
3) How do you approach a data science research project?
If you mean, where do the projects originate, then I’d say it’s the same way as I’d approach any other research project, which is to say: depends on the origins of the project. By knowing a fair bit about particular areas of research from reading the academic lit I am always on the lookout for data and methods (IR version here) that could extend our understanding of this area.
For example, I’m interested in housing markets, but here in the UK we lack detailed data on the characteristics of sold properties… there’s another data set out there that does have this data but wasn’t intended for housing market analysis… so can we fuse these two data sets in order to better-understand the market? The answer is definitely yes (and see also this), and this data can now inform other research (accessible version here).
But as I’ve developed a ‘presence’ in this area other researchers have begun to approach me in order to tackle questions they’ve not been able to solve but for which they have a sense that a ‘data science’ approach could help.
So as researcher (not an industrial analyst or modeller) I look for gaps between what we know and what novel data/methods make accessible. But I think it’s important that it’s not just “Oh, give me your data and I’ll give you an answer”, everything is informed by the fact that I already understand something of the problem domain.
If you mean, what kind of tools do I use when developing a project, then it’s very much the data science workflow: Git/GitHub, Docker, JupyterLab, Python (conda, sklearn, etc.), R (rarely for me, others use it all the time), Postgres/PostGIS (because of spatial support), Markdown with LaTex/BibTex, and the classic ETL (Extract, Transform and Learn) pipeline for working with data.
4) How do you prepare and gather information relevant to a research project that you are working on?
I’d divide that into information about the context (literature—often in a folder on Dropbox and shared with collaborators with references going into a .bib file) and information about the techniques (tools/methods/data): the amount of preparation and information gathering needed depends on how much of each of these branches is ’novel’ (to me).
The former is typically a normal literature review process, just using ‘modern’ tools such as Markdown and BibTex in place of full-on LaTeX or Word+EndNote to keep track of what I find. The latter is often a mix of Twitter/Google/notes in GitHub repos, other people’s notebooks… whatever seems relevant, really, often tracked via the README file in a repo or in individual notebooks.
5) How important are communication skills in your field?
I’d say essential, because you are dealing in abstracts (millions or billions of rows of data and difficult issues of interpretation/subjectivity) that often mean little to ‘non-quantitative’ people. Big numbers seem to give confidence, but in most cases what they really call for is more humility and a greater appreciation of the uncertainty that adheres to real-world data and data collection systems. And the ‘non-quants’ are often the people who know the most about the problem, so you need to use communications skills to present things clearly and simply, even if they’re not. You could, of course, also abuse those skills to ‘big up’ and obfuscate so as to avoid scrutiny.
At one extreme of the communications spectrum are the students who have a ‘Limitations’ section that is so self-flagellating and raises such monstrous issues of validity that it seem to call into question the whole purpose of the research in the first place. At the other end are those who say (as was said to me by a large company’s in-house data science team): “We have all the data, why do we need a model?” Somewhere in between is the right balance of “Look, there are some questions here about the data or our approach that should be factored into our next steps, but from the evidence that we have it looks like…”
7) What technologies, software, and skill sets do you recommend for students looking to enter the field?
I think it would be near-impossible to enter the field without knowledge of Python or R. Being functional in both is better still since workplaces tend to use one or the other preferentially and bringing in a ‘switch hitter’ never hurts. I think academics have a slight preference for R while corporations have a slight preference for Python but both will use whichever language gets the job done.
After that, knowledge of database design and Postgres/PostGIS is an important bonus—other databases (eg MySQL) have come a long way but PostGIS is still the gold standard for spatial I think and would allow you to support QGIS users or to make prettier / more complex outputs via QGIS (I think, a bit unfairly, of QGIS as being like Photoshop for maps). Ability to use Git/GitHub to manage code, fork and pull, rollback, and test would presumably be seen as very important too.
Obviously a tech-company like Google is looking for something different from an analytics-focussed consulting company: I personally would rather see someone who could effectively use StackOverflow (note: I don’t just mean copy+paste) to get things done than someone who could sketch a b-tree on a whiteboard but has no idea how to actually look at real-world data (which is always messy and requires attention to detail), but that’s because I’m not writing the tools, I’m using them.
8) Aside from academic resources, what resources do you use (if any) to stay up to date on the software and technical advancements in the field?
Twitter and Medium (eg. Towards Data Science) are my main sources for ‘what is happening in field X’. I use StackOverflow all the time to update specific coding knowledge (‘how to do X’). I also use Pocket to collect information on a topic I am planning to research. Medium and Pocket both suggest related articles that support further learning.
Networking is also essential: meeting up (face to face or electronically—even via WhatsApp or Twitter DMs) is also a good way to find out what’s on the horizon, talk out ideas, get advice, etc. In my bit of academia it’s very collegial and there’s lots of willingness to share.
9) What are some of the emerging trends currently taking place in the field of spatial data science?
Spatially-aware ML seems like a big deal to me. Most ML ignores space as a ’special’ category of data even though you can find it embedded in clustering tools like k-Nearest Neighbours, DBSCAN, and so forth. It may not matter that much for many applications (someone tested Random Forests against GWR and didn’t find much difference) but it might matter a lot for some.
I’d say that textual data is also going to matter: NLP hasn’t been much-considered beyond basic sentiment analysis of Twitter. This is starting to change (see: Elizabeth Delmelle’s work on Charlotte and Emmanouil Tranos et al.’ stuff with the Internet Archive) but my guess is that, because NLP is hard and computationally intensive, it’s been neglected.
10) How do you envision that the field and its associated methods and technologies will evolve moving into the future?
See above.