python生成卡方分布

2021-06-03  本文已影响0人  一路向后

1.卡方分布简介

若n个相互独立的随机变量ξ_1、ξ_2、……、ξ_n,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和

\quad\chi^2\ =\ \sum_{i=1}^nξ^2_i

构成一新的随机变量,其卡方分布规律称为\chi^2分布(chi-square distribution),其中参数n称为自由度,正如正态分布中均值或方差不同就是另一个正态分布一样,自由度不同就是另一个分布。卡方分布是由正态分布构造而成的一个新的分布,当自由度n很大时,\chi^2分布近似为正态分布。 对于任意正整数k, 自由度为k的卡方分布是一个随机变量X的机率分布。

2.源码实现

import numpy as np
from scipy.stats import chi2

# 设置随机数种子
np.random.seed(42)

# 生成一个卡方分布的样本, df为自由度
print(chi2.rvs(df=4), end="\n")

# 生成10个卡方分布的样本
print(chi2.rvs(df=4, size=10), end="\n")

# x为0.3时的概率密度
print(chi2.pdf(df=4, x=0.3), end="\n")

# x小于0.3时的概率
print(chi2.cdf(df=4, x=0.3), end="\n")

3.运行及其结果

$ python3 example.py
4.78735877974
[ 2.98892946  2.76456717  2.76460459  9.29942882  5.73341246  2.262156
  4.93962895  3.99792053  0.43182989  1.34248457]
0.0645530982319
0.0101858271112
上一篇下一篇

猜你喜欢

热点阅读