楼主: 南冰
90152 299

急:R软件加载程序包tsDyn问题 [推广有奖]

271
心若灿烂 发表于 2013-3-25 00:34:34 |只看作者 |坛友微信交流群
epoh 发表于 2010-10-15 12:04
这不是数据的问题
因为package自带的数据lynx,也发生同样问题
library(tsDyn)
    你好:我用上一楼的数据和方法,得到了结果确不同与他的,我的tsDyn是9.o版的。结果如下:
>svpdx <- read.table("data.txt", header = TRUE)
>svpdx
    cpi  rpi          m2
1   3.4  2.9  0.26524514
2   6.4  5.4  0.31278198
3  14.7 13.2  0.37310154
4  24.1 21.7  0.34529154
5  17.1 14.8  0.29467111
6   8.3  6.1 -0.03867458
7   2.8  0.8  0.34668927
8  -0.8 -2.6  0.17245702
9  -1.4 -3.0  0.14411363
10  0.4 -1.5 -0.31433668
11  0.7 -0.8  0.87572994
12 -0.8 -1.3  0.16337324
13  1.2 -0.1  0.19679602
14  3.9  2.8  0.18161695
15  1.8  0.8  0.14387323
16  1.5  1.0  0.18886459
17  4.8  3.8  0.15787746
18  5.9  5.9  0.18875571
19 -0.7 -1.2  0.18736354
> x=svpdx$cpi
> y=svpdx$rpi
> z=svpdx$m2
> library(tsDyn)
>ndx.lstar <- lstar(x, m=3,d=1, thVar=z,control=list(maxit=3000))
(使用此命令得到的结果与你的上述结果有很大有不同,特别是gamma值= 330.0193)结果如下:
Using maximum autoregressive order for low regime: mL = 3
Using maximum autoregressive order for high regime: mH = 3
Using only first 16 elements of thVar
Performing grid search for starting values...
Starting values fixed: gamma =  100 , th =  0.2919505 ; SSE =  103.1979
Grid search selected lower/upper bound gamma (was:  1 100 ]).
                                          Might try to widen bound with arg: 'starting.control=list(gammaInt=c(1,200))'
Convergence problem code 1. You might want to increase maximum number of iterations by setting 'control=list(maxit=1000)'
Optimized values fixed for regime 2  : gamma =  330.0193 , th =  0.2820525 ; SSE =  90.99445
> summary(ndx.lstar)

Non linear autoregressive model

LSTAR model
Coefficients:
Low regime:
    const1     phi1.1     phi1.2     phi1.3
-0.7398994  1.8526579 -1.2560973  0.7310564
High regime:
    const2     phi2.1     phi2.2     phi2.3
2.7868701 -1.0567428  1.0397095 -0.8612935
Smoothing parameter: gamma = 330
Threshold
Variable: external
Value: 0.2821
Residuals:
     Min       1Q   Median       3Q      Max
-5.95810 -1.28246 -0.17115  1.28210  4.00887
Fit:
residuals variance = 4.789,  AIC = 50, MAPE = 132%
Coefficient(s):
         Estimate  Std. Error  t value  Pr(>|z|)   
const1  -0.739899    0.995576  -0.7432  0.457368   
phi1.1   1.852658    0.257118   7.2055 5.784e-13 ***
phi1.2  -1.256097    0.581746  -2.1592  0.030836 *  
phi1.3   0.731056    0.318841   2.2929  0.021856 *  
const2   2.786870    2.025909   1.3756  0.168941   
phi2.1  -1.056743    0.347791  -3.0384  0.002378 **
phi2.2   1.039710    0.661091   1.5727  0.115784   
phi2.3  -0.861293    0.390391  -2.2062  0.027368 *  
gamma  330.019336 315.129183   1.0473  0.294984   
th       0.282053    0.013939  20.2354 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Non-linearity test of full-order LSTAR model against full-order AR model
F = 0.11978 ; p-value = 0.94616
Threshold
Variable: external>  
    我的问题是:    1、这是多变量的LSTAR模型(平滑转换)。为什么在LSTAR中体现不同系列的不稳性问题呢,或者是不需要作平稳性检验??
    2、我们知道在对作平滑转换模型前,要对基本的回归作非线性检验。这里看不到这一点;是不是不需要这一过程,或含在过程中!
    3、过程中说:Performing grid search for starting values.也即晶格搜索过程;我不知道这一过程的机理,你能不能写出这个过程的程序来;如何选择的!?
    4、这一转换变除X以外的变量z。如是转换变量是Z的滞后项时,又如何办法。是不是程序中也对转换烃量Z及其滞后有选择!如果没有的话,我们要作出是Z的滞后项时,又如何选择呢?
    谢谢!
   

