Skip to content

This repository has the code for a python implementation for the Splines'n Lines method from Kent D., Budavári T., Loredo T., and Ruppert D. It also contains some general explorations of Quassar data from the Sloan Digital Sky Survey. ArXiv for Splines'n Lines: https://arxiv.org/abs/2310.19340

Notifications You must be signed in to change notification settings

LarsDanielJohaN/SplinesNLines_py

Repository files navigation

#SplinesNLines_py

SplinesNLines_py is an unpublished package which is a Python implementation of the Splines'n Lines method developed by David Kent, Tamás Budavári, Thomas J. Loredo and David Ruppert. Its goal is to use techniques from Functional Data Analysis and Bayesian inference to improve inference/estimation of Spectral Energy Distributions from galaxies.

The main idea of the method is to express each of the $o = 1,..., O$ galaxy profiles as a sum of functions in a basis $\sum_k \theta_k \phi_k(\log(\lambda))$, as in many other FDA methods, and line profiles $\sum_k \theta_k \kappa_k(\lambda, \mathcal{X}_o)$, called line profiles, which seek to capture the information of important wavelengths (i.e. whose information is stored at $\mathcal{X}_o$). It is important to observe that SplinesNLines_py allows to create models which include line profiles and without them. With the previous, the SED's can be expressed as:

$$F_o(\lambda) = \sum_{k = 1}^B \theta_k(\ln_{10}(\ell)) + \sum_{k = B+1}^{B_f} \theta_k \kappa_k(\lambda, \mathcal{X}_o)$$

To model variations in the $F_o(\lambda)$'s this model assumes that the coefficients $\boldsymbol{\theta}0 = (\theta{ok})$ are independent realizations from a multivariate normal with mean $\boldsymbol{\mu} = (\mu_k)$ and covariance $\Sigma$, i.e. $\boldsymbol{\theta}o \overset{ind.}{\sim} \mathcal{N}(\boldsymbol{\theta}|\mu, \Sigma)$. Note that this implies the existance of a mean profile $F\mu(\lambda) = \sum_{k = 1}^B \mu_k \phi_k(\ell) + \sum_{k = B + 1}^{B_f}\mu_k \kappa_k(\lambda, \mathcal{X}o)$. Once $\boldsymbol{\theta}o$ is known for a particular galaxy, the observed values of the spectral profile $y{oi}$ are modelled as random perturbations from $F_o(\lambda{oi})$ with a normal model. That is, $y_{oi} \overset{ind.}{\sim} \mathcal{N}(y| F_o(\lambda_{oi}) ,; \tau_{oi})$ where, once again, $\tau_{oi}$ is provided by the SDSS. $\boldsymbol{\mu}$ and $\Sigma$ are modelled a priori with a unifrom non-informative prior over all of their support, i.e. $p(\boldsymbol{\mu}, \Sigma) \propto 1$. With this, the relationship between the observed data $\textbf{y}o = (y{o1}, ..., y_{oK_o})^T$, the unknown coefficients $\boldsymbol{\theta}_o$, and $(\boldsymbol{\mu}, \Sigma)$ is given by the following three level hierarchy,

$$ \begin{split} (\boldsymbol{\mu}, \Sigma) ;;\sim & ;;p(\boldsymbol{\mu}, \Sigma) \propto 1 \\ \boldsymbol{\theta}_o |\boldsymbol{\mu}, \Sigma ; ; \overset{ind.}{\sim} & ;; \mathcal{N}_{L+B}(\boldsymbol{\theta} ;| ; \boldsymbol{\mu}, \Sigma) \\ y_{io}|\boldsymbol{\theta}_o ;; \overset{ind.}{\sim} & ;;\mathcal{N}\Big (y ; | ; F_o(\lambda_{oi}) ;, ; \tau_{oi}\Big) \end{split} $$

About

This repository has the code for a python implementation for the Splines'n Lines method from Kent D., Budavári T., Loredo T., and Ruppert D. It also contains some general explorations of Quassar data from the Sloan Digital Sky Survey. ArXiv for Splines'n Lines: https://arxiv.org/abs/2310.19340

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published