T分布在医药领域应用-python建模
https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

医药统计项目联系QQ:231469242

学生t-分布可简称为t分布。其推导由威廉·戈塞于1908年首先发表,当时他还在都柏林的健力士酿酒厂工作。因为不能以他本人的名义发表,所以论文使用了学生(Student)这一笔名。之后t检验以及相关理论经由罗纳德·费雪的工作发扬光大,而正是他将此分布称为学生分布。
要理解此文章,需要理解正太分布的基础知识,否则不能看懂。根据大数定理,样本越多,样本估算参数就越接近总体参数。但实际生活中,因为时间和费用,我们一般用小样本数据代替整体数据。
T分布的特征|:
T分布属性1:曲线下面总面积为1
T分布属性2:曲线以0为对称中心,比正态分布更加扁平
T分布属性3:曲线向左右方向无限延伸,但没有碰到x轴
T分布属性4:自由度增加时(样本增加),T分布接近正态分布,T分布拥有更大标准差。如果样本数量大于30,数据分布近似正态分布;如果样本量小于30,数据分布呈T分布


自由度是一个非常复杂的概念,很多专业人士避而不谈自由度。简单理解,T分布的自由度=样本量-1

Z分数公式到t分数公式 ,如果样本数量大于30,用正态分布公式;如果样本量小于30,用T分布公式

经过大量图文讲解,我们知道了T分布的基础知识。接下来我们了解T分布在医药领域用途。

T分布在医药领域有广泛用途,因为临床实验有0-4期,跨越时间长达数年,花费高(上亿)。临床实验每一期需要大量资金投入,病人样本量越多,药企花费越高。如果样本量小于30时,我们可以采用T分布分析。所以T分布在医药领域很受欢迎,因为可以节约大量开支。
⑴Ⅰ期临床试验:是在人体进行新药研究的起始期,主要目的是研究人对新药的耐受程度,了解新药在人体内的药代动力学过程,提出新药安全有效的给药方案。对象:健康人。
⑵II期临床试验:为随机盲法对照临床试验,由药物临床试验机构进行临床试验。其目的是确定药物的疗效适应证,了解药物的毒副反应,对该药的有效性、安全性作出初步评价。对象:靶疾病的患者。
⑶Ⅲ期临床试验:是Ⅱ期临床试验的延续,目的是在较大范围内进行新药疗效和安全性评价。要求在Ⅱ期临床试验的基
础上除增加临床试验的病例数之外,还应扩大临床试验单位。多中心临床试验单位应在临床药理基地中选择,一般不少于3个,每个中心病例数不少于20例。各项 要求与II期相似,但一般不要求双盲医学|教育网搜集整理。
⑷Ⅳ期临床试验:也称上市后监察。其目的在于进一步考查新药的安全有效性,即在新药上市后,临床广泛使用的最初
阶段,对新药的疗效、适应证、不良反应、治疗方案可进一步扩大临床试验,以期对新药的临床应用价值做出进一步评价,进一步了解的疗效、适应证与不良反应情 况,指导临床合理用药。包括扩大试试验、特殊对象临床试验、补充临床试验。
举一个例子,有七个病人,服用增加血压的新药3个月。他们血压分别升高了1.5, 2.9, 0.9, 3.9, 3.2, 2.1, 1.9,预测95%置信度的总体患者血压值的置信区间。
计算T分布需要用T-分数表

看T分布表有点麻烦,为了简单和避免出错,我已经用python代码封装好。

只需要输入参数(样本和置信度)样本:[1.5,2.9,0.9,3.9,3.2,2.1,1.9],置信度:0.95
程序自动得到结果[1.3789786293305519, 3.3067356563837338]
程序回答了上述问题,在95%置信度的条件下,总体患者血压值的置信区间为1.3789786293305519和3.3067356563837338之间