使用道具

272
南冰 发表于 2013-3-25 09:02:51 |只看作者 |坛友微信交流群
心若灿烂 发表于 2013-3-25 00:34
你好:我用上一楼的数据和方法,得到了结果确不同与他的,我的tsDyn是9.o版的。结果如下:
>svpdx s ...
本不想回你,因为水平实在有限,并且两年没动STAR了,现在打算拾起来。
1.你所说的“在LSTAR中体现不同系列的不稳性问题”我不明白你说的是什么意思。但是在建模之前是要进行平稳性检验的,因为序列不平稳的话做起来就没有意义了,至于平稳性检验是进行普通的ADF检验还是非线性单位根检验,你可以阅读一些文献,我这方面没研究过!
2.平滑转换模型在估计前肯定是要做非线性检验的,如果序列不存在非线性性你还有建立STAR模型的必要吗?至于用软件进行模型在估计时看不到这一点,我想所有的软件都不是万能的或者你没有了解其功能。
3.晶格搜索功能你可以看R的源程序,R中所有的过程R都有源代码的。
4.不知道现在R中有没有这个功能,即使没有这个功能如果你对R熟悉的话想实现这个功能也是比较容易的,可以提前定义滞后变量,实在不行用笨方法,手动滞后!
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
epoh + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

一直怀有一个梦想,希望在不久的将来能读个博士,做做学术搞搞研究,饱尝学术的艰辛

使用道具

273
心若灿烂 发表于 2013-3-25 09:49:37 |只看作者 |坛友微信交流群
你说的,我有些理解:
   1、序列是要平稳的。这一点可用不同的方法进行行检验;
   2、在R中用ESTAR还是用LSTAR之前,我看不到用R来判定的过程。这是不是在这之前要进行相关的泰勤级数展开,进行转换变量、非线性、平滑转换的类型进行判断。再来用R执行计算结果!
   3、门限值的晶格搜索,由于我的水平有限,在R中我看不到这一点,特别是有关这一方面的作图,望指教。
   4、如何进行提前义滞后变量,就用你的数据中的变量rpi滞后二期作为转换变量,rpi(-2).如何定呢?
   谢谢!

使用道具

274
雁茗轩 发表于 2013-3-25 11:16:39 |只看作者 |坛友微信交流群
epoh 发表于 2012-11-3 18:24
1.程序可以正常运转
2."java的多态",不太懂这句话的意思,请用英文表达
3.抱歉!目前我的computer没安装G ...
epoh老师您好!好久不见,近来还好吧?还是有个问题得麻烦您,附件中是我的数据,修改以后的脉冲的程序在消息中发给您了,不知道是因为数据本身的问题还是我修改的脉冲程序的问题,做出来不管何种冲击,对低区制的脉冲响应不存在,所以想请教下您,谢谢您啦!

dxy.txt

2.49 KB

使用道具

275
epoh 发表于 2013-3-25 18:26:03 |只看作者 |坛友微信交流群
雁茗轩 发表于 2013-3-25 11:16
epoh老师您好!好久不见,近来还好吧?还是有个问题得麻烦您,附件中是我的数据,修改以后的脉冲的程序在 ...
Package 'tsDyn' Version: 0.9-2

似乎做了些改变,不仅是你现在的数据,程序有误,
以前你可以运行的数据,程序,也会产生错误
麻烦你确认一下,
果真如此就要重改了

使用道具

276
雁茗轩 发表于 2013-3-25 19:37:31 |只看作者 |坛友微信交流群
epoh 发表于 2013-3-25 18:26
Package 'tsDyn' Version: 0.9-2

似乎做了些改变,不仅是你现在的数据,程序有误,
哦,这样啊……我做了一遍还是这样,我也不清楚这个问题到底在哪里了。还是谢谢您啊!

