R语言 t 分布
t分布 是一种概率分布,是在对正态分布的人口进行抽样时,当样本量较小且人口的标准差未知时产生的。它也被称为 “学生t分布”。它近似于钟形曲线,也就是说,它近似于正态分布,但在尾部附近有一个较低的峰值和更多的观测值。这意味着它比标准正态分布或z分布(平均值为0,标准差为1)给尾部的概率更高。
自由度 与样本大小有关,显示了在数据样本中可以自由变化的逻辑独立值的最大数量。它的计算方法是n-1,其中n是观察值的总数。例如,如果你在一个样本中有3个观察值,其中2个是10,15,而平均值被显示为15,那么第三个观察值必须是20。因此,在这种情况下,自由度是2(只有两个观察值可以自由变化)。自由度对t分布很重要,因为它描述了曲线的形状。也就是说,t分布中的方差是根据数据集的自由度来估计的。随着自由度的增加,t分布会越来越接近于与标准正态分布相匹配,直到它们收敛(几乎相同)。因此,标准正态分布可以用来代替大样本量的t分布。
t检验 是一种统计假设检验,用于确定两组之间是否存在明显的差异(差异以平均值衡量),并估计这种差异存在的可能性纯粹是偶然的(p值)。在t分布中,一个叫做 t分数 或t值的测试统计量 ,用来描述一个观察值离平均值有多远。t分数被用于t检验 、 回归检验和计算置信区间。
R语言 的学生t分布
使用的函数
- 要找到给定随机变量x的学生t分布的概率密度函数(pdf)值,请使用R中的 dt() 函数。
语法 :dt(x, df)
参数
- x是量纲向量
- df是自由度
-
pt() 函数用于获取t分布的累积分布函数(CDF)。
语法: pt(q, df, lower.tail = TRUE)
参数
- q是量纲向量
- df是自由度
- lower.tail – 如果是TRUE(默认),概率为P[X≤x],否则为P[X>x]。
-
qt() 函数用于获得t分布的量化函数或反累积密度函数。
语法: qt(p, df, lower.tail = TRUE)
参数
- p是概率的向量
- df是自由度
- lower.tail – 如果是TRUE(默认),概率为P[X≤x],否则为P[X>x]。
方法
- 设置自由度
- 要绘制学生t分布的密度函数,请按照给出的步骤进行。
- 首先,在R中创建一个量纲的向量。
- 接下来,使用dt函数找出随机变量x和一定自由度的t分布的值。
- 使用这些值绘制学生t分布的密度函数。
- 现在,用pt函数代替dt函数,以获得t分布的累积分布函数(CDF),用qt函数获得t分布的量化函数或反累积密度函数。简单地说,pt返回t分布中给定随机变量q左边的面积,qt找到t分布中p的 四分位数的t分数。
例子: 要找到x=1时的t分布值,有一定的自由度,例如Df =25。
# value of t-distribution pdf at
# x = 0 with 25 degrees of freedom
dt(x = 1, df = 25)
输出
0.237211
例子
下面的代码显示了具有不同自由度的概率密度函数的比较。如前所述,可以看到,样本量越大(自由度越大),图表越接近于正态分布(图中虚线)。
# Generate a vector of 100 values between -6 and 6
x <- seq(-6, 6, length = 100)
# Degrees of freedom
df = c(1,4,10,30)
colour = c("red", "orange", "green", "yellow","black")
# Plot a normal distribution
plot(x, dnorm(x), type = "l", lty = 2, xlab = "t-value", ylab = "Density",
main = "Comparison of t-distributions", col = "black")
# Add the t-distributions to the plot
for (i in 1:4){
lines(x, dt(x, df[i]), col = colour[i])
}
# Add a legend
legend("topright", c("df = 1", "df = 4", "df = 10", "df = 30", "normal"),
col = colour, title = "t-distributions", lty = c(1,1,1,1,2))
输出
例子: 用t分布寻找p值和置信区间
# area to the right of a t-statistic with
# value of 2.1 and 14 degrees of freedom
pt(q = 2.1, df = 14, lower.tail = FALSE)
输出
0.02716657
基本上我们发现单边P值,P(t>2.1)为2.7%。现在假设我们想构建一个双侧的95%的置信区间。要做到这一点,请使用qt函数或量化分布找到95%置信度的t分数或t值。
例子
# value in each tail is 2.5% as confidence is 95%
# find 2.5th percentile of t-distribution with
# 14 degrees of freedom
qt(p = 0.025, df = 14, lower.tail = TRUE)
输出
-2.144787
因此,2.14的t值将被用作95%置信区间的临界值。