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

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 [2]).

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

    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.

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

Функции

Объекты

Похожие темы