全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
11375 8
2010-10-27
研究目的:分析因变量Y随时间t的变化趋势(上升、下降)。

刚做了这样的分析:想比较时间序列数据和普通回归的结果。
#设置因变量Y:
Y<-c(228,189,232,198,252,315)

#将数据设置为时间序列,时间跨度为2003~2008
Y_ts<- ts(Y,start = 2003,end = 2008, frequency = 1)
t<-seq(2003,2008,length=length(Y_ts));

#对时间序列数据做回归
summary(lm(Y_ts ~ t))



#数据未做任何处理的普通回归
summary(lm(Y~c(2003:2008)))

两种回归的结果一样,不知道为什么。
时间序列数据中,对于2003,是2003年;而普通数据中的2003,就是自然数2003。
数据的性质不同,但为什么做出的回归结果一样呢?
多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-10-27 20:44:36
lm应该不管你是不是时间序列吧
二维码

扫码加我 拉你入群

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

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

2010-10-28 10:55:04
2# aspenroad

嗯,但2种操作的数据性质不同,一个是时间序列,一个不是。

而且后来发现:其实t和c(2003:2008)没差别

那么如果我想看2003~2008的Y值随时间的变化趋势该怎么做呢?

如果用lm的话,那么时间t就当成自然数看待了(例如2003,就当成自然数2003,而不是2003年了),这样的话,lm的结果也可以用么?

多谢
二维码

扫码加我 拉你入群

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

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

2011-4-26 02:38:05
你用的是R吧?在R里面c(2003:2008)和t<-seq(2003,2008,length=length(Y_ts))得到的东西是一样的。所以你是做了同样的模型估计。
在R里面做时间序列分析,尝试用arima() 对于univariate的模型,garch()(在tseries包里面)对于volatily modeling. 其他例如dse,fracdiff等的包涉及更多更复杂的时间序列分析。
二维码

扫码加我 拉你入群

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

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

2011-4-26 09:01:54
tianjiachuan 发表于 2011-4-26 02:38
你用的是R吧?在R里面c(2003:2008)和t
多谢,我看看。
二维码

扫码加我 拉你入群

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

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

2011-4-27 16:56:57
你的t可以直接用t=time(Y_ts)和你赋值是一样的
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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