📜  Python中的 numpy.random.standard_t()(1)

📅  最后修改于: 2023-12-03 15:34:24.127000             🧑  作者: Mango

Numpy Random Standard_t()

在NumPy中,numpy.random.standard_t()方法用于生成具有自由度df的标准$t$分布。标准$t$分布由中心$\mu=0$和标准偏差$\sigma=1$的$t$分布定义。$t$分布也称为$Student's\ t-distribution$分布。该分布由Studen(学生)于1908年提出,因此得名。

语法

numpy.random.standard_t(df, size=None)

参数说明:

  • df:自由度(degrees of freedom)。
  • size:指定返回数组的大小。默认为None,表示只返回一个值。

返回值:返回一个或多个符合条件的随机样本值。

示例
import numpy as np

# 生成一个自由度为3,大小为3*3的标准t分布样本
sample = np.random.standard_t(df=3, size=(3, 3))
print(sample)

输出结果为:

array([[-0.58143793, -0.97971108, -0.1606946 ],
       [-1.00276414,  0.09661593,  0.22163547],
       [-1.76997241, -0.19262281, -0.34258788]])
应用举例

$t$分布用于小样本情况下估计总体均值或两个总体均值之差的显著性检验中。当总体方差未知,又由于小样本所以无法使用正态分布时,可以使用$t$分布。具有$t$分布的随机变量$t$由自由度决定。

相关概念:

  • 自由度:$v=n-1$,其中n为样本量。
  • 置信度:表示估计分布中的区间。
  • 样本标准差:样本标准差等于样本方差的平方根($s=\sqrt{\frac{\sum_i^n(x_i-\bar x)^2}{n-1}}$)。

下面是一个利用ttest_ind函数实现的小样本均值假设检验:

from scipy.stats import ttest_ind
a = [1, 2, 3, 4, 5]
b = [5, 6, 7, 8, 9]
t, p = ttest_ind(a, b, equal_var=True)
if p < 0.05:
    print("在置信度为95%的情况下,拒绝原假设(H0)。")
else:
    print("在置信度为95%的情况下,无法拒绝原假设。")

输出结果为:

在置信度为95%的情况下,拒绝原假设(H0)。

在这个例子中,我们尝试检验两个样本的均值是否相等。在置信度为95%的情况下,拒绝原假设(H0),说明这两个样本的均值不相等。