Оценка неопределенности в задачах многомерного вывода без выборки?

9

Я работаю над проблемой многомерного вывода (около 2000 параметров модели), для которой мы можем надежно выполнить оценку MAP, найдя глобальный максимум логарифмического аппроксимации, используя комбинацию градиентной оптимизации и генетического алгоритма.

Я очень хотел бы иметь возможность сделать некоторую оценку неопределенности параметров модели в дополнение к нахождению оценки MAP.

Мы можем эффективно рассчитать градиент логарифмического апостериорного значения по отношению к параметрам, поэтому в долгосрочной перспективе мы стремимся использовать гамильтониан MCMC для проведения некоторой выборки, но сейчас меня интересуют оценки, не основанные на выборке.

Единственный известный мне подход состоит в том, чтобы вычислить обратное значение гессиана в моде, чтобы аппроксимировать апостериорную многовариантную нормаль, но даже это кажется невозможным для такой большой системы, поскольку даже если мы вычислим элементы гессиана, я уверен, мы не смогли найти его обратное.4×106

Кто-нибудь может подсказать, какие подходы обычно используются в подобных случаях?

Спасибо!

РЕДАКТИРОВАТЬ - дополнительная информация о проблеме

Предпосылки
Это обратная проблема, связанная с большим физическим экспериментом. У нас есть двумерная треугольная сетка, которая описывает некоторые физические поля, а нашими модельными параметрами являются физические значения этих полей в каждой вершине сетки. Сетка имеет около 650 вершин, и мы моделируем 3 поля, так вот откуда берутся наши 2000 параметров модели.

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

Затем мы суммируем правдоподобие логарифмов от всех этих различных инструментов, а также добавляем некоторые значения предшествующего журнала, которые применяют некоторые физические ограничения к полям.

Следовательно, я сомневаюсь, что эта «модель» аккуратно попадает в категорию - у нас нет выбора, что это за модель, это продиктовано тем, как функционируют реальные инструменты, которые собирают наши экспериментальные данные.

Набор данных Набор
данных состоит из 500x500 изображений, и для каждой камеры имеется одно изображение, поэтому общее количество точек данных составляет 500x500x4 = .106

Модель ошибок
Мы считаем, что все ошибки в задаче в настоящий момент являются гауссовыми. В какой-то момент я мог бы попытаться перейти к модели ошибок ученика-т, просто для некоторой дополнительной гибкости, но, похоже, что все работает хорошо только с гауссианами.

Пример правдоподобия
Это эксперимент по физике плазмы, и подавляющее большинство наших данных поступают с камер, направленных на плазму с определенными фильтрами перед линзами, которые смотрят только на определенные части светового спектра.

Для воспроизведения данных есть два шага; сначала мы должны смоделировать свет, который исходит от плазмы на сетке, затем мы должны смоделировать этот свет обратно на изображение с камеры.

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

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

Ei=R1(xi,yi)+ziR2(xi,yi)
(x,y,z)G

Так как ошибки гауссовы, логарифмическая вероятность для этой конкретной камеры тогда равна

L=12(GEd)Σ1(GEd)

где d - данные камеры. Общее логарифмическое правдоподобие представляет собой сумму 4 из приведенных выше выражений, но для разных камер, которые имеют разные версии функций скорости R1,R2 потому что они смотрят на разные части светового спектра.

Предыдущий пример
У нас есть различные априорные значения, которые фактически просто устанавливают определенные верхние и нижние границы для различных величин, но они не слишком сильно влияют на проблему. У нас есть один априор, который действует сильно, который эффективно применяет сглаживание лапласовского типа к полям. Он также принимает гауссову форму:

log-prior=12xSx12ySy12zSz

CBowman
источник
1
Какую модель вы подходите? Линейная регрессия? GP? Иерархическая модель подсчета? Байесовская калибровка компьютерной модели? Пожалуйста, добавьте больше деталей о проблеме, которую вы решаете, и я напишу ответ с плюсами и минусами VI.
DeltaIV
1
@DeltaIV Я обновил вопрос с дополнительной информацией - возможно, я не уточнил, что именно вы искали. Если так, дайте мне знать, и я сделаю еще одну правку, спасибо!
CBowman
1
@DeltaIV Еще раз спасибо! Добавлена ​​дополнительная информация, дайте мне знать, если я могу добавить что-нибудь еще.
CBowman
1
@DeltaIV изображения данных 500x500, и есть одно для каждой камеры, поэтому общее количество точек данных составляет 500x500x4 = . Данные функции скорости вычисляются только один раз - мы сохраняем их, затем строим из них сплайн при запуске кода, а затем этот сплайн используется для всех вычислений функции. 106
CBowman
1
У меня нет ссылки, но существует множество приближений низкого ранга для вычисления обратной матрицы. например, найти самые большие собственных значений, предположить, что оставшиеся 2000 - k равны, и использовать грубое приближение для собственных векторов, соответствующих низкому собственному значению. Я почти уверен, что есть также приблизительные / итеративные разложения Холецкого, которые сходятся к точному значению. просто k2000k
вероятностное

