正态分布变量线性变换后分布的验证与求解方法咨询
正态分布线性变换的正确推导与验证
首先直接给结论:你之前推导的方差部分是错误的,$Y=2X+1$并不服从$N(3,9)$,正确的分布应该是$\boldsymbol{N(3, 16)}$。咱们一步步拆解问题:
为什么原结论无效?
你在计算方差的时候误用了公式:正态分布线性变换的方差不是$a\times Var(X)+b$,而是$a^2\times Var(X)$——因为常数的方差为0,且线性变换中系数要平方才能传递到方差上。原推导里把方差算成$2\times4+1=9$,这是完全错误的。
正确的推导步骤
已知$X \sim N(\mu, \sigma^2)=N(1,4)$,对于线性变换$Y=aX+b$(这里$a=2, b=1$),正态分布有一个核心性质:正态变量的线性变换仍然服从正态分布,具体推导如下:
- 期望计算:这部分你是对的
$$E(Y) = E(2X+1) = 2E(X) + 1 = 2\times1 + 1 = 3$$ - 方差计算:这里要注意规则:$Var(cX+d)=c^2Var(X)$(因为常数$d$的方差为0,且系数$c$要平方)
$$Var(Y) = Var(2X+1) = 2^2Var(X) + Var(1) = 4\times4 + 0 = 16$$ - 结合正态分布的封闭性,最终得到:$\boldsymbol{Y \sim N(3, 16)}$
R语言代码验证
咱们用代码生成样本验证这个结论,代码里要注意rnorm函数的sd参数是标准差(方差的平方根),所以X的sd是2而不是4:
# 设置随机种子保证结果可重复 set.seed(123) # 生成10000个服从N(1,4)的样本(sd=2,因为Var=4=2²) X <- rnorm(n = 10000, mean = 1, sd = 2) # 计算Y=2X+1 Y <- 2 * X + 1 # 查看Y的样本均值和方差 cat("Y的样本均值:", round(mean(Y), 2), "\n") cat("Y的样本方差:", round(var(Y), 2), "\n") # 绘制直方图+拟合正态曲线 hist(Y, prob = TRUE, col = "#f0f0f0", main = "Y=2X+1的分布拟合", xlab = "Y值") # 拟合N(3,16)的正态曲线(sd=4,因为Var=16=4²) curve(dnorm(x, mean = 3, sd = 4), add = TRUE, col = "red", lwd = 2) legend("topright", legend = "N(3,16)拟合曲线", col = "red", lwd = 2)
运行这段代码后,你会看到:
- Y的样本均值接近3,样本方差接近16
- 直方图的形状和红色的正态拟合曲线几乎完全重合,完美验证了推导结果
内容的提问来源于stack exchange,提问作者atp
相关产品推荐
相关产品推荐