环境:Anaconda(python2.7)
下面代码经过测试,可以运行。
代码属于手动建模,scipy.stats.t.interval也可以准确计算T分布的置信区间,代码量更少,但少了一份自己建模的乐趣。
# -*- coding: utf-8 -*-
'''
T分布建模
'''
import numpy as np
from scipy.stats import chi2
from scipy.stats import t
from scipy.stats import f
from scipy.stats import norm
import math
# t distribution
confidence=0.95
mean=240
s=25
n=10
#通过输入参数置信度,样本数量,样本平均数,样本标准差四个参数,计算置信区间
def Confidence_interval(confidence,n,mean,s):
a=(1-confidence)/2.0
dfValue=n-1
#t分数
t_std=t.isf(a, df=dfValue)
#标准误
standard_error=s/math.sqrt(n)
#误差范围
margin_error=t_std*standard_error
#置信区间
conf_int
=[mean-margin_error,mean+margin_error]
return conf_int
sample=[1.5,2.9,0.9,3.9,3.2,2.1,1.9]
def Confidence_interval2(sample,confidence):
a=(1-confidence)/2.0
#样本数量
n=len(sample)
#平均数
mean=np.mean(sample)
s=np.std(sample,ddof=1)
#自由度
dfValue=n-1
#t分数
t_std=t.isf(a, df=dfValue)
#标准误
standard_error=s/math.sqrt(n)
#误差范围
margin_error=t_std*standard_error
#置信区间
conf_int
=[mean-margin_error,mean+margin_error]
return conf_int
confidence_interval=Confidence_interval2(sample,confidence)
T分布在医药领域应用-python建模的更多相关文章
- 决策树python建模中的坑 :ValueError: Expected 2D array, got 1D array instead:
决策树python建模中的坑 代码 #coding=utf-8 from sklearn.feature_extraction import DictVectorizerimport csvfrom ...
- 正态分布-python建模
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
- 逻辑回归--美国挑战者号飞船事故_同盾分数与多头借贷Python建模实战
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- Python 建模步骤
#%% #载入数据 .查看相关信息 import pandas as pd import numpy as np from sklearn.preprocessing import LabelEnco ...
- 带你Python入门,踏进人工智能领域
1.Python能做什么? 不知大家 没有看<中国好声音>呢?有位选择就是利用AI改编了一首周杰伦的歌<止战之殇>. Python适合做人工智能AI吗? 很明确的告诉你,可以! ...
- python中建模分析零息票收益率曲线--复利和连续复利
收益率曲线(Yield Curve)是显示一组货币和信贷风险均相同,但期限不同的债券或其他金融工具收益率的图表.纵轴代表收益率,横轴则是距离到期的时间.在此用python建模分析零息票收益率曲线,输出 ...
- 推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
- Python开发 第01课 Python 简介
一.Python 介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- 企业架构与建模之ArchiMate的由来和详述(上)
终于完成了关于企业架构框架理论的总结,谢谢各位看官的支持,能挺过之前过于理论化的叙述而坚持到现在着实不易,笔者也自愧没有实践经验可以分享,希望日后有兴趣的看官能够不吝赐教.在本系列后面的也是最后一个大 ...
随机推荐
- Qt FFMPEG+OpenCV开启摄像头
//ffmpegDecode.h #ifndef __FFMPEG_DECODE_H__ #define __FFMPEG_DECODE_H__ #include "global.h&quo ...
- js中的数据类型及判断方法
ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型. 基本类型 ● Boolean ● Null ● Undefined ● Number ● String ● Symbol (ECM ...
- 如何唯一确定一个 Java 类?
今天偶然想起之前和朋友讨论过的一个问题:如何唯一确定一个 Java 类?我相信大多数朋友遇到这个问题的回答都是:类的全路径呗.但事实上,唯一确定一个 Java 类,单单靠类路径是不够的,还要多加上一个 ...
- javascript source map 的使用
之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大意 ...
- Salesforce随笔: 将Visualforce Page渲染为PDF文件(Render a Visualforce Page as a PDF File)
参照 : Visualforce Developer Guide 第60页 <Render a Visualforce Page as a PDF File> 你可以用PDF渲染服务生成一 ...
- Siki_Unity_2-9_C#高级教程(未完)
Unity 2-9 C#高级教程 任务1:字符串和正则表达式任务1-1&1-2:字符串类string System.String类(string为别名) 注:string创建的字符串是不可变的 ...
- Python在函数中使用*和**接收元组和列表
http://blog.csdn.net/delphiwcdj/article/details/5746560
- PAT-1001 采花生
题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”. 鲁宾逊先生和多多都很开心,因为花生正是他 ...
- python数据分析Titanic_Survived预测
import pandas as pd import matplotlib.pyplot as plt # matplotlib画图注释中文需要设置from matplotlib.font_manag ...
- 作业四 任务分解(WBS)
近日忙于实验,未来得及完成任务分解昨晚召开了紧急会议,才确定了任务划分.主体分配如下:三名编程人员,一个主编两个辅编,一人做需求分析,一人做程序测试,一人专司文档. 具体细节如下:在剩余的三周左右的时 ...