使用道具

277
epoh 发表于 2013-3-26 14:01:35 |只看作者 |坛友微信交流群
雁茗轩 发表于 2013-3-25 19:37
哦,这样啊……我做了一遍还是这样,我也不清楚这个问题到底在哪里了。还是谢谢您啊!
依274楼的帖子,你应该还是用旧版的'tsDyn',

针对tsDyn 0.9-2,程序我已做了小幅修改,
只要你的hist_m数据,跟底下相同,就OK.
>  hist_m
               V1/0           V1/-1         V1/-2         V1/-3            y          thVar
  [1,] 1 0.00179668 0.00270453 0.00425054 0.00585017 0.00164751  0.1691
  [2,] 1 0.00164751 0.00179668 0.00270453 0.00425054 0.00164379  0.1067
  [3,] 1 0.00164379 0.00164751 0.00179668 0.00270453 0.00363308 -0.0089
  ...
  ...
  ...
[119,] 1 0.00435414 0.00666589 0.00665750 0.00586029 0.00407734 -0.7494
[120,] 1 0.00407734 0.00435414 0.00666589 0.00665750 0.00407991 -0.4094
[121,] 1 0.00407991 0.00407734 0.00435414 0.00666589 0.00394814  0.1550

shock on low,high regime 修改后的程序在短信息
low_high_ regimes.jpeg
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
南冰 + 5 + 5 + 5 热心帮助其他会员

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

278
雁茗轩 发表于 2013-3-26 20:26:01 |只看作者 |坛友微信交流群
epoh 发表于 2013-3-26 14:01
依274楼的帖子,你应该还是用旧版的'tsDyn',

针对tsDyn 0.9-2,程序我已做了小幅修改,
太谢谢您了!我再试试!

使用道具

279
心若灿烂 发表于 2013-3-27 12:06:22 |只看作者 |坛友微信交流群
epoh 发表于 2010-9-30 10:23
library(tsDyn)
x
请教:epoh


http://127.0.0.1:28317/library/tseries/html/arma.html
的例子出了问题!!!

一、以下是网页上其中的例子:

See Also

summary.arma for summarizing ARMA model fits; arma-methods for further methods; arima0, ar.

Examples


1、data(nino)
2、s<-nino3.4
3、summary(s.arma<-arma(s,order=c(20,0)))
4、summary(s.arma<-arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=NULL)))
5、acf(residuals(s.arma),na.action=na.remove)
6、pacf(residuals(s.arma),na.action=na.remove)
7、summary(s.arma<-arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=12)))
8、summary(s.arma<-arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17),ma=12)))
9、plot(s.arma)
***********************************************************************************
   二、我照着以上的例子来实验有如下的结果:> data(nino)
> s<-nino3.4
> summary(s.arma<-arma(s,order=c(20,0)))

Call:
arma(x = s, order = c(20, 0))

Model:
ARMA(20,0)

Residuals:
      Min        1Q    Median        3Q       Max
-1.378647 -0.223040  0.007358  0.215996  1.103511

Coefficient(s):
           Estimate  Std. Error  t value Pr(>|t|)   
ar1         1.10163     0.04090   26.932  < 2e-16 ***
ar2        -0.05461     0.06063   -0.901 0.367693   
ar3        -0.17718     0.06060   -2.924 0.003457 **
ar4         0.07072     0.06056    1.168 0.242900   
ar5        -0.05292     0.05990   -0.884 0.376941   
ar6         0.06743     0.05932    1.137 0.255661   
ar7        -0.17060     0.05877   -2.903 0.003698 **
ar8        -0.03509     0.05857   -0.599 0.549068   
ar9         0.03326     0.05827    0.571 0.568113   
ar10        0.14149     0.05829    2.427 0.015206 *  
ar11        0.01597     0.05812    0.275 0.783504   
ar12        0.16400     0.05791    2.832 0.004629 **
ar13       -0.22467     0.05833   -3.852 0.000117 ***
ar14       -0.01355     0.05869   -0.231 0.817394   
ar15       -0.04530     0.05845   -0.775 0.438283   
ar16       -0.18815     0.05807   -3.240 0.001196 **
ar17        0.20923     0.05868    3.566 0.000363 ***
ar18        0.07387     0.05868    1.259 0.208074   
ar19       -0.13363     0.05792   -2.307 0.021045 *  
ar20        0.05234     0.04002    1.308 0.190952   
intercept   4.46824     0.79612    5.613 1.99e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Fit:
sigma^2 estimated as 0.1079,  Conditional Sum-of-Squares = 62.24,  AIC = 407.41


