К сожалению, наивный алгоритм - рассмотреть все возможные последовательности состояний, для каждой оценить параметры обоих пуассоновских распределений (по обычным формулам, разделив на две подвыборки для одного и второго состояния) и вероятность смены состояния, используя эти параметры, вычислить правдоподобие и выбрать наилучшую, упирается в "проклятие размерности". Он целесообразен только для очень коротких последовательностей, поскольку всего

вариантов, и увеличение числа наблюдений на 10 увеличивает время счёта более чем в тысячу раз. Полагаю, что 10 точек "обсчитаются" за несколько секунд, 20 - где-то за час, 30 уже месяц счёта (ну, или какой-нибудь"Тесла" и часы), а более 40, ну, пусть 50 вообще за гранью возможного.
Как вариант - разбить задачу на два шага. Оценивание параметров Пуассона и оценивание переходов, причём вероятность перехода p принимается известной (имеется в виду, что эти два шага,или, возможно, только второй, повторяются для каждого значения p, перебирая их по сетке, или используя какой-то алгоритм одномерной оптимизации).
Расчёт пуассоновских параметров может быть упрощён, исходя из "принципа подводной лодки" - число всплытий равно числу погружений, или отличается на единицу. То есть число отрезков нахождения в первом и втором состоянии равны или на единицу различны. К сожалению, это не гарантирует того, что количества число точек, соответствующих первому и второму состоянию, равны, они будут равны только в среднем. Однако при достаточно длинных рядах предположение довольно разумное. Предложенная выше оценка методом моментов очень простая, но, возможно, хуже ММП-оценки. Но она, видимо, может быть получена только численно, и оценка методом моментов послужит хорошим начальным приближением.
Имея оценки распределений Пуассона, приступаем ко второму шагу - разметке состояний. Тут хотелось бы сократить с

вариантов до

. Напрашивается нечто в духе динамического программирования. Начинаем с конца, с последнего отсчёта, рассматриваем два варианта - что первое или второе состояние. Для каждого вычисляем правдоподобие (только исходя из Пуассонов для двух значений параметра и числа успехов в данном наблюдении). Затем включаем в рассмотрение и предыдущий отсчёт, два варианта, и для каждого рассчитываем правдоподобие, учитывая и распределение для данного наблюдения,и вероятности перехода, и правдоподобие для последующего отсчёта. И выбираем из 4 вариантов (

,

,

,

) два самых правдоподобных (самый правдоподобный, начинающийся с состояния I и самый правдоподобный с состояния II). И так до начала выборки. Получаем последовательность состояний и её правдоподобие. Выбираем значение p, дающее максимум правдоподобия.
Получив последовательность состояний, оцениваем по нему вероятность перехода.