我正在尝试向正在编写的某些分析实用程序中添加简单的t分数可视化(在一段时间内对scipy的pdf
概率密度函数进行绘图)。在此示例中,我将绘制学生的t分布以及给定问题集的关键t分数临界值。然而,据我所知,简单的可见光并没有正确地出现。
在此示例中,我有一个n=24
数据集,并且试图对其进行可视化的alpha=0.05
两尾检验(AKA统计显着性由分布的任一尾部表示为2.5%)。我希望临界t分数在y(概率)值为0.025时与t分布相交,但是t分布本身似乎已被缩放/展平了?在某种程度上。
据我所知,t分布与我期望的实际概率不匹配,但是在我不知道哪里出问题的地方,设置非常简单。我对统计有些陌生,想知道我是否在这里遗漏了一些基本知识?
## Basic T-Distribution
import scipy.stats as st
import matplotlib.pyplot as plt
import numpy as np
## Setup
dof = 23 # Degrees of freedom
alpha = 0.05 # Significence level
ntails = 2 # Number of tails
## Calculate critical t-score
tcrit = abs(st.t.ppf(alpha/ntails, dof))
# +=2.068
plt.figure()
xs = np.linspace(-10,10,1000)
plt.plot(xs, st.t.pdf(xs,dof), 'k', label="T-Distribution PDF")
## Plot some vertical lines representing critical t-score cutoff
critline = np.linspace(0,alpha/ntails) # y range for critical line, AKA probability from 0-p*
xs_1 = len(critline) * [-tcrit] # X ranges for plotting
xs_2 = len(critline) * [tcrit]
plt.plot(xs_1, critline, 'r', label="-t* for dof=23")
plt.plot(xs_2, critline,'r', label="t* for dof=23")
plt.legend()
最佳答案
PDF是密度。 Y轴不是以“概率”为单位,而是“每X单位的概率”。在tcrit
处评估PDF以获取合适的值以匹配曲线。
尝试这样绘制垂直线:
plt.vlines([-tcrit, tcrit], 0.0, st.t.pdf(tcrit), colors='r')
关于python - 无法在Python中可视化T分布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42331555/