我对R比较陌生。在大学的期末考试中,我决定写一篇关于copulas的论文,因此我收集了一些关于copulas背后的理论知识,它们是什么以及它们是如何工作的。我也在R中编程,但从未使用过R中的copula,因此我是R中copulas的新手。
我的问题是: 如何将原始数据(以R矢量的形式)拟合到Gumbel copula?
以下是我的数据格式:
x <- c(x1,x2,x3,...,xn)
y <- c(y1,y2,y3,...,yn)
现在我正在使用copula包,我知道如何生成随机copulas和Gumbel copulas,如下所示:
#independence case
r_matrix <- t(rgumbel(2000,theta=1))
plot(r_matrix[1,], r_matrix[2,], col="blue", main="Gumbel, independence case")
positive dependence
r_matrix <- t(rgumbel(2000,theta=3))
plot(r_matrix[1,], r_matrix[2,], col="blue", main="Gumbel, Positive dependence")
然而,我不知道如何估计theta ..我知道Spearman的Rho和Kendall的Tau是什么,如果这可能会有所帮助。 你能帮我把x和y装到Gumbel copula吗?我应该使用另一个套餐吗?谢谢
答案 0 :(得分:1)
我希望这会有所帮助
library(copula)
gumbel.cop= gumbelCopula(2, dim = 7)
set.seed(117)
u1 = rCopula(500, gumbel.cop)
fit.ml = fitCopula(gumbel.cop, u1, method = "ml")
以上的输出是
fitCopula() estimation based on 'maximum likelihood'
and a sample of size 500.
Estimate Std. Error z value Pr(>|z|)
param 2.01132 0.02902 69.31 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
The maximized loglikelihood is 1643
Optimization converged
Number of loglikelihood evaluations:
function gradient
20 3
您也可以尝试&#34; mpl&#34;,&#34; itau&#34;或&#34; irho&#34;而不是&#34; ml&#34;估算师。你知道吗 &#34毫升&#34;是(最大可能性), &#34; MPL&#34;是(最大伪似然),&#34; itau&#34;是(肯德尔的反转 tau)和&#34; irho&#34;是(斯皮尔曼的反转)。有关详细信息,请参阅R copula package