File: t_StudentCopulaFactory_std.py

package info (click to toggle)
openturns 1.24-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 66,204 kB
  • sloc: cpp: 256,662; python: 63,381; ansic: 4,414; javascript: 406; sh: 180; xml: 164; yacc: 123; makefile: 98; lex: 55
file content (33 lines) | stat: -rwxr-xr-x 1,303 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#! /usr/bin/env python

import openturns as ot
import openturns.testing as ott

ot.TESTPREAMBLE()
if not ot.PlatformInfo.HasFeature("boost"):
    exit(0)

dim = 2
nu = 4.5
R = ot.CorrelationMatrix(dim, [1.0, 0.5, 0.5, 1.0])
distribution = ot.StudentCopula(nu, R)
size = 100000
sample = distribution.getSample(size)

factory = ot.StudentCopulaFactory()
estimatedDistribution = factory.build(sample)
print("distribution=", repr(distribution))
print("Estimated distribution=", repr(estimatedDistribution))
ott.assert_almost_equal(estimatedDistribution.getParameter()[0], nu, 1e-1, 1e-1)
ott.assert_almost_equal(estimatedDistribution.getParameter()[-1], 0.5, 1e-1, 1e-1)
estimatedDistribution = factory.build()
print("Default distribution=", estimatedDistribution)
estimatedDistribution = factory.build(distribution.getParameter())
print("Distribution from parameters=", estimatedDistribution)
estimatedStudentCopula = factory.buildAsStudentCopula(sample)
print("StudentCopula          =", distribution)
print("Estimated copula=", estimatedStudentCopula)
estimatedStudentCopula = factory.buildAsStudentCopula()
print("Default copula=", estimatedStudentCopula)
estimatedStudentCopula = factory.buildAsStudentCopula(distribution.getParameter())
print("StudentCopula from parameters=", estimatedStudentCopula)