全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
25557 20
2009-12-09
各位大侠,我刚刚学习使用R软件来处理时间序列数据,有诸多不懂,还请多多指导。谢谢!
请问R软件里如何得到ARIMA模型的BIC值。以下例为例,结果只有AIC而无BIC值?该如何得到BIC值呢?

> p=0
> q=1
> x=as.ts(gz19)
> d=0
> arima(x,order=c(p,d,q))
Call:
arima(x = x, order = c(p, d, q))
Coefficients:
          ma1  intercept
      -1.0000   106.9203
s.e.   0.2231     0.4263
sigma^2 estimated as 120.8:  log likelihood = -74.01,  aic = 154.01
>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-12-9 11:24:28
问题2:AICC值又该如何得到呢?有无已有函数?还是得自己编程?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-9 11:28:19
问题3,eviews同R计算aic的公式有什么不同呢?
问题4,R软件里是否有时间序列专用的包(库),在哪里可以找到?哪里又有详细介绍包里有哪些东东如何使用呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-10 13:24:47
#######arima
library(forecast)
Arima(lh, order = c(1,0,1))
Series: lh
ARIMA(1,0,1) with non-zero mean
Coefficients:
         ar1     ma1  intercept
      0.4522  0.1982     2.4101
s.e.  0.1769  0.1705     0.1358
sigma^2 estimated as 0.1923:  log likelihood=-28.76
AIC=65.52   AICc=66.45   BIC=73.01
#####
ps:
aic=65.52
npar=4
nstar=48
bic = aic + npar*(log(nstar) - 2)
bic  #   73.0048
#####lm model
     可以用公式算,也可以用既有 AIC, BIC function
AIC = n + n * log(2 * pi) + n * log(rss/n) + 2 * (P+1)
BIC = n + n * log(2 * pi) + n * log(rss/n) + log(n) * (p+1)

lm <- lm(Fertility ~ . , data = swiss)
n <- nrow(swiss)
rss <- sum(resid(lm) ^2)

#calculate AIC
n + n*log(2*pi) + n * log(rss / n ) + 2 * (6+1)
#[326.0716]
#call AIC function
AIC(lm)
#[326.0716]

#calculate BIC
n + n * log(2*pi) + n*log(rss/n) +  log(n) * (6+1)
#[339.0226]
#call AIC function to calculate BIC
AIC(lm, k=log(n))
#[339.0226]
#call BIC function from "nlme" package
library(nlme)
BIC(lm)
#[339.0226]

问题3  eviews同R计算aic的公式,只是小不同而已.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-11 15:55:26
^_^,谢谢LS.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-17 22:27:43
Pi是什么意思?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群