A Novel Bayesian Model to Fit Spectrophotometric Data of Hubble and Spitzer Space Telescopes by Mo Akhshik

Talk Abstract

Understanding how the most massive galaxies rapidly formed and quenched when Universe was only ~3 billion years old is one of the major challenges of extragalactic astronomy. In this talk, I will discuss how to improve our understanding of massive galaxy formation by combining the spectro-photometric observations of the Hubble and Spitzer Space Telescopes for strong gravitationally lensed galaxies. In particular, a multi-level regression model is built that can fit all multi-wavelength data for a range of instruments within a hierarchical Bayesian framework to constrain the properties of the stellar populations. The details of how this model is implemented using PyMC3, as well as the estimates of the posteriors of all parameters of interest and nuisance parameters will be highlighted.


Mo Akhshik

Mo is a grad student of (astro)physics by day, a matheux and a Bayesian enthusiast all along. Broadly interested in cosmology and probability too.

This is a PyMCon 2020 talk

Learn more about PyMCon!

PyMCon is an asynchronous-first virtual conference for the Bayesian community.

We have posted all the talks here in Discourse on October 24th, one week before the live PyMCon session for everyone to see and discuss at their own pace.

If you are available on October 31st you can register for the live session here!, but if you are not don’t worry, all the talks are already available here on Discourse (keynotes will be posted after the conference) and you can network here on Discourse and on our Zulip.

We value the participation of each member of the PyMC community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout the conference and at all conference events. Everyone taking part in PyMCon activities must abide by the PyMCon Code of Conduct. You can report any incident through this from.

If you want to support PyMCon and the PyMC community but you can’t attend the live session, consider donating to PyMC

Do you have suggestions to improve PyMCon? We have an anonymous suggestion box waiting for you

Have you enjoyed PyMCon? Please fill our PyMCon attendee survey. It is open to both async PyMCon attendees and people taking part in the live session.


Thanks for the talk! Great to see how PyMC3 is used modeling spectrophotometric data.
Looking at the model code it seems there are a fair among of dimshuffle and tensordot within a for loop - I wonder if there is a way to better vectorized those and replace some of those with tt.einsum


Thanks @junpenglao! That’s a great suggestion and I will definitely look into it. In fact, I didn’t know that theano supports einsum-like operations and that’s why I tried to use dimshuffle and tensordot instead. One of the biggest bottlenecks in the code is also related to one of these dimshuffle and the broadcasting that it brings…


@makhshik: Since so many aspects of your stellar pop model are linear, I was wondering if there might be some components that could be marginalized in closed form. Is this something you’ve considered (even as an approximation) to possibly speed up the inference?


That’s a great point, @dfm! I considered it briefly, but I didn’t really work on it. One possible way is to try to marginalize w, which is somehow quantifying dust/metallicity uncertainty, and it’s not the parameter that we are primarily interested in. I think, given the generic prior of w and the linear nature of the problem as you mentioned, I should be able to integrate it out in a closed form.

1 Like

Thank you very much for the presentation. And very novel! It is hard to find stellar population synthesis following a Bayesian paradigm.

I have to read the paper and check your library to understand how it works but I was eager to ask: How do you explore the SSP grid ? Do you interpolate among the 12 SSP across each metallicity-age cell grid or do you always assign a weight even if it zero?


1 Like