在SPSS软件内可以实现对表中数据的统计推断,为了实现同样类似的操作,我们可以使用Python复现SPSS中的部分功能,实现简单的数据统计推断功能。
什么是T检验?
t检验又称学生t检验(student’s t-test),是统计推断的最基本方法。利用t分布理论,研究两组均数之间是否存在显著性差异。
t 检验要解决什么问题?
- 如何判断药物的疗效?
- 青少年身高、体重发展是否符合规律?
- 近视是否在不同年级之间的比例是一致的?
- 手术前后病人的生理指标是否有差异?
- 保健品的含量是否与标称值一样?
t检验的适用条件
适用条件:小样本数据的分析,且数据分布需要服从正态或者近似正态分布,已知总体和样本均值。包括:单样本t检验、独立样本t检验、配对样本t检验。数据类型:定量数据(因变量Y),定性数据(自变量X)
正态分布
正态分布又称常态分布,高斯分布。正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。若随机变量X服从一个数学期望(均值)为μ、方差为σ2的正态分布,记为N(μ,σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
t分布
t 分布:根据小样本来估计呈正态分布且方差未知的总体的均值,已知总体和样本均值。以0为中心,左右对称的单峰分布。t 分布曲线与样本数量N(自由度df)密切相关。df越小,曲线越低平;df越大,曲线越高陡;当自由度df=∞时,曲线为标准正态分布。
t检验分布表
利用Python进行t检验
界面效果如下:
最终输出结果为表格,结果如下:
界面由PyQt5设计完成
部分代码如下:
#获取置信度
def get_confidence_entry_item(self):
try:
confidence_entry = self.lineEdit_confidence_entry.text()
confidence_entry = float(confidence_entry)
return confidence_entry
except Exception as e:
# 处理异常
print("请输入正确置信度:", str(e))
#获取检测值
def get_inspection_item(self):
try:
inspection_entry = self.lineEdit_inspect.text()
inspection_entry = float(inspection_entry)
return inspection_entry
except Exception as e:
# 处理异常
print("请输入正确检验值:", str(e))
#分类选择值
def classfication_choose(self):
global classfication_value
search_text = " = ?"
choose_items = self.listView_classfication_choose.selectedItems()
for item in choose_items:
replace_text = " = " + item.text()
classfication_value = item.text()
for index in range(self.listView_classfication.count()):
item = self.listView_classfication.item(index)
item_text = item.text()
if item_text.endswith(search_text):
new_text = item_text[:-len(search_text)] + replace_text
item.setText(new_text)
break
self.listView_classfication_choose.clear()
完整代码可以在我的Github中获取。