Сравнение программного обеспечения гауссовского процесса
Это сравнение программного обеспечения для статистического анализа, которое позволяет делать выводы о гауссовских процессах, часто используя аппроксимации .
Эта статья написана с точки зрения байесовской статистики , которая может использовать терминологию, отличную от той, которая обычно используется в кригинге . Следующий раздел должен разъяснить математическое/вычислительное значение информации, представленной в таблице, независимо от контекстной терминологии.
Описание столбцов
[ редактировать ]В этом разделе подробно описывается значение столбцов в таблице ниже.
Решатели
[ редактировать ]В этих столбцах рассказывается об алгоритмах, используемых для решения линейной системы, определяемой априорной ковариационной матрицей , т. е. матрицей, построенной путем оценки ядра.
- Exact : ли общие реализованы точные алгоритмы. Эти алгоритмы обычно подходят только для нескольких тысяч точек данных.
- Специализированный : реализованы ли специализированные точные алгоритмы для конкретных классов задач. Поддерживаемые специализированные алгоритмы могут обозначаться как:
- Кронекер : алгоритмы для разделения ядер на сеточных данных. [1]
- Тёплиц : алгоритмы для стационарных ядер на равномерно распределенных данных. [2]
- Полусентябрь. : алгоритмы для полуразделимых ковариационных матриц. [3]
- Разреженный : алгоритмы, оптимизированные для разреженных ковариационных матриц.
- Блок : алгоритмы, оптимизированные для блочных диагональных ковариационных матриц.
- Марков : алгоритмы для ядер, которые представляют (или могут быть сформулированы) марковский процесс. [4]
- Приблизительно : ли общие или специализированные реализованы приближенные алгоритмы. Поддерживаемые приближенные алгоритмы могут быть обозначены как:
- Разреженность : алгоритмы, основанные на выборе набора «индуцирующих точек» во входном пространстве, [5] или, в общем, наложение разреженной структуры на обратную ковариационную матрицу.
- Иерархический : алгоритмы, аппроксимирующие ковариационную матрицу иерархической матрицей . [6]
Вход
[ редактировать ]В этих столбцах указаны точки, в которых оценивается гауссовский процесс, т.е. если процесс .
- ND : поддерживается ли многомерный ввод. Если это так, многомерный вывод всегда возможен путем добавления измерения к входным данным, даже без прямой поддержки.
- Non-real : поддерживается ли произвольный недействительный ввод (например, текст или комплексные числа ).
Выход
[ редактировать ]В этих столбцах описываются значения, полученные в результате процесса, и то, как они связаны с данными, используемыми при подборе.
- Вероятность ли произвольные негауссовы вероятности . : поддерживаются
- Ошибки : поддерживаются ли произвольные неравномерные коррелированные ошибки в точках данных для гауссовского правдоподобия. Ошибки можно обрабатывать вручную, добавляя компонент ядра. В этом столбце рассказывается о возможности манипулировать ими отдельно. Частичная поддержка ошибок может обозначаться как:
- iid : точки данных должны быть независимыми и одинаково распределенными .
- Некоррелированные : точки данных должны быть независимыми, но могут иметь разное распределение.
- Стационарный : точки данных могут быть коррелированы, но ковариационная матрица должна быть матрицей Теплица , в частности, это означает, что дисперсии должны быть равномерными.
Гиперпараметры
[ редактировать ]Эти столбцы посвящены поиску значений переменных, которые каким-то образом входят в определение конкретной проблемы, но не могут быть выведены с помощью подгонки гауссовского процесса, например, параметры в формуле ядра.
- Prior ли указание произвольных гиперприоров для гиперпараметров . : поддерживается
- Апостериорный : поддерживается ли апостериорная оценка помимо точечной оценки , возможно, в сочетании с другим программным обеспечением.
Если и «Предшествующие», и «Апостериорные» ячейки содержат значение «Вручную», программное обеспечение предоставляет интерфейс для расчета предельного правдоподобия и его градиента относительно гиперпараметров, которые можно использовать в алгоритме оптимизации/выборки, например, градиентном спуске или цепи Маркова. Монте-Карло .
Линейные преобразования
[ редактировать ]Эти столбцы посвящены возможности одновременной подгонки точек данных к процессу и к его линейным преобразованиям.
- Произв. : можно ли для любого дифференцируемого ядра взять произвольное число производных вплоть до максимума, допускаемого гладкостью ядра. Примером частичной спецификации может быть максимальная выводимость или реализация только для некоторых ядер. Интегралы можно получить косвенно из производных.
- Конечный : является ли конечный произвольным линейные преобразования разрешены в указанных точках данных.
- Сумма : можно ли суммировать различные ядра и отдельно обращаться к процессам, соответствующим каждому дополнению. Это частный случай конечного линейного преобразования, но он указан отдельно, поскольку является общей особенностью.
Сравнительная таблица
[ редактировать ]Имя | Лицензия | Язык | Решатели | Вход | Выход | Гиперпараметры | Линейные преобразования | Имя | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Точный | Специализированный | Приблизительный | без даты | Не настоящий | Вероятность | Ошибки | Прежний | задний | Произв. | Конечный | Сумма | ||||
ПиМК | Апач | Питон | Да | Кронекер | Редкий | без даты | Нет | Любой | Коррелированный | Да | Да | Нет | Да | Да | ПиМК |
Стэн | БСД , GPL | обычай | Да | Нет | Нет | без даты | Нет | Любой | Коррелированный | Да | Да | Нет | Да | Да | Стэн |
scikit-learn | БСД | Питон | Да | Нет | Нет | без даты | Да | Бернулли | Некоррелированный | Вручную | Вручную | Нет | Нет | Нет | scikit-learn |
ФБМ [7] | Бесплатно | С | Да | Нет | Нет | без даты | Нет | Бернулли, Пуассон | Некоррелированный, Стационарный | Много | Да | Нет | Нет | Да | ФБМ |
ГПМЛ [8] [7] | БСД | МАТЛАБ | Да | Нет | Редкий | без даты | Нет | Много | иид | Вручную | Вручную | Нет | Нет | Нет | ГПМЛ |
GPstuff [7] | GNU GPL | МАТЛАБ , Р | Да | Спарс, Марков | Редкий | без даты | Нет | Много | Коррелированный | Много | Да | Первый РФБ | Нет | Да | GPstuff |
ГПы [9] | БСД | Питон | Да | Нет | Редкий | без даты | Нет | Много | Некоррелированный | Да | Да | Нет | Нет | Нет | ГПы |
GPflow [9] | Апач | Питон | Да | Нет | Редкий | без даты | Нет | Много | Некоррелированный | Да | Да | Нет | Нет | Нет | GPflow |
GPyTorch [10] | С | Питон | Да | Теплиц, Кронекер | Редкий | без даты | Нет | Много | Некоррелированный | Да | Да | Первый РФБ | Вручную | Вручную | GPyTorch |
GPold [11] | GNU GPL | Р | Да | Нет | Разреженный, Иерархический | без даты | Нет | Экспоненциальное семейство | Некоррелированный | Нет | Нет | Нет | Нет | Нет | GPold |
pyGP [12] | БСД | Питон | Да | Нет | Редкий | без даты | Графики, вручную | Бернулли | иид | Вручную | Вручную | Нет | Нет | Нет | pyGP |
gptk [13] | БСД | Р | Да | Блокировать? | Редкий | без даты | Нет | Гауссовский | Нет | Вручную | Вручную | Нет | Нет | Нет | gptk |
целерит [3] | С | Питон , Джулия , C++ | Нет | Полусентябрь. [а] | Нет | 1Д | Нет | Гауссовский | Некоррелированный | Вручную | Вручную | Нет | Нет | Нет | целерит |
Джордж [6] | С | Питон , С++ | Да | Нет | Иерархический | без даты | Нет | Гауссовский | Некоррелированный | Вручную | Вручную | Нет | Нет | Вручную | Джордж |
нейронные касательные [14] [б] | Апач | Питон | Да | Блок, Кронекер | Нет | без даты | Нет | Гауссовский | Нет | Нет | Нет | Нет | Нет | Нет | нейронные касательные |
Дайс Кригинг [15] | GNU GPL | Р | Да | Нет | Нет | без даты | Нет? | Гауссовский | Некоррелированный | СКАД РБФ | КАРТА | Нет | Нет | Нет | Дайс Кригинг |
OpenTURNS [16] | ГНУ ЛГПЛ | Питон , С++ | Да | Нет | Нет | без даты | Нет | Гауссовский | Некоррелированный | Вручную (без град.) | КАРТА | Нет | Нет | Нет | OpenTURNS |
СЛУШАТЬ [17] | Собственный | МАТЛАБ | Да | Нет | Нет | без даты | Нет | Гауссовский | Коррелированный | Нет | КАРТА | Нет | Нет | Нет | СЛУШАТЬ |
ooDACE. Архивировано 9 августа 2020 г. на Wayback Machine. [18] | Собственный | МАТЛАБ | Да | Нет | Нет | без даты | Нет | Гауссовский | Коррелированный | Нет | КАРТА | Нет | Нет | Нет | ooDACE. Архивировано 9 августа 2020 г. на Wayback Machine. |
СООТВЕТСТВОВАТЬ | Собственный | МАТЛАБ | Да | Нет | Нет | без даты | Нет | Гауссовский | Нет | Нет | КАРТА | Нет | Нет | Нет | СООТВЕТСТВОВАТЬ |
ГпГп | С | Р | Нет | Нет | Редкий | без даты | Нет | Гауссовский | иид | Вручную | Вручную | Нет | Нет | Нет | ГпГп |
СуперГаусс | GNU GPL | Р , С++ | Нет | Тёплиц [с] | Нет | 1Д | Нет | Гауссовский | Нет | Вручную | Вручную | Нет | Нет | Нет | СуперГаусс |
ПКС | GNU GPL | МАТЛАБ | Да | Нет | Нет | без даты | Нет | Гауссовский | Некоррелированный | Вручную | Вручную | Нет | Нет | Вручную | ПКС |
GИнструменты | ГНУ ЛГПЛ | Питон | Да | Нет | Нет | без даты | Нет | Гауссовский | Да | Да | Да | Да | Нет | Нет | GИнструменты |
ПиКриге | БСД | Питон | Да | Нет | Нет | 2Д, 3Д | Нет | Гауссовский | иид | Нет | Нет | Нет | Нет | Нет | ПиКриге |
георадар | Апач | С++ | Да | Нет | Редкий | без даты | Нет | Гауссовский | иид | Некоторые, вручную | Вручную | Первый | Нет | Нет | георадар |
целерит2 | С | Питон | Нет | Полусентябрь. [а] | Нет | 1Д | Нет | Гауссовский | Некоррелированный | Вручную [д] | Вручную | Нет | Нет | Да | целерит2 |
СМТ [19] [20] | БСД | Питон | Да | POD | Редкий | без даты | Да | Гауссовский | иид | Да | Да | Да | Нет | Нет | СМТ |
ГПДжакс | Апач | Питон | Да | Нет | Редкий | без даты | Графики | Бернулли | Нет | Да | Да | Нет | Нет | Нет | ГПДжакс |
Стено | С | Питон | Да | Низкий ранг | Редкий | без даты | Нет | Гауссовский | иид | Вручную | Вручную | Приблизительный | Нет | Да | Стено |
КОДЫ | МАТЛАБ | Да | Гетероскедастический, ВАЭ, ПОД | Редкий | без даты | Нет | Гауссовский | иид | Некоторые, Автоматические | Средний апостериор | Нет | Нет | Нет | КОДЫ | |
Имя | Лицензия | Язык | Точный | Специализированный | Приблизительный | без даты | Не настоящий | Вероятность | Ошибки | Прежний | задний | Произв. | Конечный | Сумма | Имя |
Решатели | Вход | Выход | Гиперпараметры | Линейные преобразования |
Примечания
[ редактировать ]- ^ Перейти обратно: а б celerite реализует только определенную подалгебру ядер, которую можно решить в . [3]
- ^ Neural-Tangents — специализированный пакет для бесконечно широких нейронных сетей.
- ^ SuperGauss реализует сверхбыстрый решатель Теплица с вычислительной сложностью. .
- ^ celerite2 имеет интерфейс PyMC3.
Ссылки
[ редактировать ]- ^ П. Каннингем, Джон; Гильбоа, Элад; Саатчи, Юнус (февраль 2015 г.). «Масштабирование многомерного вывода для структурированных гауссовских процессов». Транзакции IEEE по анализу шаблонов и машинному интеллекту . 37 (2): 424–436. arXiv : 1209.4120 . дои : 10.1109/TPAMI.2013.192 . ПМИД 26353252 . S2CID 6878550 .
- ^ Лейт, диджей; Чжан, Юнонг; Лейтхед, МЫ (2005). «Регрессия гауссовского процесса временных рядов на основе теплицевых вычислений операций O (N²) и хранения на уровне O (N)». Материалы 44-й конференции IEEE по принятию решений и управлению . стр. 3711–3716. дои : 10.1109/CDC.2005.1582739 . ISBN 0-7803-9567-0 . S2CID 13627455 .
- ^ Перейти обратно: а б с Форман-Макки, Дэниел; Ангус, Рут; Агол, Эрик; Амбикасаран, Шиварам (9 ноября 2017 г.). «Быстрое и масштабируемое моделирование гауссовских процессов с применением к астрономическим временным рядам» . Астрономический журнал . 154 (6): 220. arXiv : 1703.09710 . Бибкод : 2017AJ....154..220F . дои : 10.3847/1538-3881/aa9332 . S2CID 88521913 .
- ^ Саркка, Симо; Солин, Арно; Хартикайнен, Йоуни (2013). «Пространственно-временное обучение с помощью бесконечномерной байесовской фильтрации и сглаживания: взгляд на регрессию гауссовского процесса с помощью фильтрации Калмана» . Журнал обработки сигналов IEEE . 30 (4): 51–61. дои : 10.1109/MSP.2013.2246292 . S2CID 7485363 . Проверено 2 сентября 2021 г.
- ^ Киньонеро-Кандела, Хоакин; Расмуссен, Карл Эдвард (5 декабря 2005 г.). «Объединяющий взгляд на разреженную приближенную регрессию гауссовского процесса» . Журнал исследований машинного обучения . 6 : 1939–1959 . Проверено 23 мая 2020 г.
- ^ Перейти обратно: а б Амбикасаран, С.; Форман-Макки, Д.; Грингард, Л.; Хогг, Д.В.; О'Нил, М. (1 февраля 2016 г.). «Быстрые прямые методы для гауссовских процессов». Транзакции IEEE по анализу шаблонов и машинному интеллекту . 38 (2): 252–265. arXiv : 1403.6015 . дои : 10.1109/TPAMI.2015.2448083 . ПМИД 26761732 . S2CID 15206293 .
- ^ Перейти обратно: а б с Старый дом, Ярно; Риихимяки, Яакко; Хартикайнен, Йоуни; Юлянки, Паси; Толванен, Вилле; Вехтари, Аки (апрель 2013 г.). «GPstuff: байесовское моделирование с гауссовскими процессами» . Журнал исследований машинного обучения . 14 :1175−1179 . Проверено 23 мая 2020 г.
- ^ Расмуссен, Карл Эдвард; Никиш, Ханнес (ноябрь 2010 г.). «Набор инструментов Гауссовских процессов для машинного обучения (GPML)». Журнал исследований машинного обучения . 11 (2): 3011–3015. дои : 10.1016/0002-9610(74)90157-3 . ПМИД 4204594 .
- ^ Перейти обратно: а б Мэтьюз, Александр Г. де Г.; ван дер Вилк, Марк; Никсон, Том; Фуджи, Кейсуке; Букувалас, Алексис; Леон-Вильягра, Пабло; Гахрамани, Зубин; Хенсман, Джеймс (апрель 2017 г.). «GPflow: библиотека гауссовских процессов с использованием TensorFlow» . Журнал исследований машинного обучения . 18 (40): 1–6. arXiv : 1610.08733 . Проверено 6 июля 2020 г.
- ^ Гарднер, Джейкоб Р.; Плейс, Джефф; Биндель, Дэвид; Вайнбергер, Килиан Кью; Уилсон, Эндрю Гордон (2018). «GPyTorch: матрица черного ящика-матрица гауссовского процесса вывода с ускорением графического процессора» (PDF) . Достижения в области нейронных систем обработки информации . 31 : 7576–7586. arXiv : 1809.11165 . Проверено 23 мая 2020 г.
- ^ Зильбер, Дэниел; Кацфусс, Матиас (январь 2021 г.). «Аппроксимации Веккья – Лапласа обобщенных гауссовских процессов для больших негауссовских пространственных данных» . Вычислительная статистика и анализ данных . 153 : 107081. arXiv : 1906.07828 . дои : 10.1016/j.csda.2020.107081 . ISSN 0167-9473 . S2CID 195068888 . Проверено 1 сентября 2021 г.
- ^ Нойманн, Мэрион; Хуан, Шань; Э. Марталер, Дэниел; Керстинг, Кристиан (2015). «pyGPs — библиотека Python для регрессии и классификации гауссовских процессов» . Журнал исследований машинного обучения . 16 : 2611–2616.
- ^ Калаитцис, Альфредо; Лоуренс, Нил Д. (20 мая 2011 г.). «Простой подход к ранжированию временных курсов дифференциально выраженной экспрессии генов с помощью регрессии гауссовского процесса» . БМК Биоинформатика . 12 (1): 180. дои : 10.1186/1471-2105-12-180 . ISSN 1471-2105 . ПМК 3116489 . ПМИД 21599902 .
- ^ Новак, Роман; Сяо, Лечао; Хрон, Иржи; Ли, Джехун; Алеми, Александр А.; Золь-Дикштейн, Яша; Шенхольц, Сэмюэл С. (2020). «Нейронные касательные: быстрые и простые бесконечные нейронные сети в Python». Международная конференция по обучению представлений . arXiv : 1912.02803 .
- ^ Рустан, Оливье; Гинзбургер, Дэвид; Девиль, Ив (2012). «DiceKriging, DiceOptim: два пакета R для анализа компьютерных экспериментов посредством метамоделирования и оптимизации на основе кригинга» . Журнал статистического программного обеспечения . 51 (1): 1–55. дои : 10.18637/jss.v051.i01 . S2CID 60672249 .
- ^ Боден, Михаэль; Датфой, Энн; Иосс, Бертран; Попелин, Анн-Лора (2015). «OpenTURNS: промышленное программное обеспечение для количественной оценки неопределенности в моделировании». В Роджере Ганеме; Дэвид Хигдон; Хоуман Охади (ред.). Справочник по количественной оценке неопределенности . стр. 1–38. arXiv : 1501.05242 . дои : 10.1007/978-3-319-11259-6_64-1 . ISBN 978-3-319-11259-6 . S2CID 88513894 .
- ^ Марелли, Стефано; Судрет, Бруно (2014). «UQLab: основа количественной оценки неопределенности в MATLAB» (PDF) . Уязвимость, неопределенность и риск. Количественная оценка, смягчение последствий и управление : 2554–2563. дои : 10.3929/ethz-a-010238238 . Проверено 28 мая 2020 г.
- ^ Кукейт, Иво; Дэн, Том; Демистер, Пит (2014). «Набор инструментов ooDACE: гибкая объектно-ориентированная реализация кригинга» (PDF) . Журнал исследований машинного обучения . 15 : 3183–3186 . Проверено 8 июля 2020 г.
- ^ Бухель, Мохамед А.; Хван, Джон Т.; Бартоли, Натали; Лафаг, Реми; Морье, Джозеф; Мартинс, Хоаким RRA (2019). «Среда суррогатного моделирования Python с производными» . Достижения в области инженерного программного обеспечения . 135 (1): 102662. doi : 10.1016/j.advengsoft.2019.03.005 .
- ^ Сейв, Пол; Лафаг, Реми; Бартоли, Натали; Диуан, Юсеф; Буссемейкер, Джаспер; Лефевр, Тьерри; Хван, Джон Т.; Морье, Джозеф; Мартинс, Хоаким RRA (2024). «SMT 2.0: набор инструментов суррогатного моделирования с упором на гауссовские процессы с иерархическими и смешанными переменными» . Достижения в области инженерного программного обеспечения . 188 (1): 103571. arXiv : 2305.13998 . doi : 10.1016/j.advengsoft.2023.103571 .
Внешние ссылки
[ редактировать ]- [1] Веб-сайт, на котором размещена книга К.Э. Расмуссена « Гауссовы процессы для машинного обучения» ; содержит (частично устаревший) список программного обеспечения.