一道关于概率论和统计的知识

使用下面的 Python 代码执行模拟,根据分布生成原理实现中心极化和卡方分布和 t 分布。

卡方 :通过平方标准正态分布加 n 个,自由度为 n 的卡方

t 分布:在标准规范分布中,将卡方分布除以自身自由度,将根分开获得。

遵循以下原则,使用您自己的代码进行出色重新构建。

代码注释,详细说明每行的含义。

中心极化:将 p 从伯努利分布转换为 0.1、0.5 和 0.9,将样本数 n 拉出 10、30、50 和 100,求平均值,并重复绘制 500 次概率分布。

卡方分布:1、3 和 10 个自由度开方分布

t 分布:自由度 1、3 和 10 的 t 分布

p、n、自由度和迭代数指定为变量,以便可以将其替换为其他数。

** 以下代码仅供参考,您可以继续学习和搜索,并编写代码以匹配您的回答

https://daewonyoon.tistory.com/358

示例 1) 均匀分布 U (0,1)U (0,1)
U
(
0
,
1
)
从 中提取 10 个样本,平均 X 3X 10
X
¯
重复实验 200 次,以直方图显示这 200 个样本均值。

from scipy.stats import uniform

np.random.seed(1) # 生成可重复的随机数。使用相同的种子值始终显示相同的结果。

n = 10 # 一次执行中要提取的样本数
mean = [] # 存储每次实施中提取的样本平均值的列表

for i 在 range (201): # 重复语句,总共 200 次迭代
x = uniform.rvs(loc=0,scale=1,size=n) # ( loc,scale) 作为母数的均匀分布中的 n 个随机样本生成
mean.append(x.mean())
plt.hist(mean, bins = 9, density = True, histtype='bar')
plt.title("Distribution of the Sample Mean")
plt.xlabel("mean")
plt.ylabel("Density")

plt.show()

示例 2) 这一次,我们将样本数量增加到 20、30 和 50,并重复实验。样本均值的分布有何不同?让我们运行给定的脚本,并检查结果。

np.random.seed(1)

n = [10, 30, 50, 100]

for i 在 range(4): # 实验,每个样本总数为 4 个不同的样本数
plt.figure(figsize=(6, 4))

#plt.subplot (221 + i) # 创建多图形窗口。

mean = []
for j 在 range (1001): # 每个样本的大小重复 1000 次
x = uniform.rvs(loc=0, scale=1, size=n[i])
mean.append(x.mean())

plt.hist(mean, bins = 9, color = "C0", density = True, histtype='bar')
plt.title("Distribution of the Sample Mean n = %i" % n[i])
plt.xlabel("mean")
plt.ylabel("Density")

x = np.linspace(0, 1, 100, endpoint=True)
mu = 0.5 # (0,1) 均匀分布的毛线
sd = np.sqrt (1/12) # (0,1) 均匀分布的母标准偏差
fx = norm.pdf(x, loc = mu, scale = sd/np.sqrt(n[i]))
plt.plot(x,fx,color = “C1”,线性值 = 1.0,linestyle=“-”) # 样本均值近似的正态分布