当前位置:网站首页>MCS:连续随机变量——Chi-Square分布
MCS:连续随机变量——Chi-Square分布
2022-06-23 03:56:00 【今晚打佬虎】
Chi-Square 分布
Chi-Square分布是统计分析上最常用的分布之一,用于检验变量的方差的变化,Chi-Square变量用 X 2 \mathcal X^2 X2表示,自由度参数用 k k k表示(正整数)通常 k < = 100 k <= 100 k<=100,令 w = X 2 w = \mathcal X^2 w=X2,概率密度函数为:
f ( w ) = w ( k / 2 − 1 ) e − w / 2 2 k / 2 Γ ( k / 2 ) , w > = 0 f(w) = \frac{w^{(k/2-1)} e^{-w/2}}{2^{k/2}\Gamma(k/2)},w >= 0 f(w)=2k/2Γ(k/2)w(k/2−1)e−w/2,w>=0
Γ ( k ) \Gamma(k) Γ(k):Gamma函数:
Γ ( k ) = ∫ 0 ∞ t k − 1 e − t d t , k > 0 \Gamma(k) = \int_0^{\infty} t^{k-1}e^{-t}dt, k > 0 Γ(k)=∫0∞tk−1e−tdt,k>0
如果 k k k为正整数(Gamma = Erlang):
Γ ( k ) = ( k − 1 ) ! \Gamma(k) = (k-1)! Γ(k)=(k−1)!
w w w( X 2 \mathcal X^2 X2)的均值和方差为: E ( w ) = k , V ( w ) = 2 k E(w) = k,V(w) = 2k E(w)=k,V(w)=2k
E ( X 2 ) = k E(\mathcal X^2) = k E(X2)=k
V ( X 2 ) = 2 k V(\mathcal X^2) = 2k V(X2)=2k
自由度为 k k k的卡方变量与标准正态变量的关系:
X 2 = z 1 2 + z 2 2 + . . . + z k 2 \mathcal X^2 = z_1^2 + z_2^2 + ... + z_k^2 X2=z12+z22+...+zk2
当 k > 30 k > 30 k>30,根据中心极限定理,chi-square的概率密度将呈现出正态分布, X 2 ∼ N ( k , 2 k ) \mathcal X^2 \sim N(k, 2k) X2∼N(k,2k),根据这个关系, α \alpha α-percent chi-square近似值:
X α 2 ≈ k + z α 2 k \mathcal X_{\alpha}^2 \approx k + z_{\alpha} \sqrt{2k} Xα2≈k+zα2k
- z z z : 标准正态变量, P ( z > z α ) = α P(z > z_{\alpha}) = \alpha P(z>zα)=α, P ( X 2 > X α 2 ) ≈ α P(\mathcal X^2 > \mathcal X_{\alpha}^2 ) \approx \alpha P(X2>Xα2)≈α
- k k k : 均值, 2 k 2k 2k : 方差
同Gamma分布的关系:
当Gamma分布的参数 θ = 2 , k ′ = k / 2 \theta = 2, k' = k/2 θ=2,k′=k/2时,他们具有相同的形状。
生成随机的Chi-Square变量
根据卡方变量跟标准正态变量之间的关系,可以通过K个标准的正态变量来生成自由度为k的卡方变量,计算步骤如下:
- X 2 = 0 \mathcal X^2 = 0 X2=0
- For i in range(1, k+1).
- Generate a standard normal variate z.
- X 2 = X 2 + z 2 \mathcal X^2 = \mathcal X^2 + z^2 X2=X2+z2.
- Next i.
- Return X 2 \mathcal X^2 X2.
根据Chi-Square变量跟Gamma变量的关系,也可以通过Gamma分布生成随机Chi-Square变量。
例:假设一个随机卡方变量自由度为 k = 3 k=3 k=3,模拟生成服从这样分布的随机变量,过程如下:
- Generate three random standard normal variates : z 1 , z 2 , z 3 = 0.47 , − 0.81 , 1.04 z_1, z_2, z_3 = 0.47, -0.81, 1.04 z1,z2,z3=0.47,−0.81,1.04
- X 2 = 0.4 7 2 + − 0.8 1 2 + 1.0 4 2 = 1.9586 \mathcal X^2 = 0.47^2 + -0.81^2 + 1.04^2 = 1.9586 X2=0.472+−0.812+1.042=1.9586
- Return X 2 = 1.9586 \mathcal X^2 = 1.9586 X2=1.9586
例:假设一个随机卡方变量的自由度为239,模拟生成一个这样的随机变量:
注:根据Chi-Square分布的特点,当自由度较高时(k > 30),Chi-Square分布将呈现出正态分布的形状。(N(k, 2k)),根据这个性质可以通过标准正态分布生成Chi-Square变量。
- Generate a random standard normal z ∼ N ( 0 , 1 ) , z = 1.34 z \sim N(0, 1),z = 1.34 z∼N(0,1),z=1.34
- X 2 ≈ i n t ( k + z × 2 k + 0.5 ) = 269 \mathcal X^2 \approx int(k + z \times \sqrt{2k} + 0.5) = 269 X2≈int(k+z×2k+0.5)=269
- Return X 2 = 269 \mathcal X^2 = 269 X2=269
import numpy as np
import matplotlib.pyplot as plt
def generate_chi_square_var(k=1):
if k <= 30:
z = np.random.normal(0, 1, size=(k))**2
x = z.sum()
else:
z = np.random.normal(0, 1)
x = int(k + z * np.sqrt(2*k) + 0.5)
return x
k = 1 、 10 、 30 、 50 k = 1、10、30、50 k=1、10、30、50
x_k1 = [generate_chi_square_var() for i in range(10000)]
x_k10 = [generate_chi_square_var(10) for i in range(10000)]
x_k30 = [generate_chi_square_var(30) for i in range(10000)]
x_k50 = [generate_chi_square_var(50) for i in range(10000)]
plt.figure(figsize=(12, 5))
plt.hist(x_k1, label="$k=1$")
plt.hist(x_k10, label="$k=10$", alpha=0.5)
plt.hist(x_k30, label="$k=30$", alpha=0.5)
_=plt.hist(x_k50, label="$k=50$", alpha=0.5)
plt.legend()
plt.grid()

