copulafit

Подходящая связка к данным

Синтаксис

rhohat = copulafit('Gaussian',u)
[rhohat,nuhat] = copulafit('t',u)
[rhohat,nuhat,nuci] = copulafit('t',u)
paramhat = copulafit(family,u)
[paramhat,paramci] = copulafit(family,u)
___ = copulafit(___,Name,Value)

Описание

rhohat = copulafit('Gaussian',u) возвращает оценку, rhohat, матрицы параметров линейной корреляции для Гауссовой связки, учитывая данные в u.

пример

[rhohat,nuhat] = copulafit('t',u) возвращает оценку, rhohat, матрицы параметров линейной корреляции для связки t и оценки параметра степеней свободы, nuhat, учитывая данные в u.

[rhohat,nuhat,nuci] = copulafit('t',u) также возвращает аппроксимированный 95%-й доверительный интервал, nuci, для степеней свободы, оцененных в nuhat.

paramhat = copulafit(family,u) возвращает оценку, paramhat, параметра связки для двумерной Архимедовой связки типа, заданного family, учитывая данные в u.

[paramhat,paramci] = copulafit(family,u) также возвращает аппроксимированный 95%-й доверительный интервал, paramci, для параметра связки, оцененного в paramhat.

___ = copulafit(___,Name,Value) возвращает любой из предыдущих синтаксисов, с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Например, можно задать доверительный интервал, чтобы вычислить, или задать параметры управления для итеративного алгоритма оценки параметра с помощью структуры опций.

Примеры

свернуть все

Загрузите и постройте моделируемый запас, возвращают данные.

load stockreturns
x = stocks(:,1);
y = stocks(:,2);

figure;
scatterhist(x,y)

Преобразуйте данные к шкале связки (модульный квадрат) использование средства оценки ядра кумулятивной функции распределения.

u = ksdensity(x,x,'function','cdf');
v = ksdensity(y,y,'function','cdf');

figure;
scatterhist(u,v)
xlabel('u')
ylabel('v')

Соответствуйте t связке к данным.

rng default  % For reproducibility
[Rho,nu] = copulafit('t',[u v],'Method','ApproximateML')
Rho =

    1.0000    0.7220
    0.7220    1.0000


nu =

   2.6133e+06

Сгенерируйте случайную выборку от t связки.

r = copularnd('t',Rho,nu,1000);
u1 = r(:,1);
v1 = r(:,2);

figure;
scatterhist(u1,v1)
xlabel('u')
ylabel('v')
set(get(gca,'children'),'marker','.')

Преобразуйте случайную выборку назад к исходной шкале данных.

x1 = ksdensity(x,u1,'function','icdf');
y1 = ksdensity(y,v1,'function','icdf');

figure;
scatterhist(x1,y1)
set(get(gca,'children'),'marker','.')

Входные параметры

свернуть все

Значения связки, заданные как матрица скалярных значений в области значений (0,1). Если u является n-by-p матрица, то ее значения представляют точки n в p - размерный единичный гиперкуб. Если u является n-by-2 матрица, то ее значения представляют точки n в модульном квадрате.

Если вы задаете двумерный Архимедов тип связки ('Clayton', 'Frank' или 'Gumbel'), то u должен быть n-by-2 матрица.

Типы данных: single | double

Двумерное Архимедово семейство связок, заданное как одно из следующих.

'Clayton'Связка Клейтона
'Frank'Откровенная связка
'Gumbel'Связка Gumbel

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Alpha',0.01,'Method','ApproximateML' вычисляет 99% доверительных интервалов для предполагаемого параметра связки и использует метод приближения, чтобы соответствовать связке.

Уровень значения для доверительных интервалов, заданных как пара, разделенная запятой, состоящая из 'Alpha' и скалярного значения в области значений (0,1). copulafit возвращает аппроксимированные 100 × (1 альфа) доверительные интервалы %.

Пример: 'Alpha',0.01

Типы данных: single | double

Метод для подбора кривой связке t, заданной как пара, разделенная запятой, состоящая из 'Method' и или 'ML' или 'ApproximateML'.

Если вы задаете 'ApproximateML', то copulafit соответствует связке t для больших выборок путем максимизации целевой функции, которая аппроксимирует логарифмическую вероятность профиля для параметра степеней свободы [1]. Этот метод может быть значительно быстрее, чем наибольшее правдоподобие ('ML'), но оценки и пределы достоверности не могут быть точными для маленького, чтобы модерировать объемы выборки.

Пример: 'Method','ApproximateML'

Управляйте спецификациями параметра, заданными как пара, разделенная запятой, состоящая из 'Options' и структуры опций, созданной statset. Чтобы видеть поля и значения по умолчанию, используемые copulafit, введите statset('copulafit') в командной строке.

Эта пара "имя-значение" не применима, когда вы задаете тип связки как 'Gaussian'.

Типы данных: struct

Выходные аргументы

свернуть все

Предполагаемые параметры корреляции для подходящей Гауссовой связки, учитывая данные в u, возвратились как матрица скалярных значений.

Предполагаемый параметр степеней свободы для подходящей связки t, возвращенной как скалярное значение.

Аппроксимированный доверительный интервал для параметра степеней свободы, возвращенного как 1 2 матрица скалярных значений. Первый столбец содержит нижнюю границу, и второй столбец содержит верхний контур. По умолчанию copulafit возвращает аппроксимированный 95%-й доверительный интервал. Можно задать различный доверительный интервал с помощью пары "имя-значение" 'Alpha'.

Предполагаемый параметр связки для подходящей Архимедовой связки, возвращенной как скалярное значение.

Аппроксимированный доверительный интервал для параметра связки, возвращенного как 1 2 матрица скалярных значений. Первый столбец содержит нижнюю границу, и второй столбец содержит верхний контур. По умолчанию copulafit возвращает аппроксимированный 95%-й доверительный интервал. Можно задать различный доверительный интервал с помощью пары "имя-значение" 'Alpha'.

Алгоритмы

По умолчанию copulafit использует наибольшее правдоподобие, чтобы соответствовать связке к u. Когда u содержит данные, преобразованные к единичному гиперкубу параметрическими оценками их крайних кумулятивных функций распределения, это известно как Функции Вывода для Полей (IFM) метод. Когда u содержит данные, преобразованные эмпирическим cdf (см. ecdf), это известно как Каноническое наибольшее правдоподобие (CML).

Ссылки

[1] Bouyé, E., В. Деррлмен, А. Никегбали, Г. Рибулет и Т. Ронкалли. “Связки для Финансов: Руководство Чтения и Некоторые Приложения”. Рабочий документ. Groupe de Recherche Opérationnelle, Credit Lyonnais, Париж, 2000.

Представленный в R2007b

Для просмотра документации необходимо авторизоваться на сайте