自己写了一个,也不知道对不对……R语言自带的diff()函数不支持分数差分。。
请教下有哪些包带这个功能呢?找来对比下看看写对了没。
顺便附上写的代码,这里x是已经读取好的序列:
- get_sita <- function(k,d){# 使用函数返回分数差分的系数值。
- return(gamma(k-d) / (gamma(-d)*gamma(k+1)))
- }
- d = 0.5
- n = 170 #最多只有171个系数可以计算,再多就超出边界了。
- sita = array(0,n+1) #这就是分数差分项的系数
- for( i in 0:n){
- sita[i+1] = get_sita(i,d)
- }
- N = length(x)
- y = array(0, N) #存放自定义的分数差分结果
- temp = 0
- for( i in 1:N){
- temp = i
- if( i >= n)
- temp = n#
- for( j in 1:temp )
- y[i] = y[i] + sita[j]*x[i-j+1]
- }


雷达卡




京公网安备 11010802022788号







