Changepoint detection: How to find several changepoints in a signal sampled from two hypothetical Gaussian distributions with different means?

33 Views Asked by At

A signal $z$---which is a $1\times m$ dimensional vector---is generated from two hypothetical Normal distributions; $p_1=N(\mu_1,\sigma)$, or $p_2=N(\mu_2,\sigma)$. That is, the difference is only in the mean value. Here, $\mu_1$, $\mu_2$, and $\sigma$ are all given. Is there an algorithm to detect at what points the distribution that produces the elements of the signal $z$ changes between the two hypothesis? In our problem, we have more than a single chaingepoint, that is the distribution is probably changing $k\in \{1,2,3,\dots \}$ times. Generally we don't know $k$, but if it helps, we can assume to know a not necessarily exact estimate of it, say $k_{est}$.

I am aware of an algorithm in Matlab that does the job to some extent findchangepts(z,'Statistic','mean',MaxNumChanges=k_est).

However, this algorithm does not use the fact that we know the mean values and the variance of the two distributions i.e., $\mu_1$, $\mu_2$, and $\sigma$. Thus, it is less precise than it could be.

Is anyone aware of this problem being studied in the literature? If yes, is there already a numerical package developed for this algorithm?