A major objection with the previous simulated light curves is that the baseline is rarely constnat. Instead, from what I have learned, it is a horrible mess of discontinuities and curves due to the telescope rotating and instruments heating up. I spoke to someone who said that there is some periodicity in the curve. It is easy to adapt the previous code to generalize it for a periodic background flux. Consider the model:
which has two additional parameters, the amplitude a and the angular frequency omega, upon which I put priors:
I’m not sure if the last one is justified, I’d need to talk to an exoplanet expert, but hopefully the background frequency is a lot less than the frequency at which measurements are being made.
The JAGS code looks like this:
model { for(t in 1 : N) { D[t] ~ dnorm(mu[t],s2) mu[t] <- b[1]+ amp*sin(omega*t) - step(t - tau1)*step(tau2-t)*step(tau2-tau1) * b[2] } b[1] ~ dnorm(0.0,1.0E-6)T(0,) b[2] ~ dnorm(0.0,1.0E-6)T(0,b[1]) tau1 ~ dunif(1,N) tau2 ~ dunif(tau1,N) s2 ~ dunif(0,100) amp ~ dunif(0,b[1]) omega ~ dunif(0,1) }
The code to call JAGS from R and make plots can be found here.
rm(list=ls()) library('rjags') s2=5 bn=1000 dn=400 amp=1 omega=0.005 base=rnorm(bn,100,sqrt(s2)) drop=rnorm(dn,97,sqrt(s2)) t=seq(1,length(c(base,drop,base,base)),1) sin=amp*sin(omega*t) trace=c(base,drop,base,base) trace=trace+sin plot(trace,type="l",col="red",xlab="Time t",ylab="Flux") datalist=list( D=trace, N=length(trace) ) jags <- jags.model(file.path('/home/grad/msl33/Dropbox/samsi/cp.bugs'),data = datalist, n.chains = 1, n.adapt = 500) mcmc.samples=coda.samples(jags,c('b','tau1','tau2','amp','omega'),2000) plot(mcmc.samples)
and I generated some fake data that looks like this:
based on the parameters: