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

如何在R中生成异方差(heteroskedasticity)随机数据并符合指定回归分布要求

R语言生成匹配要求的递增型异方差随机数据

核心实现逻辑

目标生成的数据满足三个核心特征:

  • 整体为线性回归关系,不存在曲线偏离
  • 异方差为随自变量递增的类型:自变量取值越小,因变量的离散程度越低;自变量取值越大,因变量的离散程度越高
  • 对任意给定的自变量值,对应的因变量服从正态分布,误差项的方差为随自变量变化的函数,而非固定常数

完整可运行代码

# 固定随机种子,保证重复运行结果可复现
set.seed(123)

# 定义样本量
n <- 500

# 生成连续取值的自变量x,覆盖0到20区间
x <- runif(n, min = 0, max = 20)

# 设定线性模型的截距和斜率参数
beta0 <- 3
beta1 <- 1.2

# 生成异方差误差项:每个样本的误差标准差与x值成正比
# 满足正态分布设定:ε_i ~ N(0, σ_i²),σ_i = 0.5 * x_i
sigma_i <- 0.5 * x
epsilon <- rnorm(n, mean = 0, sd = sigma_i)

# 计算最终因变量y
y <- beta0 + beta1 * x + epsilon

# 可视化验证生成形态
plot(x, y, pch = 16, col = adjustcolor("grey40", 0.6),
     main = "递增型异方差样本",
     xlab = "x", ylab = "y")
abline(beta0, beta1, col = "firebrick", lwd = 2)

效果调整说明

  • 生成的散点图中,x值较小的左侧区域散点紧密集中在回归线附近,x值较大的右侧区域散点垂直宽度明显扩大,和要求的示例散点形态完全匹配
  • 所有样本的条件分布严格服从正态分布,方差随x线性升高,和要求的分布规则完全一致
  • 若需要调整异方差的强度,只需修改sigma_i的缩放系数:系数越小,离散程度随x升高的幅度越平缓;系数越大,异方差特征越显著

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 16:24:01