数据分析:两组数据的T检验power评估

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!

介绍

  • 功效分析(power analysis)是在实验设计阶段进行的,用于确定在给定的效应量、显著性水平和样本大小下,实验能够检测到实际效应的概率。
  • 功效分析有助于确定所需的样本量,以确保实验设计能够检测到有意义的效应。
  • 通过计算功效,研究者可以评估当前设计的实验是否有足够的统计能力来检测效应,如果没有,可能需要增加样本量。
    在这里插入图片描述

导入python包

import pandas as pd
import numpy as np
from math import sqrt
from statsmodels.stats.power import TTestPower

加载数据

百度网盘链接: https://pan.baidu.com/s/1NE-jYGWY9snI7j8NkJS-8A

提取码: gns9


df = pd.read_excel("ST1_oralASV_mouse.xlsx", sheet_name="S1b")

df.head()

在这里插入图片描述

数据预处理

df1 = df[df['Mouse ID'].str.contains('Abx_1')][['Mouse ID','Collection time point','Gut bacterial load']]
df1 = pd.pivot_table(df1, index='Mouse ID', columns='Collection time point', values='Gut bacterial load')
df1

在这里插入图片描述

运行

下面是这段代码的逐步解释:

  1. n_pren_post 分别代表两组样本的大小,这里都是3。
  2. gutload_pregutload_post 分别是两组数据的列表,代表实验前后的肠道负荷。
  3. s_pres_post 是这两组数据的方差。
  4. s 是合并标准差(pooled standard deviation),计算公式是: s=(npre−1)⋅spre+(npost−1)⋅spostnpre+npost−2*s*=*n**p**re*+*n**p**os**t*−2(*n**p**re*−1)⋅*s**p**re*+(*n**p**os**t*−1)⋅*s**p**os**t*
    这个公式用于计算两组样本合并后的标准差,用于后续的t检验。
  5. u_preu_post 是两组数据的平均值。
  6. d 是效应量(effect size),这里使用的是Cohen’s d,计算公式是: d=upre−uposts*d*=*s**u**p**re*−*u**p**os**t*
    效应量是一个标准化的量度,用于衡量两个群体间的差异大小。
  7. alpha 是显著性水平,这里设置为0.05,表示有5%的概率拒绝正确的零假设。
  8. obj = TTestPower() 创建了一个用于计算t检验功效的对象。
  9. power 是通过power函数计算的,需要提供效应量、样本大小、显著性水平和备择假设。这里nobs是样本数量,df是自由度(在这里没有指定,通常由样本大小决定)。
  10. alternative='larger' 表示备择假设是实验组的均值大于对照组的均值。
  11. 最后,代码打印出当样本量为3时,检验的功效值。
n_pre = 3
n_post = 3
gutload_pre = list(df1.pre)
gutload_post = list(df1.w1)
s_pre, s_post = np.var(gutload_pre), np.var(gutload_post)
s = sqrt(((n_pre - 1) * s_pre + (n_post - 1) * s_post) / (n_pre + n_post - 2)) # calculate the pooled standard deviation 
u_pre, u_post = np.mean(gutload_pre), np.mean(gutload_post) # means of the samples
d = (u_pre - u_post) / s # calculate the effect size
alpha = 0.05 # significance leve
obj = TTestPower()
power = obj.power(effect_size=d, nobs=3, alpha=alpha, df=None, alternative='larger')
print('power of 3 mice: %.6f'%(power))

在这里插入图片描述
结果 power of 3 mice: 1.000000 表示在给定的条件下,当样本量为3时,检验的功效(power)是1.000000,即100%。这有以下几个含义:

  1. 高统计能力:功效为100%意味着在当前的实验设计下,如果存在效应(即两组之间确实有差异),那么实验几乎可以100%地检测到这种效应,并且能够以0.05的显著性水平拒绝零假设。
  2. 效应量足够大:由于效应量(Cohen’s d)是计算功效的关键因素之一,一个非常高的功效值可能意味着效应量较大,即实验前后的肠道负荷差异非常明显。
  3. 样本量与效应量的关系:尽管样本量只有3,但可能由于效应量较大,使得所需的样本量较小就能达到很高的统计能力。然而,这也可能意味着实验设计或数据本身存在某些特殊情况,使得效应量被高估。
  4. 可能的过度估计:在实际应用中,功效为100%可能看起来有些不切实际,因为通常会有一些随机变异或其他因素影响实验结果。这可能表明计算过程中的某些假设过于理想化,或者效应量计算可能基于非常极端的数据。
  5. 实验设计的考虑:尽管功效很高,但这并不意味着实验设计不需要进一步的考虑。例如,如果实验的可重复性或外部有效性是关注点,可能需要更多的样本来确保结果的稳健性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信学习者1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值