В настоящее время я пытаюсь обучить регрессионную модель GP в GPflow, которая будет предсказывать значения осадков с учетом некоторых метеорологических данных. Я использую ядро Linear+RBF+WhiteNoise
, что кажется подходящим, учитывая набор используемых мной предикторов.
Моя проблема в данный момент в том, что когда я получаю модель для предсказания новых значений, она имеет тенденцию для прогнозирования отрицательных осадков - см. прилагаемый рисунок.
Как я могу «наложить» физические ограничения при построении модели? Обучающие данные не содержат никаких отрицательных значений осадков, но они содержат много значений, близких к нулю, что, как я предполагаю, означает, что модель GPR
не изучает «осадки должны быть> = 0» ограничение очень хорошо.
Если бы есть способ явно обеспечить такое ограничение, это было бы идеально, но я не уверен, как это сработает. Потребуется ли для этого другой алгоритм оптимизации? Или можно как-то встроить это ограничение в структуру ядра?
введите описание изображения здесь