寻找一个实现多变量版本的包
statsmodels.distributions.ECDF
如果不存在,我将实施它以包含在 statsmodels 中(如果被接受),但不想重新发明轮子。
我看到这个:https://gitlab.com/stochastic-control/StOpt
它有 pybind11 绑定,但不确定 pip 中是否有轮子已经使它可用。
即将发布的 statsmodels 0.13 包括对 copula 的基本支持。
经验和非参数copula和多元分布主要有实验代码,目前不公开,没有充分测试和验证。
例如
_ecdf_mv
(*)目前是多元rankdata
函数。它需要除以观察次数或转换为绘图位置以使其成为 ECDF。因为 copula 需要连续均匀的边距,所以关系是随机或任意断开的。
(*) https://github.com/statsmodels/statsmodels/blob/main/statsmodels/distributions/tools.py#L424
我尝试在这里实现多维分而治之算法:https://github.com/abockmann/Multidimensional-ECDF/blob/main/mdc.py (Bentley, J. L. (1980)。多维分而治之。ACM 通讯,23(4), 214-229。) 它计算等级;只需除以点数,即可得到多维 ECDF。请注意,随着维数的增加,执行时间增长得非常快,但至少在二维中,对于大量点,它将明显优于蛮力。