全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3172 2
2012-12-23
这是某外贸公司十年的销售数据(每年只保留了1-11月份的数据,12月份没有记录)。我用arima季节乘积模型对它作了拟合。    首先观察该公司10年的销售数据状况,表现出很强的周期特征:
    sum_sale_date.png
   然后对之取对数,并以11为周期取差分变化,差分后如下:
   lsale_d11.png
  然后取一阶差分,得出图形以及ac及pac图如下
lsale_d11_d1.png
acd11_d1.png
pacd11_d1.png
我经过实验选择了ar(1,11) ma(1)拟合上述模型(其实我选择的依据主要是显著性)。 arima.png
残差项通过了白噪声的检验:
white noise.png
对数变换的真实值和拟合值的情形:
lsale.png
最终真实值和拟合值的情况:
sale_pre.png
然后我查看了误差绝对值>150000的观测值,注意到它们所在的月份貌似都有节假日……我还不知道该怎么处理这个问题……我想可以加个虚拟变量之类的?欢迎讨论~
pre_e.png
   数据来源于我目前实习的公司,主要参考《时间序列分析:预测与控制》。
   欢迎讨论~以下是我的stata代码,有一些跟数据集的变量有关,业务背景敬请忽略之……另外代码写的很不成熟……还请多多指教~
         
  use doi.dta, clear
  egen sum_sale=sum(sale), by (date)
  keep if cate=="01"
  *keep date sum_sale
  line sum_sale date
  tsset date
  gen l_sale=ln(sum_sale)
  *gen l_sale_l6=L6.l_sale
  gen l_sale_l11=L11.l_sale
  gen l_sale_d11=l_sale-l_sale_l11
  line l_sale_d11 date
  ac l_sale_d11
  pac l_sale_d11
  gen lsale_d11_d1=D.l_sale_d11
  line lsale_d11_d1 date
  ac lsale_d11_d1
  pac lsale_d11_d1
  arima lsale_d11_d1, ar(1,11) ma(1)
  *drop e
  predict e ,res
  wntestb e
  predict y,xb
  gen y1=L1.l_sale_d11+y+L11.l_sale
  gen y2=exp(y1)
  twoway (line y1 date) ///
         (line l_sale date)         
  twoway (line y2 date) ///
         (line sum_sale date)
  save sum_sale.dta, replace

  use sum_sale.dta,clear
  gen e1=sum_sale-y2
  keep if y2!=. &  abs(sum_sale-y2)>150000
  keep year month sum_sale y2 e1











二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-26 16:14:41
哎……为啥木有人鸟这帖……TT好难过啊……
二维码

扫码加我 拉你入群

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

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

2013-5-4 17:25:01
stata新手表示很佩服。。在学习中。。。谢谢楼主分享哇。。。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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