Я изучаю байесовский информационный критерий (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
, я не уверен, что оно относится к количеству общих параметров или числу свободных параметров в моей модели.
Но у меня есть сомнение: согласно странице в Википедии, это второе уравнение является приближенным в случае «ошибки модели или возмущения являются независимыми и одинаково распределены в соответствии с нормальным распределением». Это приближение разумно?