>summary(s.arma<-arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=NULL)))

Call:
arma(x = s, lag = list(ar = c(1, 3, 7, 10, 12, 13, 16, 17, 19),     ma = NULL))

Model:
ARMA(19,0)

Residuals:
      Min        1Q    Median        3Q       Max
-1.360875 -0.230887  0.005043  0.226822  1.090989

Coefficient(s):
           Estimate  Std. Error  t value Pr(>|t|)   
ar1         1.07772     0.02642   40.793  < 2e-16 ***
ar3        -0.16942     0.03016   -5.618 1.93e-08 ***
ar7        -0.13913     0.02254   -6.174 6.67e-10 ***
ar10        0.16459     0.02931    5.615 1.97e-08 ***
ar12        0.20472     0.04754    4.306 1.66e-05 ***
ar13       -0.29976     0.04133   -7.253 4.07e-13 ***
ar16       -0.21637     0.04349   -4.975 6.54e-07 ***
ar17        0.25139     0.04648    5.408 6.37e-08 ***
ar19       -0.04510     0.02580   -1.748   0.0804 .  
intercept   4.61896     0.77687    5.946 2.75e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Fit:
sigma^2 estimated as 0.1094,  Conditional Sum-of-Squares = 63.24,  AIC = 393.87

   警告信息:
   In arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17,19),ma=NULL)) :
  order is ignored

     册除ar19,再一次操作
    >summary(s.arma<-arma(s,lag=list(ar=c(1,3,7,10,12,13,16,17),ma=NULL)))

Call:
arma(x = s, lag = list(ar = c(1, 3, 7, 10, 12, 13, 16, 17), ma = NULL))

Model:
ARMA(17,0)

Residuals:
       Min         1Q     Median         3Q        Max
-1.3866267 -0.2350164 -0.0007791  0.2283570  1.0824308

Coefficient(s):
           Estimate  Std. Error  t value Pr(>|t|)   
ar1         1.06130     0.02580   41.137  < 2e-16 ***
ar3        -0.14112     0.02764   -5.105 3.31e-07 ***
ar7        -0.15045     0.02201   -6.835 8.22e-12 ***
ar10        0.15700     0.02921    5.375 7.64e-08 ***
ar12        0.22580     0.04693    4.812 1.50e-06 ***
ar13       -0.30550     0.04144   -7.373 1.67e-13 ***
ar16       -0.20657     0.04298   -4.806 1.54e-06 ***
ar17        0.20237     0.03788    5.342 9.19e-08 ***
intercept   4.23763     0.73063    5.800 6.63e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Fit:
sigma^2 estimated as 0.11,  Conditional Sum-of-Squares = 63.81,  AIC = 395.16

   警告信息:
   In arma(s, lag = list(ar = c(1, 3, 7, 10, 12, 13, 16, 17), ma = NULL)) :
     order is ignored

问题:
1、为什么网页的教程没有出现警告信息。
2、是不是分析包有所的改变?
3、如何改动:arma(s, lag = list(ar = c(1, 3, 7, 10, 12, 13, 16, 17), ma = NULL)) 的语句才不会出现错误!
4、在例子一第一句中:
     summary(s.arma<-arma(s,order=c(20,0))),是不考虑有MA(p)的情况。如何我们要考虑MA(P)的情况,变成语句:(p=1)
  > summary(s.arma<-arma(s,order=c(20,1)))
    则显示错误:
     错误于optim(coef, err, gr = NULL, hessian = TRUE, ...) :   optim回覆了无限值。

   请问如我要考虑MA(P)的情况,则上述语句如何改!谢谢!


使用道具

280
epoh 发表于 2013-3-27 21:01:44 |只看作者 |坛友微信交流群
心若灿烂 发表于 2013-3-27 12:06
请教:epoh
http://127.0.0.1:28317/library/tseries/html/arma.html
哈哈,无法开启.

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 07:54