python функция для байесиального информационного критерия (BI C) - PullRequest
0 голосов
/ 24 марта 2020

Я изучаю байесовский информационный критерий (BI C), чтобы выбрать модель, которая лучше представляет набор точек данных, и я хотел бы вычислить функцию python, которая оценивает значение BI C.

Я знаю теорию и главное уравнение: BIC=ln(n)k -2ln(L) (из здесь ), но практически не понимаю, что мне нужно делать.

I есть набор точек данных и модель, но каковы логические c пассажи для реализации L в моей функции?

  • n - это число точек данных
  • k - это число свободных параметров в моей модели
  • L - это максимальное значение функции правдоподобия модели, которую я не знаю, как вычислить

В качестве альтернативы есть пакет, в котором уже реализована некоторая функция BI C?

ОБНОВЛЕНИЕ Благодаря @dang я смотрю на более простое уравнение здесь :

BIC = n*log(residual sum of squares/n) + k*log(n)

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

Но у меня есть сомнение: согласно странице в Википедии, это второе уравнение является приближенным в случае «ошибки модели или возмущения являются независимыми и одинаково распределены в соответствии с нормальным распределением». Это приближение разумно?

1 Ответ

1 голос
/ 24 марта 2020

googling bayesian information criterion python дает библиотеку RegscorePy для pypi. Его функция BI C кажется полезной.

...