📜  R 中的逆 t 分布

📅  最后修改于: 2022-05-13 01:55:29.645000             🧑  作者: Mango

R 中的逆 t 分布

在概率和统计中,学生的 t 分布(或简称为 t 分布)是连续概率分布族的任何成员。在估计正态分布总体的平均值时会出现这种情况,其中样本量很小,标准差 (SD) 未定义且未知。 df = n 自由度的 t 分布具有密度

f(x) = \gamma(\frac{n+1}{2}) / (\sqrt(n pi) \gamma(n/2)) (1 + x^2/n)^-((n+1)/2)

如果随机变量 X 具有自由度为 ν 的 T 分布,则 Pr (X ≤ x) = P。假设 Z 和 Y 是独立的随机变量。设 Z 为标准正态随机变量(均值为 0,方差为 1)。 Y 是一个自由度为 m 的卡方变量。现在,我们有,

T = \frac{Z}{\sqrt{\frac{Y}{m}}}

变量 T 具有具有 m 个自由度的 t 分布。



方法一:使用tinv()方法

PEIP 是 R 中的一个包,用于在 R 中应用许多 MATLAB 转换和计算。它对于数据统计和数学运算很有用。与 qt() 方法相比,此方法更精确。可以使用以下命令将软件包安装到工作空间中:

install.packages("PEIP")

此包的 tinv() 方法基于 betaincinv函数。它用于计算逆 t 分布。它返回 T 分布的五分位数。 p 值是样本数据结果偶然发生的概率。

以下代码片段说明了考虑具有 2 个自由度的数字 0.4(p 值)的随机概率计算逆 t 分布:

R
# loading the required library
library("PEIP")
  
# defining p-value
p <- 0.4
nu <- 2
print ("Inverse t-distribution")
tinv(p, nu)


R
# defining p-value
p <- 1e-20
nu <- 2
  
print ("Inverse t-distribution")
qt(p, nu)


R
# creating a vec
x <- seq(.1, .9, by = .1)
  
# Calling qt() Function
y <- qt(x, 15)
print ("inverse t-distribution")
print (y)
  
# plotting data
plot (x, y, type = "o")


输出:



[1] "Inverse t-distribution" 
[1] -0.2887

方法二:使用qt()方法

基R中的qt()方法用于返回Student t分布的逆概率累积密度,也称为T分布。它基本上是一个分位数函数。

以下代码片段说明了考虑具有 2 个自由度的微小指数数 1e-20(p 值)的随机概率的逆 t 分布计算。负号表明它在本质上向 -ve NaN 下降:

电阻

# defining p-value
p <- 1e-20
nu <- 2
  
print ("Inverse t-distribution")
qt(p, nu)

输出:

[1] "Inverse t-distribution" 
[1] -7071067812

x 值的向量以序列的形式取,考虑自由度数为 15。对应的 y 值可以通过 R 中的 qt() 方法计算。下面的代码片段说明了这个的用法值向量上的方法:

电阻

# creating a vec
x <- seq(.1, .9, by = .1)
  
# Calling qt() Function
y <- qt(x, 15)
print ("inverse t-distribution")
print (y)
  
# plotting data
plot (x, y, type = "o")

输出: