2014-09-16 5 views
3

Я начал опробовать pymc3 и вам нужно реализовать модель многомерной логистической регрессии. Я изучил учебники twiecki, и я понимаю его реализации иерархических моделей регрессии (см. https://twiecki.github.io/blog/2014/03/17/bayesian-glms-3/), а также некоторые базовые примеры бинарной логистической регрессии в pymc3. Я еще не видел никаких расширений этого для многомерных логистических регрессий. Есть ли поддержка для этого с помощью GLM pymc3? Или как реализовать это без использования GLM? Вот ссылка на ноутбук iPython, где я пытаюсь решить проблему, хотя я знаю, что мне не хватает чего-то значительного здесь: http://nbviewer.ipython.org/github/mvictor212/pymc-multinom-logit/blob/master/MultinomialLogisticRegression%20-%20Radon%20Level.ipynbМноголинейная логистическая регрессия - pymc3

ответ

1

Категорически параметризуется вектором вероятностей, по одному для каждого класса, которые составляют один (PyMC ожидает вероятность k-1 и вычисляет последнее путем вычитания). В этом примере, похоже, вы получаете только одну вероятность для каждого наблюдения, если я правильно читаю ваш код. (Кроме того, это то, о чем свидетельствует ваша ошибка - он получил индекс 1, когда вектор параметров имеет размер 1).

Например, позволяет сказать, что я имел данные, представленные на три класса:

[0, 2, 2, 1, 0, 2, 1, 0, 1, 1] 

Тогда я должен иметь вектор значений для р длины 2, например:

p = [0.4, 0.3]