Skip to content

Commit fba225a

Browse files
committed
up
1 parent 2e3b6b4 commit fba225a

File tree

5 files changed

+23
-209
lines changed

5 files changed

+23
-209
lines changed

src/Conditioning.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ function Distributions.quantile(d::Distortion, α::Real)
7070
end
7171
# You have to implement a cdf, and you can implement a pdf, either in log scaleor not:
7272
Distributions.logcdf(d::Distortion, t::Real) = log(Distributions.cdf(d, t))
73-
Distributions.logpdf(d::Distortion, t::Real) = log(Distributions.pdf(d, t))
7473
Distributions.cdf(d::Distortion, t::Real) = exp(Distributions.logcdf(d, t))
74+
Distributions.logpdf(d::Distortion, t::Real) = log(Distributions.pdf(d, t))
7575
Distributions.pdf(d::Distortion, t::Real) = exp(Distributions.logpdf(d, t))
7676

7777
"""

src/Copula.jl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,7 @@ function Distributions.cdf(C::Copula{d},u::VT) where {d,VT<:AbstractVector}
2424
end
2525
function Distributions.cdf(C::Copula{d},A::AbstractMatrix) where d
2626
size(A,1) != d && throw(ArgumentError("Dimension mismatch between copula and input vector"))
27-
n = size(A, 2)
28-
r = Vector{Float64}(undef, n)
29-
@inbounds for j in 1:n
30-
r[j] = Distributions.cdf(C, view(A, :, j))
31-
end
32-
return r
27+
return [Distributions.cdf(C,u) for u in eachcol(A)]
3328
end
3429
function _cdf(C::CT,u) where {CT<:Copula}
3530
f(x) = Distributions.pdf(C,x)

src/EllipticalCopula.jl

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,7 @@ function Distributions._rand!(rng::Distributions.AbstractRNG, C::CT, x::Abstract
5252
Random.rand!(rng,N(CT)(C.Σ),x)
5353
U₁ = U(CT)
5454
@inbounds for i in eachindex(x)
55-
xi = Distributions.cdf(U₁, x[i])
56-
xi = xi < 0 ? 0.0 : (xi > 1 ? 1.0 : xi)
57-
x[i] = T(xi)
55+
x[i] = clamp(T(Distributions.cdf(U₁, x[i])), 0, 1)
5856
end
5957
return x
6058
end
@@ -64,8 +62,7 @@ function Distributions._rand!(rng::Distributions.AbstractRNG, C::CT, A::DenseMat
6462
u = U(CT)
6563
Random.rand!(rng,n,A)
6664
@inbounds for j in axes(A, 2), i in axes(A, 1)
67-
v = Distributions.cdf(u, A[i, j])
68-
A[i, j] = T(v < 0 ? 0.0 : (v > 1 ? 1.0 : v))
65+
A[i, j] = clamp(T(Distributions.cdf(u, A[i, j])), 0, 1)
6966
end
7067
return A
7168
end

src/Generator.jl

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -358,14 +358,13 @@ function ϕ⁽ᵏ⁾(G::WilliamsonGenerator{TX, d}, k::Int, t) where {d, TX<:Dis
358358
k == 0 && return ϕ(G, t)
359359
k == 1 && return ϕ⁽¹⁾(G, t)
360360
S = zero(Tt)
361-
coeff = (isodd(k) ? -one(Tt) : one(Tt)) * Base.factorial(d - 1) / Base.factorial(d - 1 - k)
362361
@inbounds for j in lastindex(r):-1:firstindex(r)
363362
rⱼ = r[j]; wⱼ = w[j]
364363
t rⱼ && break
365364
zpow = (d == k+1) ? one(Tt) : (1 - t / rⱼ)^(d - 1 - k)
366-
S += wⱼ * (zpow / rⱼ^k)
365+
S += wⱼ * zpow / rⱼ^k
367366
end
368-
return S * coeff
367+
return S * (isodd(k) ? -1 : 1) * Base.factorial(d - 1) / Base.factorial(d - 1 - k)
369368
end
370369

371370
function ϕ⁻¹(G::WilliamsonGenerator{TX, d}, x) where {d, TX<:Distributions.DiscreteNonParametric}
@@ -515,6 +514,6 @@ max_monotony(G::TiltedGenerator{TG, T}) where {TG, T} = max(0, max_monotony(G.G)
515514
ϕ(G::TiltedGenerator{TG, T}, t) where {TG, T} = ϕ⁽ᵏ⁾(G.G, G.p, G.sJ + t) / G.den
516515
ϕ⁻¹(G::TiltedGenerator{TG, T}, x) where {TG, T} = ϕ⁽ᵏ⁾⁻¹(G.G, G.p, x * G.den; start_at = G.sJ) - G.sJ
517516
ϕ⁽ᵏ⁾(G::TiltedGenerator{TG, T}, k::Int, t) where {TG, T} = ϕ⁽ᵏ⁾(G.G, k + G.p, G.sJ + t) / G.den
518-
ϕ⁽ᵏ⁾⁻¹(G::TiltedGenerator{TG, T}, k::Int, y; start_at = G.sJ) where {TG, T} = ϕ⁽ᵏ⁾⁻¹(G.G, k + G.p, y * G.den; start_at = start_at) - G.sJ
517+
ϕ⁽ᵏ⁾⁻¹(G::TiltedGenerator{TG, T}, k::Int, y; start_at = G.sJ) where {TG, T} = ϕ⁽ᵏ⁾⁻¹(G.G, k + G.p, y * G.den; start_at = start_at+G.sJ) - G.sJ
519518
ϕ⁽¹⁾(G::TiltedGenerator{TG, T}, t) where {TG, T} = ϕ⁽ᵏ⁾(G, 1, t)
520519
Distributions.params(G::TiltedGenerator) = (Distributions.params(G.G)..., sJ = G.sJ)

test/benchmarks.jl

Lines changed: 16 additions & 193 deletions
Original file line numberDiff line numberDiff line change
@@ -9,148 +9,38 @@ using Copulas, Distributions, StatsBase
99
function main()
1010
Bestiary = unique([
1111
AMHCopula(2,-0.6),
12-
AMHCopula(2,-1.0),
13-
AMHCopula(2,0.7),
14-
AMHCopula(3,-0.003),
1512
AMHCopula(3,0.2),
1613
AMHCopula(4,-0.01),
1714
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
18-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.GalambosTail(0.7)),
19-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.GalambosTail(2.5)),
20-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.HuslerReissTail(0.6)),
21-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.HuslerReissTail(1.8)),
22-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.LogTail(1.5)),
23-
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.4), Copulas.LogTail(2.0)),
24-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
2515
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.GalambosTail(0.7)),
26-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.GalambosTail(2.5)),
27-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.HuslerReissTail(0.6)),
28-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.HuslerReissTail(1.8)),
29-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.LogTail(1.5)),
30-
ArchimaxCopula(2, Copulas.BB1Generator(2.0, 2.0), Copulas.LogTail(2.0)),
31-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
32-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.GalambosTail(0.7)),
3316
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.GalambosTail(2.5)),
34-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.HuslerReissTail(0.6)),
35-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.HuslerReissTail(1.8)),
36-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.LogTail(1.5)),
37-
ArchimaxCopula(2, Copulas.ClaytonGenerator(1.5), Copulas.LogTail(2.0)),
38-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
39-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.GalambosTail(0.7)),
40-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.GalambosTail(2.5)),
4117
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.HuslerReissTail(0.6)),
42-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.HuslerReissTail(1.8)),
43-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.LogTail(1.5)),
44-
ArchimaxCopula(2, Copulas.ClaytonGenerator(3.0), Copulas.LogTail(2.0)),
45-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
46-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.GalambosTail(0.7)),
47-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.GalambosTail(2.5)),
48-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.HuslerReissTail(0.6)),
4918
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.HuslerReissTail(1.8)),
50-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.LogTail(1.5)),
51-
ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.LogTail(2.0)),
52-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
53-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.GalambosTail(0.7)),
54-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.GalambosTail(2.5)),
55-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.HuslerReissTail(0.6)),
56-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.HuslerReissTail(1.8)),
5719
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.LogTail(1.5)),
58-
ArchimaxCopula(2, Copulas.FrankGenerator(6.0), Copulas.LogTail(2.0)),
59-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
60-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.GalambosTail(0.7)),
61-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.GalambosTail(2.5)),
62-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.HuslerReissTail(0.6)),
63-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.HuslerReissTail(1.8)),
64-
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.LogTail(1.5)),
6520
ArchimaxCopula(2, Copulas.GumbelGenerator(2.0), Copulas.LogTail(2.0)),
6621
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
67-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.GalambosTail(0.7)),
68-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.GalambosTail(2.5)),
69-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.HuslerReissTail(0.6)),
70-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.HuslerReissTail(1.8)),
71-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.LogTail(1.5)),
72-
ArchimaxCopula(2, Copulas.GumbelGenerator(4.0), Copulas.LogTail(2.0)),
73-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
7422
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.GalambosTail(0.7)),
75-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.GalambosTail(2.5)),
76-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.HuslerReissTail(0.6)),
77-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.HuslerReissTail(1.8)),
78-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.LogTail(1.5)),
79-
ArchimaxCopula(2, Copulas.JoeGenerator(1.2), Copulas.LogTail(2.0)),
80-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.AsymGalambosTail(0.35, 0.65, 0.3)),
81-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.GalambosTail(0.7)),
82-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.GalambosTail(2.5)),
83-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.HuslerReissTail(0.6)),
84-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.HuslerReissTail(1.8)),
85-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.LogTail(1.5)),
86-
ArchimaxCopula(2, Copulas.JoeGenerator(2.5), Copulas.LogTail(2.0)),
23+
ArchimaxCopula(2, Copulas.BB1Generator(1.3, 1.6), Copulas.GalambosTail(2.5)),
8724
ArchimedeanCopula(10,𝒲(Dirac(1),10)),
8825
ArchimedeanCopula(10,𝒲(MixtureModel([Dirac(1), Dirac(2)]),11)),
8926
ArchimedeanCopula(2, EmpiricalGenerator(randn(4, 150))),
9027
ArchimedeanCopula(2,𝒲(LogNormal(),2)),
9128
ArchimedeanCopula(2,𝒲(Pareto(1),5)),
9229
ArchimedeanCopula(3, EmpiricalGenerator(randn(3, 200))),
93-
AsymGalambosCopula(2, 0.1, 0.2, 0.6),
94-
AsymGalambosCopula(2, 0.3, 0.8, 0.1),
95-
AsymGalambosCopula(2, 0.6129496106778634, 0.820474440393214, 0.22304578643880224),
96-
AsymGalambosCopula(2, 0.9, 1.0, 1.0),
97-
AsymGalambosCopula(2, 10+5*0.3, 1.0, 1.0),
98-
AsymGalambosCopula(2, 10+5*0.7, 0.2, 0.9),
99-
AsymGalambosCopula(2, 11.647356700032505, 0.6195348270893413, 0.4197760589260566),
100-
AsymGalambosCopula(2, 5.0, 0.8, 0.3),
101-
AsymGalambosCopula(2, 5+4*0.1, 0.2, 0.6),
102-
AsymGalambosCopula(2, 5+4*0.4, 1.0, 1.0),
103-
AsymGalambosCopula(2, 8.810168494949659, 0.5987759444612732, 0.5391280234619427),
30+
AsymGalambosCopula(2, 0.6, 0.8, 0.2),
10431
AsymLogCopula(2, 1.0, 0.0, 0.0),
105-
AsymLogCopula(2, 1.0, 0.1, 0.6),
106-
AsymLogCopula(2, 1.0, 1.0, 1.0),
107-
AsymLogCopula(2, 1.2, 0.3,0.6),
108-
AsymLogCopula(2, 1.5, 0.5, 0.2),
109-
AsymLogCopula(2, 1+4*0.01, 1.0, 1.0),
110-
AsymLogCopula(2, 1+4*0.2, 0.3, 0.4),
111-
AsymLogCopula(2, 1+4*0.9, 0.0, 0.0),
112-
AsymLogCopula(2, 10+5*0.5, 0.0, 0.0),
113-
AsymLogCopula(2, 10+5*0.6, 1.0, 1.0),
114-
AsymLogCopula(2, 10+5*0.7, 0.8, 0.2),
11532
AsymMixedCopula(2, 0.1, 0.2),
116-
AsymMixedCopula(2, 0.12, 0.13),
117-
BB10Copula(2, 1.5, 0.7),
118-
BB10Copula(2, 3.0, 0.8),
11933
BB10Copula(2, 4.5, 0.6),
120-
BB1Copula(2, 0.35, 1.0),
121-
BB1Copula(2, 1.2, 1.5),
12234
BB1Copula(2, 2.5, 1.5),
123-
BB2Copula(2, 1.2, 0.5),
124-
BB2Copula(2, 1.5, 1.8),
12535
BB2Copula(2, 2.0, 1.5),
126-
BB3Copula(2, 2.0, 1.5),
127-
BB3Copula(2, 2.5, 0.5),
12836
BB3Copula(2, 3.0, 1.0),
129-
BB4Copula(2, 0.50, 1.60),
130-
BB4Copula(2, 2.50, 0.40),
13137
BB4Copula(2, 3.0, 2.1),
132-
BB5Copula(2, 1.50, 1.60),
133-
BB5Copula(2, 2.50, 0.40),
13438
BB5Copula(2, 5.0, 0.5),
135-
BB6Copula(2, 1.2, 1.6),
136-
BB6Copula(2, 1.5, 1.4),
13739
BB6Copula(2, 2.0, 1.5),
138-
BB7Copula(2, 1.2, 1.6),
139-
BB7Copula(2, 1.5, 0.4),
14040
BB7Copula(2, 2.0, 1.5),
141-
BB8Copula(2, 1.2, 0.4),
14241
BB8Copula(2, 1.5, 0.6),
143-
BB8Copula(2, 2.5, 0.8),
144-
BB9Copula(2, 1.5, 2.4),
145-
BB9Copula(2, 2.0, 1.5),
14642
BB9Copula(2, 2.8, 2.6),
147-
BC2Copula(2, 0.5, 0.3),
148-
BC2Copula(2, 0.5, 0.5),
149-
BC2Copula(2, 0.5516353577049822, 0.33689370624999193),
150-
BC2Copula(2, 0.6, 0.8),
15143
BC2Copula(2, 0.7,0.3),
152-
BC2Copula(2, 1.0, 0.0),
153-
BC2Copula(2, 1/2,1/2),
15444
# BernsteinCopula(ArchimaxCopula(2, Copulas.FrankGenerator(0.8), Copulas.HuslerReissTail(0.6)); m=5),
15545
# BernsteinCopula(ClaytonCopula(3, 3.3); m=5),
15646
# BernsteinCopula(GalambosCopula(2, 2.5); m=5),
@@ -159,127 +49,60 @@ function main()
15949
# BernsteinCopula(randn(2,100), pseudo_values=false),
16050
# BetaCopula(randn(2,50)),
16151
# BetaCopula(randn(3,50)),
162-
CheckerboardCopula(randn(2,50); pseudo_values=false),
163-
CheckerboardCopula(randn(3,50); pseudo_values=false),
164-
CheckerboardCopula(randn(4,50); pseudo_values=false),
52+
CheckerboardCopula(randn(2,10); pseudo_values=false),
53+
CheckerboardCopula(randn(3,10); pseudo_values=false),
54+
CheckerboardCopula(randn(4,10); pseudo_values=false),
16555
ClaytonCopula(2, -0.7),
166-
ClaytonCopula(2, 0.3),
167-
ClaytonCopula(2, 0.9),
16856
ClaytonCopula(2, 7),
16957
ClaytonCopula(3, -0.36),
17058
ClaytonCopula(3, 7.3),
17159
ClaytonCopula(4, -0.22),
17260
ClaytonCopula(4, 3.7),
173-
ClaytonCopula(4,7.),
174-
Copulas.SubsetCopula(RafteryCopula(3, 0.5), (2,1)),
175-
CuadrasAugeCopula(2, 0.0),
176-
CuadrasAugeCopula(2, 0.1),
17761
CuadrasAugeCopula(2, 0.2),
178-
CuadrasAugeCopula(2, 0.3437537135972244),
179-
CuadrasAugeCopula(2, 0.7103550345192344),
180-
CuadrasAugeCopula(2, 0.8),
181-
CuadrasAugeCopula(2, 1.0),
182-
# EmpiricalCopula(randn(2,50),pseudo_values=false),
183-
# EmpiricalCopula(randn(2,50),pseudo_values=false),
184-
EmpiricalEVCopula(randn(2,50); method=:cfg, pseudo_values=false),
185-
EmpiricalEVCopula(randn(2,50); method=:ols, pseudo_values=false),
186-
EmpiricalEVCopula(randn(2,50); method=:pickands, pseudo_values=false),
187-
FGMCopula(2, 0.0),
62+
# EmpiricalCopula(randn(2,10),pseudo_values=false),
63+
# EmpiricalCopula(randn(2,10),pseudo_values=false),
64+
EmpiricalEVCopula(randn(2,10); method=:cfg, pseudo_values=false),
65+
EmpiricalEVCopula(randn(2,10); method=:ols, pseudo_values=false),
66+
EmpiricalEVCopula(randn(2,10); method=:pickands, pseudo_values=false),
18867
FGMCopula(2, 0.4),
18968
FGMCopula(2,1),
190-
FGMCopula(3, [0.3,0.3,0.3,0.3]),
19169
FGMCopula(3,[0.1,0.2,0.3,0.4]),
19270
FrankCopula(2,-5),
193-
FrankCopula(2,0.5),
194-
FrankCopula(2,1-log(0.9)),
195-
FrankCopula(2,1.0),
196-
FrankCopula(3,1-log(0.1)),
19771
FrankCopula(3,1.0),
198-
FrankCopula(3,12),
199-
FrankCopula(4,1-log(0.3)),
200-
FrankCopula(4,1.0),
201-
# FrankCopula(4,150),
20272
FrankCopula(4,30),
203-
FrankCopula(4,37),
20473
GalambosCopula(2, 0.3),
205-
GalambosCopula(2, 0.7),
206-
GalambosCopula(2, 1+4*0.5),
207-
GalambosCopula(2, 120),
208-
GalambosCopula(2, 20),
209-
GalambosCopula(2, 210),
210-
GalambosCopula(2, 4.3),
211-
GalambosCopula(2, 8),
212-
GalambosCopula(2, 80),
21374
GaussianCopula([1 0.5; 0.5 1]),
214-
GaussianCopula([1 0.7; 0.7 1]),
21575
GumbelBarnettCopula(2,0.7),
216-
GumbelBarnettCopula(2,1.0),
21776
# GumbelBarnettCopula(3,0.35), # Dont understadn why its an issue ?
21877
# GumbelBarnettCopula(4,0.2),
21978
GumbelCopula(2, 1.2),
220-
GumbelCopula(2,1-log(0.9)),
221-
GumbelCopula(2,8),
222-
# GumbelCopula(3,1-log(0.2)),
223-
# GumbelCopula(4,1-log(0.3)),
224-
# GumbelCopula(4,100),
225-
# GumbelCopula(4,20),
226-
# GumbelCopula(4,7),
227-
HuslerReissCopula(2, 0.1),
228-
HuslerReissCopula(2, 0.256693308150987),
79+
GumbelCopula(3,1-log(0.2)),
80+
GumbelCopula(4,1-log(0.3)),
22981
HuslerReissCopula(2, 1.6287031392529938),
230-
HuslerReissCopula(2, 3.5),
231-
HuslerReissCopula(2, 5.319851350643586),
23282
IndependentCopula(2),
23383
IndependentCopula(3),
234-
InvGaussianCopula(2,-log(0.9)),
84+
IndependentCopula(4),
23585
InvGaussianCopula(2,0.2),
236-
InvGaussianCopula(2,1.0),
237-
InvGaussianCopula(3,-log(0.6)),
23886
InvGaussianCopula(3,0.4),
239-
InvGaussianCopula(4,-log(0.1)),
24087
InvGaussianCopula(4,0.05),
241-
InvGaussianCopula(4,1.0),
24288
JoeCopula(2,1-log(0.5)),
243-
JoeCopula(2,3),
244-
JoeCopula(2,Inf),
245-
JoeCopula(3,1-log(0.3)),
24689
JoeCopula(3,7),
247-
JoeCopula(4,1-log(0.1)),
248-
LogCopula(2, 1.5),
249-
LogCopula(2, 1+9*0.4),
25090
LogCopula(2, 5.5),
25191
MCopula(2),
92+
MCopula(3),
25293
MCopula(4),
253-
MixedCopula(2, 0.0),
254-
MixedCopula(2, 0.2),
25594
MixedCopula(2, 0.5),
256-
MixedCopula(2, 1.0),
257-
MOCopula(2, 0.1, 0.5, 0.9),
258-
MOCopula(2, 0.1,0.2,0.3),
259-
MOCopula(2, 0.5, 0.5, 0.5),
26095
MOCopula(2, 0.5960710257852946, 0.3313524247810329, 0.09653466861970061),
261-
MOCopula(2, 1.0, 1.0, 1.0),
26296
PlackettCopula(0.5),
263-
PlackettCopula(0.8),
264-
PlackettCopula(2.0),
26597
RafteryCopula(2, 0.2),
26698
RafteryCopula(3, 0.5),
267-
SurvivalCopula(ClaytonCopula(2,-0.7),(1,2)),
26899
SurvivalCopula(RafteryCopula(2, 0.2), (2,1)),
269100
TCopula(2, [1 0.7; 0.7 1]),
270-
TCopula(20,[1 -0.5; -0.5 1]),
271-
TCopula(4, [1 0.5; 0.5 1]),
272-
tEVCopula(2, 10.0, 1.0),
273-
tEVCopula(2, 2.0, 0.5),
274-
tEVCopula(2, 3.0, 0.0),
275-
tEVCopula(2, 4.0, 0.5),
276-
tEVCopula(2, 4+6*0.5, -0.9+1.9*0.3),
277-
tEVCopula(2, 5.0, -0.5),
278101
tEVCopula(2, 5.466564460573727, -0.6566645244416698),
279102
WCopula(2),
280103
]);
281104

282-
function exercise_a_cop(C)
105+
function exercise(C)
283106
CT = typeof(C)
284107
d = length(C)
285108

@@ -353,6 +176,6 @@ function main()
353176

354177
for C in Bestiary
355178
@info "$C..."
356-
exercise_a_cop(C)
179+
exercise(C)
357180
end
358181
end

0 commit comments

Comments
 (0)