Ответы:

4

Прежде всего, я думаю, что ваша статистическая модель неверна. Я изменил вашу запись на более знакомую статистику, поэтому

d=y=(y1,,yN), N=106

быть вашим вектором наблюдений (данных), и

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

ваши векторы параметров, общей размерности d=3p2000 . Тогда, если я правильно понял, вы принимаете модель

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

где G - матрица сплайн-интерполяции N×d .

Это явно неправильно. В любом случае ошибки в разных точках изображения с одной и той же камеры и в одной и той же точке на изображениях с разных камер не являются независимыми. Вы должны изучить пространственную статистику и модели, такие как обобщенные наименьшие квадраты, оценка вариограммы, кригинг, процессы Гаусса и т. Д.


Сказав это, поскольку ваш вопрос не в том, является ли модель хорошим приближением к фактическому процессу генерирования данных, а в том, как оценить такую ​​модель, я покажу вам несколько вариантов для этого.

HMC

2000 параметров не очень большая модель, если вы не тренируете эту вещь на ноутбуке. Набор данных больше ( 106 точек данных), но, тем не менее, если у вас есть доступ к облачным экземплярам или компьютерам с графическими процессорами, такие платформы, как Pyro или Tensorflow Вероятность, справятся с такой проблемой. Таким образом, вы можете просто использовать графический процессор Монте-Карло с графическим процессором.

Плюсы : «точный» вывод, в пределе бесконечное количество выборок из цепочки.

Минусы : нет жесткой оценки ошибки оценки, существуют множественные метрики диагностики сходимости, но ни одна из них не является идеальной.

Приближение большой выборки

Используя неправильные обозначения, обозначим через θ вектор, полученный путем объединения трех ваших векторов параметров. Затем, используя байесовскую центральную предельную теорему (Бернштейна-фон Мизеса), вы можете аппроксимировать p(θ|y) с помощью N(θ0^n,In1(θ0)) , где θ0 - это «истина» значение параметра, θ0^n является оценкой MLE θ0 и In1(θ0)- информационной матрицы Фишера, оцененной приθ0. Конечно,θ0 неизвестно,вместо этогомы будем использоватьIn1(θ0^n) . Справедливость теоремы Бернштейна-фон Мизеса зависит от нескольких гипотез, которые вы можете найти, например,здесь: в вашем случае, предполагая, чтоR1,R2 гладкие и дифференцируемые, теорема справедлива, потому что поддержка Гауссовский априор - это целое пространство параметров. Или лучше былобы быть действительным, если ваши данные были на самом деле iid, как вы предполагаете, но я не верю, что они, как я объяснил в начале.

Достоинства : особенно полезные в p<<N случае. Гарантируется сходство к правильному ответу в настройках iid, когда вероятность является гладкой и дифференцируемой, а предшествующее значение равно нулю в окрестности θ0 .

Минусы : Самым большим минусом, как вы отметили, является необходимость инвертировать информационную матрицу Фишера. Кроме того, я не знаю, как судить о точности аппроксимации эмпирически, за исключением использования сэмплера MCMC для отбора образцов из p(θ|y) . Конечно, это лишило бы пользы использования B-vM.

Вариационный вывод

p(θ|y)dpqϕ(θ)qQϕϕϕqp

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

qϕ(θ)

  • ϕ
  • p(θ|y)ϕq

qϕ(θ)d

qϕ(θ)=i=1dqϕi(θi)

qϕj(θj)

logqj(θj)=Eij[logp(y,θ)]+const.

p(y,θ)q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd)qi(θi)(d1)

qqiqNТочки данных. Чтобы амортизировать стоимость вывода, нейронная сеть используется для сопоставления входного пространства с пространством параметров вариации. См. Статью с подробным описанием алгоритма: реализации VAE снова доступны во всех основных средах глубокого обучения.

DeltaIV
источник
что модель независимости VB может быть ужасным подходом к точностиs2
@DeltaIV Статистическая модель, как правило, довольно хорошая, ошибки между разными камерами очень независимы, и разные пиксели в одной и той же камере также будут в основном независимыми, если они буквально не соседствуют друг с другом. Мы могли бы закодировать некоторую пространственную корреляцию в смежных пикселях с использованием вероятности гауссовского процесса, но это потребовало бы от нас либо прямого инвертирования ковариационной матрицы, либо решения разреженной линейной системы каждый раз, когда мы хотим оценить вероятность, что намного больше дорого (хотя и не может быть и речи).
CBowman
2

Вы можете проверить некоторые из программного обеспечения "bayesX" и, возможно, также программное обеспечение "inla". у обоих из них, вероятно, есть некоторые идеи, которые вы можете попробовать. поищи в Гугле

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

probabilityislogic
источник