Как отформатировать продольные / панельные данные для HMM
Как следует вводить продольные данные в модель HMM (меня не волнует, будет ли пакет seqlearn, hmmlearn, pomegranate,...)? Все эти пакеты не имеют надлежащей документации о том, как вводить данные, где для каждого временного шага есть несколько переменных. Учитывая изменение этих конкретных переменных наX
временных шагов, он должен быть в состоянии предсказать, будет ли он равен 1 или 0, и он должен быть в состоянии выучить его самостоятельно. Я читал, что seqlearn - лучший выбор для этой проблемы двоичной классификации.
Пока не знаю, я видел проходящие мимо форматирования, подобные этому:
X1 = [1, 2, 0, 1, 1]
X2 = [42, 42]
где у вас есть две одномерные последовательности, а затем вы можете:
X = np.append(X1, X2)
lengths = [len(X1), len(X2)]
X = np.array([1, 1, 0, -1, -1])
model = hmm.GaussianHMM(n_components=2, n_iter=100)
model.fit(X.reshape(-1,1))
Мне не удается отформатировать мои продольные данные таким образом, чтобы их можно было прочитать, потому что приведенный выше пример не является панельными данными. Как мне устроитьX1
, X2
,...