全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10679 3
2012-07-04
看网上说有两种方法,一种是用ts包里面的predict函数,还有就是用forecast包,但问题是两种方法得到的预测结果为什么不一样呢?

同一组数据,符合ARIMA((1,0,1),进行未来10期的预测

用predict
[1] 0.0006992348 0.0005721289 0.0005102918 0.0004802080 0.0004655722
[6] 0.0004584519 0.0004549879 0.0004533026 0.0004524827 0.0004520838

用forecast
Point Forecast       Lo 80       Hi 80       Lo 95      Hi 95
17    -0.01276487 -0.04514553 0.019615793 -0.06228681 0.03675708
18    -0.01460565 -0.04701049 0.017799190 -0.06416457 0.03495328
19    -0.01620355 -0.04860902 0.016201925 -0.06576344 0.03335635
20    -0.01776210 -0.05016759 0.014643392 -0.06732202 0.03179782
21    -0.01931427 -0.05171976 0.013091217 -0.06887419 0.03024565
22    -0.02086541 -0.05327090 0.011540075 -0.07042533 0.02869450
23    -0.02241639 -0.05482188 0.009989100 -0.07197631 0.02714353
24    -0.02396734 -0.05637283 0.008438152 -0.07352726 0.02559258
25    -0.02551828 -0.05792377 0.006887208 -0.07507820 0.02404164
26    -0.02706922 -0.05947471 0.005336265 -0.07662914 0.02249070

请问这是为什么?哪个结果是对的?


二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-7 02:18:53
predict之后得到的有$se 也有$pred, 在我看来 貌似楼主把$se勿当成$pred, 实际上两种方法结果是一模一样的,见下例:
rm(list=ls())
data=c(
3.833736658,
4.663384414,
4.079585869,
1.459875074,
7.380995937,
12.4913677,
2.311010476,
-1.152176691,
-22.20108727,
-12.8632299)
k=arima(data,order=c(1,0,0))
kt1=predict(k,n.ahead=10)
kt1_pred=kt1$pred
library(forecast)
kt2=forecast(k,20, level=c(80,95))
plot(forecast(k))
kt2_pred=kt2$mean
kt1_pred-kt2_pred#两者相同,故差为0
二维码

扫码加我 拉你入群

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

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

2012-7-7 23:16:53
我也试过,forecast函数和predict函数得出的结果是一样的。
二维码

扫码加我 拉你入群

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

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

2012-7-8 08:51:39
colin_jolin 发表于 2012-7-7 02:18
predict之后得到的有$se 也有$pred, 在我看来 貌似楼主把$se勿当成$pred, 实际上两种方法结果是一模一样的, ...
应该不会犯这么二的错误,事实上,好像网上说要在arima和predict里面分别对xreg和newxreg做调整,然后就一样了。但是这个结果与Eviews做出来的结果仍然有出入,你觉得谁的结果更靠谱?
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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