R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
这节课讲功效分析
项目实操——功效分析
这节课程我们讨论一下,在数据分析的筹备阶段,我们应该选择多少样本,在一个分析中,如果样本数量过小,那么就算pvalue值非常小,非常显著,也是不可信的。
功效分析(power analysis)可以帮助在给定置信度的情况下,判断检测到给定效应值时所需的样本量,反过来,它也可以在给定置信度水平的情况下,计算在某样本量内能检测到给定效应值的概率。
功效分析的理论基础:
第一类错误:弃真,第二类错误:存伪
所以我们根据要检验的显著性水平、功效和效应值来推算所需要的样品数,R中利用pwr包来进行功效分析。
在pwr中包含了多种功效分析的函数,根据不同的假设检验选择不同的函数:
下面介绍线性回归功效分析的案例
F2=R2/1-R2,即模型解释度(模型方差平方和ssr)与平均数解释度(误差平方和sse)之比,F2效应值越大,样本越小;
V=n-u-1为误差自由度,与样本数和自变量个数相关,误差自由度越搞,说明样本越多,房差越大,F2效应值越小,即解释度越小。
U为自变量个数,与误差自由度正相关,即个数越多,所需的样本越多
Power功效,一般小于0.95,但差距不大,排除假阴性的水平之,power越大,v就越大
pwr.f2.test(u=3,sig.level=0.05,power=0.9,f2=0.0769)
结果表明,v=184.2426,也就是说假定显著性水平为0.05,在90%置信度的情况下,至少需要185个受试者才可以。
下面介绍方差分析功效分析的案例
假设现在两组样品做单因素方差分析,要达到0.9的功效,效应值为0.25,并选择0.05的显著性水平,那么每组需要多少样品量呢?可以使用pwr.anova.test()函数进行分析:
其中选项K是组的个数,n是各组的样本大小也就是我们要求的样本量,f是效应值,sig.level还是显著性水平,power为功效水平:
pwr.anova.test(k=2,f=0.25,sig.level=0.05,power=0.9)
最终求得n=85.03,所以每一组中至少要有86个样本