MathWorks 的此页面详细描述了将 copula 用于各种任务的详细说明,并在 MATLAB 中提供了很多示例:用于多元建模的概率分布。这有助于了解如何在一些简单情况下使用 copula 的具体细节。
用于数据矩阵的转换X到具有边际标准正态分布函数的状态,本质上是一个两步过程。
第一步是将数据的边距转换为均匀分布。这可以通过拟合理论上已知的分布、使用经验分布函数或使用分布函数的平滑估计来完成。
第二步,利用正态分布函数的分位数函数将数据的边距转化为正态。
这就是数学理论。我现在不知道使用错误指定的分布或估计分布代替理论分布的后果是什么。
R 包regpro有一个名为的内置函数copula.trans(),可以将您的数据转换为具有按标准法线分布的边距。换句话说,它执行所描述的两个步骤。如果X是你n×d数据矩阵,然后copula.trans(X)为您返回一个数据矩阵,其中边缘转换为理论上具有标准正态分布(默认情况下)。
如何返回不包含在包中。要回溯该过程,您首先需要标准正态的百分位数函数,然后是理论分布函数、插值经验分布函数或分布函数的平滑估计量。
如果在此过程之后具有边际正态分布足以驱动至少多元正态性,那就太好了。然而,不幸的是,正如我们中的一些人所知,这通常不是真的。对于一个简单的反例,请参阅:两个正态分布的随机变量不需要联合二元正态。 (有关更多信息,请参阅下面的@Glen_b 评论。)
除此之外,看起来可能需要一些进一步的假设来确保转换后的分布遵循如下关系Xt|Xt−1∼N(ΓXt−1,Ω).
最初,我正在研究可能提供某些保证的条件分布的一些结果,例如在(Arnold and Pourahmadi, 1988)或(Ashsanullah and Wesolowski, 1994)中发现的结果。一个例子是可交换性标准
(X1,...,Xt−1)=d(X2,...,Xt).
但是,这里的设置有点不同。 (见下面@Stéphane Lauren 的评论。)
我可以使用 copula 将这个数据集转换为比原始数据集更正常的数据集吗?
也许使用 copula 变换可以很好地满足您的想法,但似乎几乎没有理论基础可以完全达到您想要拟合的模型。
M. Ahsanullah 和 J. Wesolowski (1994) 通过条件正态性实现多元正态性。 统计和概率信函。20:235--238。
BC Arnold 和 M. Pourahmadi (1988) 多元分布的条件表征。 Metrika 35(1):95--108。