exponenta event banner

Реализация байесовской линейной регрессии

Эконометрика Toolbox™ включает автономную структуру, которая позволяет реализовать байесовскую линейную регрессию. Фреймворк содержит две группы предшествующих моделей для коэффициентов регрессии β и дисперсию возмущений start2:

  • Стандартные байесовские линейные регрессионные предшествующие модели - пять предшествующих модельных объектов в этой группе варьируются от простой сопряженной нормальной-обратной-гамма-предшествующей модели до гибких предшествующих моделей, определенных рисованиями из предыдущих распределений или пользовательской функции. Хотя стандартные предыдущие модели могут служить нескольким целям, они лучше всего подходят для задней оценки, моделирования (из сустава или, для большинства моделей, условной задней) и прогнозирования из заднего прогностического распределения.

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

Общий рабочий процесс для оценки особенностей задних распределений, а затем прогнозирования ответов с учетом новых данных предиктора:

  1. Использовать bayeslm чтобы создать объект предыдущей модели, который представляет ваши предположения о распределении, или объект предыдущей модели, который подходит для выбора предиктора.

  2. Передать объект предыдущей модели и данные предиктора и ответа в estimate функция. По умолчанию estimate возвращает объект модели, представляющий апостериорное распределение.

  3. Передать объект модели, представляющий апостериорное распределение, в forecast.

Дополнительные сведения о стандартном рабочем процессе байесовской линейной регрессии см. в разделе Рабочий процесс для стандартных байесовских моделей линейной регрессии, а для выбора байесовского предиктора - в разделе Рабочий процесс для выбора байесовского предиктора.

