全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1600 2
2020-05-28
我在前几日在本论坛发布了copent的消息,得到了大家的关注,表示感谢。
近日我完成了一篇介绍copent包的实现细节和使用代码示例的文章,见附件,欢迎大家阅读。

附件列表
二维码

扫码加我 拉你入群

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

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

全部回复
2020-5-29 08:38:43
附上论文的R代码,供参考。
------
library(mnormt)
library(copent)

## for section{Implementation}
data("airquality")
x1 = airquality[,1:4]
xc1 = construct_empirical_copula(x1)

data = list(x = x1, xc = xc1)
dat <- as.data.frame(do.call(rbind,data))
dat$type <- rep(c('x','xc'),each = 153)

foo.upper <- function(x,y,...){
  points(x[dat\$type == 'x'],y[dat\$type == 'x'],col = 'red',...)
}
foo.lower <- function(x,y,...){
  plot.window(xlim = c(0,1), ylim = c(0,1))
  points(x[dat\$type == 'xc'],y[dat\$type == 'xc'],col = 'blue', ...)
}

pairs(dat[,-5],lower.panel = foo.lower,upper.panel = foo.upper)

entknn(xc1)
copent(x1)

## for Section{Two Examples}
## Simulated Example
rho = 0.75
sigma = matrix(c(1,rho,rho,1),2,2)
x = rmnorm(500,c(0,0),sigma)
truevalue = -0.5 * log(1- rho^2)
est = copent(x)

# Example on Causal Discovery
# Data URL: http://archive.ics.uci.edu/ml/datasets/Beijing+PM2.5+Data
prsa2010data = read.csv('~/Rworks/beijingair/PRSA2010.csv')
data = prsa2010data[2200:2700,c(6,9)]
tslag = 0
for (lag in 1:24){
        pm25a = data[1:(501-lag),1]
        pm25b = data[(lag+1):501,1]
        var1 = data[1:(501-lag),2]
        data1 = cbind(pm25a, pm25b, var1)
        tslag[lag] = copent(data1) - copent(data1[,c(1,2)]) - copent(data1[,c(1,3)])
}
plot(tslag, xlab = "lag (hours)", ylab = "Transfer Entropy", main = "Pressure")
lines(tslag)


附件列表

article.R.zip

大小:882 Bytes

 马上下载

本附件包括:

  • article.R

二维码

扫码加我 拉你入群

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

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

2020-5-29 08:40:09
怎么删自己重复发的贴?求版主帮忙。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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