Реализуйте байесовую линейную регрессию

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

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

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

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

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

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

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

Для получения дополнительной информации на стандартном Байесовом рабочем процессе линейной регрессии, смотрите Рабочий процесс для Стандартных Байесовых Моделей Линейной регрессии, и для Байесового выбора предиктора, смотрите Рабочий процесс для Байесового Выбора Предиктора.

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

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

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

    Объект моделиСоедините предшествующее распределение (β, σ 2)Когда создать
    conjugateblm
    • π (β |σ2) является Гауссовым со средним Mu и ковариацией σ 2V.

    • π (σ 2) является обратной гаммой с формой A и шкала B.

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

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

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

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

    semiconjugateblm
    • π (β) является Гауссовым со средним Mu и ковариацией V.

    • π (σ 2) является обратной гаммой с формой A и шкала B.

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

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

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

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

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

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

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

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

    • Объединенное предшествующее распределение обратно пропорционально σ 2 (Jeffreys noninformative prior [6]).

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

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

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

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

      • Оценки средней и ковариационной матрицы крайнего следующего π (β |y, x) и среднее значение и отклонение π (σ 2|y, x).

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

      • 95% equitailed, вероятные интервалы. Для неаналитического последующего поколения, 95% equitailed, вероятные интервалы являются с 0.025 квантилями и с 0.975 квантилями из сохраненной выборки Монте-Карло.

    • Оцените среднее значение и ковариацию условного распределения π (β |σ2, y, x), то есть, реализуйте линейную регрессию с σ 2 зафиксированные считаемых.

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

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

    • Чертите от условных апостериорных распределений π (β |σ2, y, x) и π (σ 2|β, y, x). Этот выбор удобен для выполнения сэмплера Цепи Маркова Монте-Карло (MCMC), таков как сэмплер Гиббса.

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

    Сэмплер MCMCЗадайте ИспользуяОписание
    Гамильтонов Монте-Карло (HMC)'Sampler',"hmc"

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

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

    Случайная Столица обхода'Sampler',"metropolis"

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

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

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

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

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

    Если качество выборок не является удовлетворительным, то создайте структуру опций сэмплера при помощи sampleroptions, который позволяет вам задавать настраивающиеся значения параметров, которые подходят для сэмплера. Например, чтобы задать случайный сэмплер Столицы обхода, который использует многомерное распределение предложения 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. Выберите алгоритм выбора предиктора, который подразумевает объединенное предшествующее распределение для (β, σ 2). Затем использование bayeslm, создайте Байесовую линейную регрессию предшествующий объект модели, который выполняет выбранный алгоритм выбора предиктора, и опционально задайте настраивающееся значение параметров. Эта таблица содержит доступные предшествующие объекты модели для выбора предиктора. Для получения дополнительной информации на формах предшествующих дистрибутивов, смотрите Следующую Оценку и Вывод.

    Объект моделиАлгоритм выбора предиктораНастройка параметраКогда создать
    mixconjugateblmSSVS [1]
    • Гауссовы отклонения смеси, заданные аргументом пары "имя-значение" 'V'. Задайте 2D столбец положительная матрица.

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

      • Задайте относительно большие значения.

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

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

      • Задайте относительно маленькие значения.

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

    • Предшествующее отклонение β является функцией σ 2.

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

    mixsemiconjugateblmSSVSТо же самое как mixconjugateblm

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

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

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

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

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

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

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

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

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

    PriorMdl.V(j,:) = [1000 0.1];
    Для получения дополнительной информации при определении V, см. [1].

    Для лассо предшествующие модели определите regularization path, то есть, серию значений для λ, чтобы выполнить итерации через во время следующей оценки. Значения информационно-зависимы.

    • Если переменные прогноза имеют подобные шкалы, задают левый контур, который обеспечивает большинство переменных в модель (то есть, атрибут почти никакой штраф), задайте правильный контур, который обеспечивает почти все коэффициенты к 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), и среднего значения и отклонения π (σ 2|y, x).

    • 95% equitailed, вероятные интервалы (CI95), которые являются с 0.025 квантилями и с 0.975 квантилями из сохраненной выборки Монте-Карло.

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

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

  5. Определите лучше всего выполняющую следующую модель. Два примера:

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

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

      1. Разделите данные в оценку и предскажите выборки.

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

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

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

Ссылки

[1] Джордж, E. I. и Р. Э. Маккалок. "Выбор переменной Через Гиббс, Выбирающий". Журнал американской Статистической Ассоциации. Издание 88, № 423, 1993, стр 881–889.

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

[3] Припаркуйтесь, T. и Г. Казелла. "Байесово Лассо". Журнал американской Статистической Ассоциации. Издание 103, № 482, 2008, стр 681–686.

Смотрите также

Функции

Объекты

Похожие темы