楼主: 华霜魂
3671 2

[问答] 请问R语言哪些包可以实现分数阶差分呢? [推广有奖]

  • 4关注
  • 0粉丝

博士生

25%

还不是VIP/贵宾

-

威望
0
论坛币
198 个
通用积分
4.9352
学术水平
23 点
热心指数
22 点
信用等级
21 点
经验
2478 点
帖子
65
精华
0
在线时间
441 小时
注册时间
2012-7-4
最后登录
2025-12-4

楼主
华霜魂 学生认证  发表于 2018-4-11 15:25:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近在看ARFIMA的东西,需要做分数阶差分。
自己写了一个,也不知道对不对……R语言自带的diff()函数不支持分数差分。。
请教下有哪些包带这个功能呢?找来对比下看看写对了没。
顺便附上写的代码,这里x是已经读取好的序列:

  1. get_sita <- function(k,d){# 使用函数返回分数差分的系数值。
  2. return(gamma(k-d) / (gamma(-d)*gamma(k+1)))
  3. }


  4. d = 0.5
  5. n = 170 #最多只有171个系数可以计算,再多就超出边界了。
  6. sita = array(0,n+1) #这就是分数差分项的系数
  7. for( i in 0:n){
  8. sita[i+1] = get_sita(i,d)
  9. }


  10. N = length(x)
  11. y = array(0, N) #存放自定义的分数差分结果
  12. temp = 0

  13. for( i in 1:N){
  14. temp = i
  15. if( i >= n)
  16. temp = n#
  17. for( j in 1:temp )
  18. y[i] = y[i] + sita[j]*x[i-j+1]
  19. }
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:R语言 ARFIMA Temp Diff sit

沙发
della123456789 发表于 2019-5-5 09:31:16
同问?

藤椅
zxz1210 发表于 2019-11-30 18:52:06
我想可以用package(fracdiff) 里的函数diffseries(x, d)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 12:21