Copula-连接函数
Copula(连接函数)用于刻画多变量之间的依赖结构,将边缘分布与相关结构分离建模。系统支持:
Copula-连接函数
1. 方法概述
Copula(连接函数)用于刻画多变量之间的依赖结构,将边缘分布与相关结构分离建模。系统支持:
- 单对变量(X/Y)与批量成对拟合(pairwise);
- 边缘分布:经验分布(秩变换)、参数分布(正态/t/对数正态/伽马)、KDE CDF(如可用);
- Copula 家族:Gaussian / t / Clayton / Frank / Gumbel(可自动选择);
- 指标:Kendall / Spearman、logLik/AIC/BIC、尾部相关、经验距离;
- 模拟:从拟合 Copula 生成样本并反变换回原尺度;
- 输出:Excel 多表与图表(散点、伪观测、密度热力、尾相关对比等)。
设样本为 \(\{(x_i,y_i)\}_{i=1}^n\): $$ \mathcal{D}=\{(x_i,y_i)\}_{i=1}^{n},\quad x_i,y_i\in\mathbb{R} \tag{1} $$
2. Copula 基本定义(Sklar 定理)
二维联合分布可表示为 $$ F_{XY}(x,y)=C\big(F_X(x),F_Y(y)\big) \tag{2} $$
其中 \(C(\cdot,\cdot)\) 为 Copula,\(u=F_X(x), v=F_Y(y)\in(0,1)\)。
若可导,则 Copula 密度为
$$
c(u,v)=\frac{\partial^2 C(u,v)}{\partial u\,\partial v}
\tag{3}
$$
3. 边缘分布与伪观测
3.1 经验分布(秩变换)
$$ u_i=\frac{\mathrm{rank}(x_i)}{n+1},\quad v_i=\frac{\mathrm{rank}(y_i)}{n+1} \tag{4} $$
3.2 参数分布(可选)
若边缘分布参数为 \(\theta\),则 $$ u_i=F_X(x_i;\theta_x),\quad v_i=F_Y(y_i;\theta_y) \tag{5} $$
3.3 KDE CDF(可选)
当环境支持 KDE CDF 时,用核密度估计 \(\hat F_X,\hat F_Y\) 代替经验分布。
4. Copula 家族
4.1 Gaussian Copula
$$ C(u,v)=\Phi_{\rho}\big(\Phi^{-1}(u),\Phi^{-1}(v)\big) \tag{6} $$
4.2 t-Copula
$$ C(u,v)=t_{\nu,\rho}\big(t_{\nu}^{-1}(u),t_{\nu}^{-1}(v)\big) \tag{7} $$
4.3 Clayton Copula(下尾相关)
$$ C(u,v)=\left(u^{-\theta}+v^{-\theta}-1\right)^{-1/\theta},\quad \theta>0 \tag{8} $$
4.4 Frank Copula(无尾相关)
$$ C(u,v)=-\frac{1}{\theta}\ln\left(1+\frac{(e^{-\theta u}-1)(e^{-\theta v}-1)}{e^{-\theta}-1}\right),\ \theta\neq 0 \tag{9} $$
4.5 Gumbel Copula(上尾相关)
$$ C(u,v)=\exp\left(-\left((-\ln u)^{\theta}+(-\ln v)^{\theta}\right)^{1/\theta}\right),\quad \theta\ge 1 \tag{10} $$
5. 参数估计与评价指标
5.1 伪似然 / 对数似然
$$ \ell(\theta)=\sum_{i=1}^{n}\ln c(u_i,v_i;\theta) \tag{11} $$
5.2 AIC / BIC
$$ \text{AIC}=2k-2\ell(\theta),\qquad \text{BIC}=k\ln n-2\ell(\theta) \tag{12} $$
5.3 Kendall / Spearman(样本)
$$ \tau=\frac{2}{n(n-1)}\sum_{i<j}\mathrm{sign}(x_i-x_j)\,\mathrm{sign}(y_i-y_j) \tag{13} $$
$$ \rho_s=1-\frac{6\sum_{i=1}^n d_i^2}{n(n^2-1)} \tag{14} $$
5.4 椭圆 Copula 的秩相关
(Gaussian / t) $$ \tau=\frac{2}{\pi}\arcsin(\rho),\qquad \rho_s=\frac{6}{\pi}\arcsin\left(\frac{\rho}{2}\right) \tag{15} $$
5.5 Clayton / Gumbel 的秩相关
$$ \tau_{\text{Clayton}}=\frac{\theta}{\theta+2},\qquad \tau_{\text{Gumbel}}=1-\frac{1}{\theta} \tag{16} $$
5.6 尾部相关(系统输出)
t-Copula: $$ \lambda_U=\lambda_L=2\,t_{\nu+1}\!\left(-\sqrt{\frac{(\nu+1)(1-\rho)}{1+\rho}}\right) \tag{17} $$
Clayton: $$ \lambda_L=2^{-1/\theta},\quad \lambda_U=0 \tag{18} $$
Gumbel: $$ \lambda_U=2-2^{1/\theta},\quad \lambda_L=0 \tag{19} $$
Gaussian / Frank 无尾相关(\(\lambda_L=\lambda_U=0\))。
5.7 经验 Copula 距离(可选)
经验 Copula 在样本点处: $$ \hat C(u_i,v_i)=\frac{1}{n}\sum_{j=1}^n\mathbf{1}(u_j\le u_i, v_j\le v_i) \tag{20} $$
与模型 CDF 的平方距离: $$ D^2=\sum_{i=1}^n\big(\hat C(u_i,v_i)-C(u_i,v_i)\big)^2 \tag{21} $$
6. 模拟与反变换
从拟合 Copula 生成 \((U,V)\) 后,反变换得到 $$ X=F_X^{-1}(U),\quad Y=F_Y^{-1}(V) \tag{22} $$
7. 批量成对拟合(pairwise)
系统支持对所有数值列进行两两拟合,并以 AIC 选择最优家族,输出:
- Pairwise_Summary(每对变量的最优家族与参数)
- family_heatmap / kendall_tau_heatmap 两张热力图
8. 输出结果与图表(Excel/图片)
Excel Sheets(单对拟合):
- Parameters / Raw_Preview / Marginals / PseudoObs_UV
- Copula_Fit / Dependence / Empirical_Distance / Simulated_Samples
- Charts_Index
Excel Sheets(pairwise):
- Raw_Preview / Pairwise_Summary / Charts_Index
图表清单(示例):
- 原始散点(scatter_raw)
- 伪观测散点(scatter_uv)
- U-V 直方图或热力图(hist2_uv / copula_pdf_heat)
- 模拟样本对比(scatter_sim_vs_raw)
- 尾部概率对比图(tail_empirical_vs_model)
- (pairwise)家族热力图 / Kendall-tau 热力图
9. 与代码实现的对应关系
本算法在程序中由 具体的算法2/Copula-连接函数/core/calculator.py 实现,支持单对变量拟合与全数值列 pairwise 两种模式。程序会同时导出边缘分布信息、伪观测、Copula 拟合结果、经验距离和图表索引,因此论文写作不应只停留在“选了某个 Copula 家族”,而应与这些真实产物对应。
9.1 程序实际导出的工作表
- 单对拟合:
Parameters、Raw_Preview、Marginals、PseudoObs_UV、Copula_Fit、Dependence、Empirical_Distance、Simulated_Samples、Charts_Index; - pairwise:
Raw_Preview、Pairwise_Summary、Charts_Index。
9.2 程序实际生成的图表
scatter_raw:原始样本散点;scatter_uv:伪观测散点;copula_pdf_heat:Copula 密度热力图;scatter_sim_vs_raw:模拟样本与原样本对比;tail_empirical_vs_model:尾部联动经验值与模型值对比;- pairwise 模式下还会生成家族热力图和 Kendall-tau 热力图。
9.3 程序实现中应写清的点
- 边缘分布支持经验分布、参数分布与 KDE 路径;
copula_family=auto/best时程序会比较多类 Copula 并按 AIC 选优;- t-Copula 会额外输出自由度与上下尾相关;
- pairwise 结果是对所有数值列两两拟合的汇总,适合论文附录或变量筛查章节使用。
10. 论文写作模板
10.1 模型描述模板段落
“本文采用 Copula 方法对变量 \(X\) 与 \(Y\) 的依赖结构进行建模。首先对边缘分布进行估计,并通过秩变换得到伪观测 \(U,V\)(式(4)–(5))。随后分别拟合 Gaussian/t/Clayton/Frank/Gumbel Copula,并以对数似然与 AIC/BIC 进行比较(式(11)–(12))。模型输出 Kendall 与 Spearman 秩相关、尾部相关与经验距离,用于刻画相关强度与尾部依赖。”
10.2 图表题注模板(示例)
- 图 1 原始样本散点与伪观测散点对比图。
- 图 2 Copula 密度热力图与模拟样本分布。
- 图 3 尾部相关经验值与模型值对比图。
10.3 表格模板(示例)
表 1 Copula 家族参数与评价指标
| 家族 | 参数 | logLik | AIC | BIC | Kendall |
|---|---|---|---|---|---|
| Gaussian | \(\rho=\) |
表 2 尾部相关系数
| 家族 | \(\lambda_L\) | \(\lambda_U\) |
|---|---|---|
| t-Copula |
10.3.1 更多中文表格示例(可直接用于论文)
表 3 Copula 家族对比(示例)
| 家族 | 参数估计 | logLik | AIC | BIC | 备注 |
|---|---|---|---|---|---|
| Gaussian | \(\rho=0.68\) | -120.3 | 242.6 | 247.9 | 无尾相关 |
| t-Copula | \(\rho=0.66,\ \nu=4.2\) | -118.1 | 240.2 | 247.0 | 存在尾相关 |
| Clayton | \(\theta=1.25\) | -130.5 | 263.0 | 268.2 | 下尾相关 |
| Gumbel | \(\theta=1.40\) | -127.8 | 257.6 | 262.8 | 上尾相关 |
表注:对比以 AIC/BIC 为主,logLik 越大越好;Clayton/Gumbel 仅适用于正相关样本。
表 4 依赖强度与尾部相关(示例)
| 指标 | 样本值 | 模型值 | 说明 |
|---|---|---|---|
| Kendall’s \(\tau\) | 0.62 | 0.60 | 秩相关强度 |
| Spearman’s \(\rho_s\) | 0.81 | 0.79 | 秩相关强度 |
| \(\lambda_L\) | 0.18 | 0.16 | 下尾相关 |
| \(\lambda_U\) | 0.22 | 0.21 | 上尾相关 |
表 5 经验距离与拟合优度(示例)
| 指标 | 数值 | 解释 |
|---|---|---|
| \(D^2\) | 0.011 | 经验 Copula 与模型 CDF 的平方距离 |
| MSE | 1.6e-5 | 距离均方误差 |
10.4 英文模板段落与图表题注(可直接使用)
英文段落模板
“A Copula model was employed to characterize the dependence between \(X\) and \(Y\). Marginal distributions were estimated and transformed to pseudo-observations \(U,V\) (Eqs. (4)–(5)). Gaussian/t/Clayton/Frank/Gumbel Copulas were fitted and compared using log-likelihood and information criteria (AIC/BIC; Eqs. (11)–(12)). Kendall’s \(\tau\), Spearman’s \(\rho_s\), and tail-dependence coefficients were reported to assess dependence strength and tail co-movement.”
英文图题模板
- Fig. 1. Raw sample scatter and pseudo-observation scatter plots.
- Fig. 2. Copula density heatmap and simulated sample distribution.
- Fig. 3. Empirical vs. model tail dependence.
英文表格标题模板
- Table 1. Copula family selection and parameter estimates.
- Table 2. Dependence measures (Kendall’s \(\tau\), Spearman’s \(\rho_s\)) and tail coefficients.
11. UI 参数一一对应说明表(与界面一致)
| UI 参数 | 含义 | 对应流程 | 备注 |
|---|---|---|---|
| 变量 X / 变量 Y | 两列输入变量 | 单对拟合 | 需数值列 |
| 批量成对拟合 | 全部数值列两两拟合 | pairwise | 关闭后才可选 X/Y |
| X/Y 方法 | 边缘分布方法 | 伪观测 | 经验/参数/KDE |
| X/Y 分布 | 参数分布类型 | 边缘拟合 | norm/t/lognorm/gamma |
| Copula 类型 | Copula 家族 | 依赖结构 | Auto/高斯/t/Clayton/Frank/Gumbel |
| t 自由度 nu | t-Copula 自由度 | 尾部相关 | 自动估计或固定 |
| 经验Copula距离 | 经验距离开关 | 评价指标 | 平方欧氏距离 |
| grid_n | 密度热力图网格 | 绘图 | 默认 31 |
| hist_bins | U-V 直方图分箱 | 绘图 | 默认 30 |
| 模拟样本 | 是否模拟 | 输出 | 生成模拟散点 |
| simulate_n | 模拟样本量 | 输出 | 默认 5000 |
| random_state | 随机种子 | 复现 | 默认 42 |
12. 示例数据说明模板(可直接用于论文)
“本文使用 \(n\) 组联合样本 \((x_i,y_i)\),通过经验分布/参数分布将边缘映射为伪观测 \((u_i,v_i)\),并拟合多类 Copula 以刻画依赖结构。模型输出相关指标与尾部相关系数,用以评估极端风险的联动程度。”
13. 单篇终审补充
13.1 图题与表题对齐建议
- 本文档应优先对应真实算法目录
具体的算法2/Copula-连接函数。 - 代表性结果目录建议绑定
具体的算法2/Copula-连接函数/results/Copula分析结果_20260329_165518,因为该目录同时具备xlsx + 图 + repro。 - 表题应直接对应
Copula分析结果_20260329_165518.xlsx的真实工作表:Parameters、Raw_Preview、Marginals、PseudoObs_UV、Copula_Fit、Dependence、Empirical_Distance、Simulated_Samples、Charts_Index。 - 图题应优先绑定该目录已存在的实体图片:
scatter_raw_20260329_165518.png、scatter_uv_20260329_165518.png、copula_pdf_heat_20260329_165518.png、scatter_sim_20260329_165518.png、tail_empirical_vs_model_20260329_165518.png、hist2_uv_20260329_165518.png。
13.2 终审说明
- 当前 Copula 文档可以按“单个结果目录闭环”写入论文:结果表、图表、复现脚本都集中在同一时间戳目录中。
- 复现脚本实际为
repro_copula_20260329_165518.py,其SRC_FILE写法是repro_inputs/sample_data.csv,属于“脚本所在结果目录下的repro_inputs相对路径”口径。 - 因此正文若说明复现方式,应写成“基于结果目录内
repro_inputs/sample_data.csv快照复现”,不要误写成模块根目录results/.../repro_inputs/...形式。
13.3 全量强化补充
- 当前 Copula 文档应绑定真实算法目录
具体的算法2/Copula-连接函数,代表性结果目录为具体的算法2/Copula-连接函数/results/Copula分析结果_20260329_165518。 - 该目录首层主工作簿为
Copula分析结果_20260329_165518.xlsx,真实工作表为Parameters、Raw_Preview、Marginals、PseudoObs_UV、Copula_Fit、Dependence、Empirical_Distance、Simulated_Samples、Charts_Index。 - 当前主图与主工作簿同层放置,真实文件为
scatter_raw_20260329_165518.png、scatter_uv_20260329_165518.png、copula_pdf_heat_20260329_165518.png、scatter_sim_20260329_165518.png、tail_empirical_vs_model_20260329_165518.png、hist2_uv_20260329_165518.png。这里没有单独charts/子目录。 - 目录内同时存在
repro_copula_20260329_165518.py和repro_inputs/sample_data.csv,脚本关键输入写法为SRC_FILE = 'repro_inputs/sample_data.csv'。因此 Copula 属于标准“单目录内主结果 + 脚本 +repro_inputs”结构。 - 若论文解释依赖结构,应把
Copula_Fit、Dependence与tail_empirical_vs_model_20260329_165518.png成组引用;若解释伪观测构造,应把PseudoObs_UV、scatter_uv_20260329_165518.png和hist2_uv_20260329_165518.png成组引用。
13.4 软件实现核查补充(2026-07)
- 当前最新结果目录
results/Copula分析结果_20260411_213907是输出目录,工作簿包含Parameters、Raw_Preview、Marginals、PseudoObs_UV、Copula_Fit、Dependence、Empirical_Distance、Simulated_Samples、Charts_Index,图文件也都在根层。 - 当前这版目录的核心图是
scatter_raw_20260411_213907.png、scatter_uv_20260411_213907.png、copula_pdf_heat_20260411_213907.png、scatter_sim_20260411_213907.png、tail_empirical_vs_model_20260411_213907.png、hist2_uv_20260411_213907.png。 - 当前最新目录没有看到同层 repro 脚本;如果要写复现,请回溯到较早时间戳目录中的
repro_copula_20260411_212914.py等脚本,不要把 213907 写成自带复现入口。 - Copula 文档里要强调“边缘分布 + 伪观测 + 拟合 Copula + 模拟样本”这一条链路,不能把它写成普通回归或分类模型。