楼主: 蒋科学
140766 377

[MATLAB] Matlab实现非线性格兰杰因果关系检验   [推广有奖]

151
万实行就稔(真实交易用户) 发表于 2016-3-4 20:26:38
LiuRuijin 发表于 2016-3-4 16:48
请参考m文件中所列示的文献 Hiemstra and Jones(1994)。
我做的时候,“本文设m=1”
大神,不好意思,我在弱弱问一下,我运行的时候,MATLAB提示 function [cs,tval,p,c1,c2,c3,c4] = nonlinear_granger(x,y,m,Lx,Ly,e)
|
Error: Function definitions are not permitted in this context.要怎么解决呢

152
LiuRuijin(真实交易用户) 发表于 2016-3-4 21:53:42
万实行就稔 发表于 2016-3-4 20:26
大神,不好意思,我在弱弱问一下,我运行的时候,MATLAB提示 function [cs,tval,p,c1,c2,c3,c4] = nonlin ...
不能直接运行function的那个文件。
你在命令窗口,设置各参数的值,然后调用[cs,tval,p,c1,c2,c3,c4] = nonlinear_granger(x,y,m,Lx,Ly,e),应该就可以出结果。或者将建立新的M文件,来编辑运行。
注意MATLAB当前的目录下,包括这些函数文件。

153
万实行就稔(真实交易用户) 发表于 2016-3-4 21:57:23
LiuRuijin 发表于 2016-3-4 21:53
不能直接运行function的那个文件。
你在命令窗口,设置各参数的值,然后调用[cs,tval,p,c1,c2,c3,c4] =  ...
大神,真是万分感谢

154
万实行就稔(真实交易用户) 发表于 2016-3-5 11:17:31
万实行就稔 发表于 2016-3-4 21:57
大神,真是万分感谢
大神,请问您一下function [cs,tval,p,c1,c2,c3,c4] = nonlinear_granger(x,y,m,lx,ly,e),里面的lx,ly是指x,y的滞后一期吗,还有就是里面的e指的是什么呢?

155
LiuRuijin(真实交易用户) 发表于 2016-3-5 16:41:08
万实行就稔 发表于 2016-3-5 11:17
大神,请问您一下function [cs,tval,p,c1,c2,c3,c4] = nonlinear_granger(x,y,m,lx,ly,e),里面的lx,ly是 ...
注:Lx、Ly分别表示两个变量的滞后项;TVAL是关于CS检验的统计量;CS是C1(m+Lx, Ly, e) / C2(Lx, Ly, e)与C3(m+Lx, e)/C4(Lx, e),本文设m=1,e=1;**表示1%显著性水平。variable e is related to the error and more specific information is available in the paper of Hiemstra and Jones(1994).

156
万实行就稔(真实交易用户) 发表于 2016-3-5 20:31:39
LiuRuijin 发表于 2016-3-5 16:41
注:Lx、Ly分别表示两个变量的滞后项;TVAL是关于CS检验的统计量;CS是C1(m+Lx, Ly, e) / C2(Lx, Ly, e)与 ...
太谢谢您了,我在试一试。

157
万实行就稔(真实交易用户) 发表于 2016-3-6 10:57:18
LiuRuijin 发表于 2016-3-5 16:41
注:Lx、Ly分别表示两个变量的滞后项;TVAL是关于CS检验的统计量;CS是C1(m+Lx, Ly, e) / C2(Lx, Ly, e)与 ...
大神,不好意思,又打扰一下,我运行MATLAB In nonlinear_granger (line 48)
Warning: Integer operands are required for colon operator when used as index
> In a (line 11)
  In nonlinear_granger (line 48)
Error using  *
Inner matrix dimensions must agree.

Error in nonlinear_granger (line 48)
               eij(i,j) = eij(i,j) + 4 * w * 1/(2*(n-k+1)) * (...
请问一下要怎么改呢

158
陈彦(未真实交易用户) 发表于 2016-3-6 12:02:33
谢谢正是需要的

159
LiuRuijin(真实交易用户) 发表于 2016-3-6 17:21:42
万实行就稔 发表于 2016-3-6 10:57
大神,不好意思,又打扰一下,我运行MATLAB In nonlinear_granger (line 48)
Warning: Integer operand ...
你检查一下 a.m 和 kf.m 是不是在同一根目录下
第48行开始 要调用a.m 这个函数function  [h]=a(i,t,x,y,lx,ly,m,n,c1,c2,c3,c4,e)

再检查一下 function [cs,tval,p,c1,c2,c3,c4] = nonlinear_granger(x,y,m,Lx,Ly,e)
变量x 和 y 的长度是不是一致的。

160
万实行就稔(真实交易用户) 发表于 2016-3-6 21:00:18
LiuRuijin 发表于 2016-3-6 17:21
你检查一下 a.m 和 kf.m 是不是在同一根目录下
第48行开始 要调用a.m 这个函数function  [h]=a(i,t,x,y, ...
太感动了,真是万分感谢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 07:51