2016-10-12 19 views
0

У меня проблема для вычисления AIC. Действительно, я оцениваю параметры моих трех моделей: «mod_linear», которая представляет собой линейную модель и «mod_exp» и «mod_logis», которые являются двумя нелинейными моделями.AIC на nls на R

Я использовал функцию AIC():

AIC(mod_linear,mod_exp,mod_logis) 

      df  AIC 
mod_linear 4 3.015378 
mod_exp  5 -11.010469 
mod_logis 5 54.015746 

Но я пытался вычислить AIC с Formule AIC = 2k + Nlog (RSS/п), где К числу параметров, п числа образца и RSS остаточная сумма квадратов.

k=4 
n=21 
#Calcul of nls for the linear model: 
mod_linear=nls(data$P~P_linear(P0,K0,a),data=data, 
start=c(P0=4.2,K0=4.5,a=0.) 

2*k+n*log(sum(residuals(mod_linear)^2)/n) 
-56.58004 

Как вы можете видеть, это не тот же результат, и это то же самое для двух других моделей. Кто-нибудь может мне помочь?

С уважением

+0

Вы можете улучшить свой вопрос. Пожалуйста, прочитайте [как предоставить минимальные воспроизводимые примеры в R] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example#answer-5963610). Затем отредактируйте и улучшите его соответствующим образом. – lukeA

ответ

4

Вы всегда должны заботиться о том, вы используете последовательные определения AIC.

AIC использует обычное определение 2k-2 * ln (L). Логарифмическая вероятность рассчитывается, например, на stats:::logLik.lm как 0.5 * (- N * (log(2 * pi) + 1 - log(N) + log(sum(res^2)))).

Пример:

fit <- lm(Sepal.Length ~ Sepal.Width, data = iris) 
AIC(fit) 
#[1] 371.9917 
logL <- 0.5 * (- length(residuals(fit)) * (log(2 * pi) + 1 - log(length(residuals(fit))) + log(sum(residuals(fit)^2)))) 

2 * (fit$rank + 1) - 2 * logL 
#[1] 371.9917 

Однако help("AIC") предупреждает:

В журнале правдоподобия и, следовательно, АИК/БИК определена лишь с точностью до аддитивной константы . Различные константы обычно использовались для разных целей ... Особое внимание необходимо уделять при сравнении приспособлений разных классов [...].

См stats:::logLik.nls для того, как логарифмическая функция правдоподобия вычисляется для nls припадков.

Смежные вопросы