#python #gpflow
#python #gpflow
Вопрос:
Я работаю с набором данных, который содержит разное количество наблюдений в разные моменты времени. Например, при x(0) доступно 2 наблюдения, а при x (1) доступно 4 наблюдения. Есть ли принципиальный способ обработки этих данных в gpflow? Заранее большое спасибо!
Комментарии:
1. Вы имеете в виду наблюдения разных величин (например, при x (0) вы измеряете температуру и давление, при x (1) вы измеряете их, а также скорость ветра и количество осадков)? или просто несколько наблюдений (например, при x (0) вы измерили температуру дважды, при x (1) вы измерили ее четыре раза)?
2. Пожалуйста, предоставьте образец набора данных!
3. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Предполагая, что вы говорите о наблюдениях разных величин, вы можете сделать это, используя модель «вывод как ввод», где мы добавляем дополнительный столбец к вводу, который указывает, для какого вывода мы предоставляем наблюдение. Например, ваши функциональные и целевые массивы могут выглядеть следующим образом:
X = np.array([
[x[0], 0],
[x[0], 1],
[x[1], 0],
[x[1], 1],
[x[1], 2],
[x[1], 3],
])
Y = np.array([
[y0_0],
[y0_1],
[y1_0],
[y1_1],
[y1_2],
[y1_3],
])
а затем используйте Coregion
ядро, см. Блокнот по корегионализации.