全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3250 4
2018-02-02
求用DFA方法或DMA法求Hurst指数的R程序,谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2018-2-8 17:22:52
复制代码

我用数列x<-c(1/(1:100)),n=3,s=10测试,H=-15.22023
二维码

扫码加我 拉你入群

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

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

2018-2-8 17:24:41
复制代码


我用x<-c(1/(1:100)),n=3,s=10测试,最后H=-15.22023
二维码

扫码加我 拉你入群

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

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

2018-2-8 17:25:50
###DFA方法估计hurst
##获得分组
getmatrix<-function(x,s){#x是时间序列,s是子列的长度
x<-cumsum(x-mean(x))
y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
N<-length(y)/(2*s)
ymatrix<-t(matrix(y,s))#分组2*N行s列的矩阵,每一行为一组
return(ymatrix)
}

###计算消除趋势序列均值
del<-function(yi,n,s){#yi是各组子列,n是多项式阶数
xn<-c(1:s)
model<-lm(yi ~ poly(xn,n))
return(mean(yi-predict(model)))
}

###计算均值平方根
fs<-function(x,ymatrix,s,n){#ymatrix是样本矩阵,s是子列的长度,n是多项式阶数
jisu<-0
y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
for(i in 1:(length(y)/s)){
jisu<-jisu+(del(ymatrix[i,],n,s))^2
}
return(sqrt(jisu/(length(y)/(2*s))))
}

###计算hurst指数
s<-10
n<-3
H<-log(fs(x,getmatrix(x,s),s,n),2)/log(s,2)

x<-c(1/(1:100)),n=3,s=10,最后H=-15.22023
二维码

扫码加我 拉你入群

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

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

2019-7-13 22:20:09
乐文义 发表于 2018-2-8 17:25
###DFA方法估计hurst
##获得分组
getmatrix
请问第一行的命令输入后出现,此上下文不允许函数定义,是咋回事
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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