You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为fGarch::rsnorm生成的偏正态变量添加预设相关性

需求与问题

我需要生成两个基于fGarch::rsnorm()的偏正态变量,要求满足以下条件:

  • 变量取值为正值
  • 分别具有指定的均值、方差和偏度
  • 变量间的相关性符合预设值

以下是我的尝试代码及结果:

correlation <- 0.3
mean_1 <- 20
mean_2 <- 10
sd_1 <- 10
sd_2 <- 10
xi_1 <- 10
xi_2 <- 10
n <- 10000

# 生成初始偏正态变量并取绝对值确保正值
x <- abs(fGarch::rsnorm(n, mean = mean_1, sd = sd_1, xi = xi_1))
y <- abs(fGarch::rsnorm(n, mean = mean_2, sd = sd_2, xi = xi_2))

# 尝试为变量添加预设相关性
x <- abs(x + correlation * (y - mean(y)))
y <- abs(y + correlation * (x - mean(x)))

# 查看x的分布
hist(x)

x的直方图

# 查看y的分布
hist(y)

y的直方图

# 计算变量实际相关性
cor(x,y)
#> [1] 0.4941751

Created on 2023-01-13 with reprex v2.0.2

实际得到的相关性(0.494)和预设的0.3偏差明显,同时调整后的变量是否还符合指定的均值、方差和偏度也存疑。

内容的提问来源于stack exchange,提问作者Giovanni Colitti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:00:48