Рабочий процесс для стандартных байесовских моделей линейной регрессии

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

  1. Выберите совместное предварительное распределение для (β, start2). Затем с помощьюbayeslmсоздайте объект модели байесовской линейной регрессии, который полностью определяет ваши убеждения относительно совместного предыдущего распределения. Эта таблица содержит доступные объекты предыдущей модели.

    Объект моделиСовместное предварительное распределение (β, start2)Когда создавать
    conjugateblm
    • δ (β 'start2) - гауссов со средним значениемMu а также ковариацияV.

    • δ (start2) - обратная гамма с формойA и масштаб B.

    Создайте этот объект модели, если выполняются все следующие условия:

    • Вы достаточно уверены, что параметры имеют соответствующее соединение предшествующее, и что β зависит от start2.

    • Вы хотите включить свои предшествующие знания о предшествующем среднем и ковариации β, а также о форме и масштабе

    • Нужны аналитические формы для маргинальных и условных апостериоров, которые являются нормально-обратно-гамма-сопряженными распределениями для обоих типов.

    semiconjugateblm
    • δ (β) - гауссов со средним значениемMu и ковариация V.

    • δ (start2) - обратная гамма с формойA и масштаб B.

    • β и start2 независимы.

    Создайте этот объект модели, если выполняются все следующие условия:

    • Вы достаточно уверены, что параметры имеют соответствующее соединение предшествующее, и что β и start2 независимы.

    • Вы хотите включить свои предшествующие знания о предшествующем среднем и ковариации β, а также о форме и масштабе

    • Нужны аналитические формы для условных апостериоров, которые являются нормально-обратно-гамма-сопряженными условными распределениями.

    diffuseblmπ(β,σ2)∝1σ2.

    Создайте этот объект модели, если выполняются все следующие условия:

    • Вы хотите, чтобы на заднюю часть больше влияла информация в данных, чем на предыдущую.

    • Совместное предварительное распределение обратно пропорционально (Jeffreys noninformative previous [2]).

    • Нужны аналитические формы для маргинальных и условных апостериоров, которые являются нормально-обратно-гамма-сопряженными распределениями для обоих типов.

    customblmДескриптор функции пользовательской функции, которая вычисляет журнал предыдущего совместного распределения.Создайте этот объект модели, если требуется указать журнал предыдущего распределения соединения. Эта спецификация обеспечивает максимальную гибкость.

  2. Учитывая данные, оцените особенности задних распределений. Функции, используемые на этом шаге, зависят от целей анализа.

    ФункцияЦели
    estimate
    • Получение объекта задней модели для прогнозирования. Объекты задней модели включают в себя:

      • Оценки средне- и ковариационной матрицы краевого заднебокового δ (β 'y, x) и среднего и дисперсию δ (start2 | y, x).

      • Предельные апостериоры и их значения параметров. Аналитические решения доступны для conjugateblm и diffuseblm предыдущие модели. Для всех других предыдущих моделей, estimate должен использовать выборку Монте-Карло.

      • 95% равны, достоверные интервалы. Для неаналитических апостериоров 95% равных, достоверными интервалами являются 0,025-квантиль и 0,975-квантиль сохраненной выборки Монте-Карло.

    • Оцените среднее значение и ковариацию условного распределения λ (β 'start2, y, x), то есть реализуйте линейную регрессию с start2, удерживаемой фиксированной.

    • Обновите существующее апостериорное распределение на основе новых данных.

    simulate
    • Аппроксимировать ожидаемое значение функции параметров относительно заднего λ сустава (β, start2 | y, x). То есть вычертить несколько выборок (β, start2) из их сустава задним, применить функцию к каждому розыгрышу, а затем вычислить среднее из преобразованных розыгрышей.

    • Черпаем из условных задних распределений δ (β 'start2, y, x) и λ (start2 | β, y, x). Этот выбор удобен для запуска пробоотборника сети Маркова Monte Carlo (MCMC), такого как пробоотборник Гиббса.

    При наличии пользовательской предыдущей модели (customblm объект), затем при вызове сэмплера Monte Carlo (MCMC) цепи Маркова estimate или simulate. Эта таблица содержит список поддерживаемых выборок MCMC. После выбора образца сначала попробуйте использовать значения параметров настройки по умолчанию.

    Образец MCMCУказать с помощьюОписание
    Гамильтониан Монте-Карло (HMC)'Sampler',"hmc"

    Поскольку HMC-пробоотборник настраивается сам, и полученные образцы хорошо смешиваются и быстрее сходятся к своему стационарному распределению, сначала попробуйте этот пробоотборник.

    Чтобы увеличить скорость выборки, введите градиент файла PDF журнала для всех или некоторых параметров.

    Случайная прогулка Метрополис'Sampler',"metropolis"

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

    Поддерживаемые распределения предложений являются многомерными нормальными и многомерными распределениями t.

    Параметры настройки включают распределение, матрицу масштаба и степени свободы.

    Часть'Sampler',"slice" (по умолчанию)Для достижения адекватного смешения и сходимости тщательно отрегулируйте типичную ширину интервала выборки. Значения зависят от приложения.

    После оценки неаналитического заднего участка с помощью пробоотборника MCMC осмотрите задний или условный задний участок для адекватного смешивания. Дополнительные сведения см. в разделе Диагностика задней оценки и моделирования.

    Если качество проб неудовлетворительное, создайте структуру опций пробоотборника с помощью sampleroptions, которая позволяет задать значения параметров настройки, соответствующие образцу. Например, чтобы задать выборку Metropolis для случайного обхода, использующую многомерное распределение предложений t с 5 степенями свободы, введите:

    options = sampleroptions('Sampler',"metropolis",'Distribution',"mvt",...
         'DegreeOfFreedom',5)
    После создания структуры опций пробоотборника укажите ее при вызове estimate или simulate с помощью 'Options' аргумент пары имя-значение.

  3. Прогнозные ответы с учетом новых данных предиктора с использованием forecast. forecast функция строит прогнозы из заднего прогностического распределения. Аналитические апостериорные прогностические распределения доступны для conjugateblm и diffuseblm предыдущие модели. Для всех других предыдущих моделей, forecast прибегает к отбору проб в Монте-Карло. Как и в случае оценки и моделирования, можно выбрать образец MCMC для customblm модели. Если forecast использует пробоотборник MCMC, вы должны проверить задний или условный задний розыгрыш для адекватного смешивания.

Рабочий процесс для выбора байесовского предиктора

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

  1. Econometrics Toolbox поддерживает два байесовских алгоритма выбора предикторов: байесовскую регрессию лассо и SSVS. Выберите алгоритм выбора предиктора, который подразумевает совместное предварительное распределение для (β, start2). Затем с помощьюbayeslmсоздайте объект предшествующей модели байесовской линейной регрессии, который выполняет выбранный алгоритм выбора предиктора, и дополнительно укажите значение параметра настройки. Эта таблица содержит объекты предыдущей модели для выбора предиктора. Для получения подробной информации о формах предыдущих распределений см. Апостериорная оценка и вывод.

    Объект моделиАлгоритм выбора предиктораПараметр настройкиКогда создавать
    mixconjugateblmSSVS [1]
    • Отклонения гауссовой смеси, указанные 'V' аргумент пары имя-значение. Укажите положительную матрицу из двух столбцов.

    • Первый столбец содержит отклонения для компонента включения переменных.

      • Укажите относительно большие значения.

      • Значения приписывают более высокую вероятность коэффициентам дальше от 0.

    • Второй столбец содержит отклонения для компонента исключения переменных.

      • Укажите относительно небольшие значения.

      • Значения приписывают более высокую вероятность коэффициентам, близким к 0.

    • Предшествующая дисперсия β является функцией

    • Вы хотите апостериорные оценки вероятности того, что переменная включена в модель.

    mixsemiconjugateblmSSVSТо же, что и mixconjugateblm

    • β и start2 независимы, априори.

    • Вы хотите апостериорные оценки вероятности того, что переменная включена в модель.

    lassoblmБайесовская регрессия лассо [3]

    • λ, указанный 'Lambda' аргумент пары имя-значение. Можно указать положительный скаляр или вектор.

    • Большие значения указывают на большую регуляризацию, что подразумевает, что предшествующий β является плотным около нуля.

    • Если переменные предиктора отличаются по шкале на порядки величин, то подать вектор усадок, где элементы соответствуют коэффициентам.

    Вы хотите заставить незначительные и избыточные переменные предиктора иметь коэффициенты с задним режимом нуля и довольно жесткими 95% задними достоверными интервалами вокруг этого режима.

  2. Поскольку алгоритмы выбора предиктора могут быть чувствительны к различным масштабам переменных предиктора (в частности, байесовская регрессия лассо), определите масштаб предикторов, передав данные в boxplotили путем оценки их средних и стандартных отклонений с использованием mean и stdсоответственно.

  3. Для предыдущих моделей SSVS постройте график предыдущих распределений коэффициентов с помощью plot. Графики дают представление о том, как сбалансированы плотности двух гауссовых компонентов. Дисперсию коэффициента можно скорректировать с помощью точечной нотации. Например, отнести предыдущие отклонения 1000 и 0,1 к компонентам включения и исключения переменных, соответственно, для коэффициента j, введите:

    PriorMdl.V(j,:) = [1000 0.1];
    Дополнительные сведения об указании V, см. [1].

    Для предыдущих моделей лассо определите путь регуляризации, то есть ряд значений λ для итерации во время задней оценки. Значения зависят от данных.

    • Если переменные предиктора имеют сходные масштабы, укажите левую границу, которая форсирует большинство переменных в модель (то есть не приписывает почти никакого штрафа), укажите правую границу, которая заставляет почти все коэффициенты равны 0, и укажите достаточное количество значений между границами для адекватного поиска пространства. По умолчанию программа присваивает усадке значение 0.01 на перехват и 1 ко всем коэффициентам.

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

      Например, предположим, что регрессионная модель имеет три предиктора. Первые два предиктора имеют схожие шкалы, но третий предиктор имеет шкалу, которая на 3 порядка больше. Предположим, что путь 100-элементной регуляризации находится в векторе 1 на 100 Lambda. Чтобы создать матрицу значений усадки, введите следующий код:

      p = 3               % Number of predictors
      numcoeffs = p + 1;  % Number of coefficients, intercept and predictors
      LambdaMat = repmat(Lambda,4,1);
      LambdaMat(4,:) = 1e3*LambdaMat(4,:);
      

      Для получения дополнительной информации об указании λ см. [3].

  4. В for цикл, передача данных предиктора и ответа в estimate оценить особенности задних распределений для каждого значения параметра настройки. Для каждой итерации сохраните объект задней модели и сводную таблицу оценки в массиве ячеек. estimate использует пробоотборник Гиббса для последовательной выборки из полных условий (см. Аналитически отслеживаемые апостериоры). С помощью доступных опций можно изменить такие аспекты образца Гиббса, как коэффициент прореживания.

    Задние модели (empiricalblm объекты модели) хранят черчения из полных условий, среди прочего.

    Сводные таблицы оценки - это таблицы MATLAB ®, которые включают в себя:

    • Оценки среднего (Mean) и ковариационная матрица (Covariances) краевого заднебокового δ (β 'y, x), и среднее и дисперсию δ (start2 | y, x).

    • 95% равных, достоверные интервалы (CI95), которые являются 0,025-квантилем и 0,975-квантилем сохраненной выборки Монте-Карло.

    • Апостериорные переменные вероятности включения (Regime) только для предыдущих моделей SSVS. Значения ниже определенного порога указывают на то, что соответствующий предиктор является незначительным или избыточным.

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

  5. Определите наилучшую заднюю модель. Два примера:

    • Выберите простейшую модель, которая минимизирует среднеквадратичную ошибку (MSE, средство Sigma2) среди всех задних моделей. Этот метод прост, но полученные модели могут плохо обобщаться.

    • Выберите простейшую модель, минимизирующую прогноз MSE.

      1. Разбейте данные на выборки оценок и прогнозов.

      2. Для всех выбранных значений параметров настройки оцените апостериорное распределение, используя данные выборки оценки.

      3. Вычислите прогнозный MSE, используя прогнозную выборку и прогнозируемые ответы, используя апостериорное прогностическое распределение.

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

Ссылки

[1] Джордж, Э. И. и Р. Э. Маккаллох. «Выбор переменной с помощью выборки Гиббса». Журнал Американской статистической ассоциации. т. 88, № 423, 1993, стр. 881-889.

[2] Марин, Дж. М. и К. П. Роберт. Байесовская основа: практический подход к вычислительной байесовской статистике. Нью-Йорк: Springer Science + Business Media, LLC, 2007 .

[3] Парк, T. и Г. Казелла. «Байесовский Лассо.» Журнал Американской статистической ассоциации. т. 103, № 482, 2008, стр. 681-686.

См. также

Функции

Объекты

Связанные темы