边栏推荐
- 关于重放攻击和防御
- The technological advance of new employees? Journey
- 计算欧式距离和余弦相似度
- 飞桨框架v2.3发布高可复用算子库PHI!重构开发范式,降本增效
- 小时候 觉得爸爸就是天 无所不能~
- PHP move_ uploaded_ File failed to upload mobile pictures
- stm32时钟树错误配置导致 开机进入硬中断
- What is the average annual salary of an outsourced tester who has worked for 5-8 years?
- 104. 简易聊天室7:使用 Socket 传递对象
- Event log keyword: eventlogtags logtags
猜你喜欢

大环境不好难找工作?三面阿里,幸好做足了准备,已拿offer

Onnxoptimizer, onnxsim usage records

618如何冲出重围?海尔智家:做好用户的数字化

Ams:startactivity desktop launch application

【微服务|Nacos】Nacos实现多环境和多租户的数据隔离

掌握 Shell,一篇就够了!

导出带水印的PDF

Missing essential plugin

(IntelliJ)插件一 Background Image Plus

What is the average annual salary of an outsourced tester who has worked for 5-8 years?
随机推荐
(IntelliJ) plug in background image plus
OSPF分流实验
One or more lines of text overflow, ellipsis instead
Web application security testing guide
【opencv450】 图像相减、二值化、阈值分割
九九乘法表.bat
Event日志关键字:EventLogTags.logtags
网上有真实的兼职吗?大学生怎么找暑期兼职?
Event log keyword: eventlogtags logtags
Drag and drop frame
应用挂了~
MVC three-tier architecture
MySQL stored procedure
Laravel8 implementation of picture verification code
Snippet Manager snippetslab
Post processing of multisensor data fusion using Px4 ECL
Ams:startactivity desktop launch application
vmware网络连接出错Unit network.service not found
Raspberry pie network remote access
Go 分组 & 排序