统计计算课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《统计计算》
课程设计报告
学院
专业
姓名
学号
评语:
分数
题型一:
1、某医生随机抽取正常人和脑病病人各11例,测定尿中类固醇排出量(mg/dl),结果如表1。该医生根据此资料算得正常人尿中类固醇排出量的均数=dl,标准差S1=dl;脑病病人尿中类固醇排出量的均数=dl,标准差S2=dl,配对t检验结果,t = –,P < ,故认为脑病病人尿中类固醇排出量高于正常人。
表1 正常人和脑病病人尿中类固醇排出量(mg/dl)测定结果
分组尿中类固醇排出量(mg/dl)
正常人
脑病病人
2、该医生的统计处理是否正确为什么请用SAS程序和SAS结果解释原因。
答:
1、该资料属于完全随机设计
2、不正确;因为成对组数据的比较是指在某个观察值内部进行“以前”和“以后”情况的对比,而上述数据不符合这个要求,所以我们可以认为该医生的统计处理是不正确的,应该采用独立组两样本T检验。
SAS源程序:
data tk1;
do p=1to2;
do n=1to11;
input y@@;
output;
end;
end;
cards;
;
proc print;
run;
proc means noprint data=tk1;
var y;
by p;
output out=ty1 css=ss n=n std=s;
run;
data ty2;
set ty1;
f=n-1;
u=1/f;
_type_=1;
logs=2*f*log(s);
run;
proc means noprint data=ty2;
var ss n f u logs _type_;
output out=mx3 sum=t_ss t_n t_f t_u t_logs k;
data result;
set mx3; sc2=t_ss/t_f;
fz=t_f*log(sc2)-t_logs;
fm=1+1/3/(k-1)*(t_u-1/t_f);
df=k-1; chisqr=fz/fm;
prob=1-probchi(chisqr,df);
proc print noobs;
var chisqr df prob;
run;
proc univariate data=tk1 normal;
var y;
by p;
run;
proc npar1way data=tk1 wilcoxon;
class p;
run;
SAS结果及分析:
录入数据:
变量解释:P=1为正常人,P=2为脑病病人;y为尿中类固醇排出量
方差齐性检验:
输出结果中,统计量的p值=>,所以我们可以认为正常人和脑病病人的尿中类固醇排出量方差齐性。
正态性检验的结果如下:
p=1
p=2
因为是小样本,所以观察Shapiro-Wilk检验结果:说明在水平下,正常人的尿中类固醇排出量的正态性统计量W的P 值为:>,脑病病人的尿中类固醇排出量的正态性统计量W的P值为:>,所以正常人和脑病病人的尿中类固醇排出量都通过正态性检验,即正常人和脑病病人的尿中类固醇排出量的分布都服从正态分布。
所以选择采用独立组两样本T检验,输出结果如下:
结果表明:正常人和脑病病人的尿中类固醇排出量数据是方差齐性的(Equal),所以观察相应Pooled方法的检验统计量的P值=<,结论为正常人和脑病病人的尿中类固醇排出量有显著差异。
2、某研究者为研究核黄素缺乏对尿中氨基氮的影响,将60只Wistar大白鼠随机分为核黄素缺乏、限食量、不限食量三组不同饲料组。每组20只大白鼠。一周后测尿中氨基氮的三天排出量,结果如表2。该研究者对上述资料采用了两样本均数t检验进行两两比较,得出结论:三组之间均数差异均有统计学意义(P<)。检验进行两两比较,得出结论:三组之间均数差异均有统计学意义(P<)。
核黄素缺乏组
限食量组
不限食量组
2、该资料属于何种设计方案
3、该研究者处理方法是否正确为什么请用SAS程序和SAS结果解释原因。
答:
1、这是一个单因素三水平的方差分析资料。
2、该资料属于单因素三个水平的均衡设计。
3、研究者的处理方法不正确;因为两独立组样本均数t检验要求每组观察值是来自正态分布的总体的,而经检验证明,上述的三组数据并不服从正态分布,所以不可以采用两独立组样本均数t检验;而且对多个总体的均值进行比较,应用方差分析是更加常用的方法,所以此研究应该考虑采用非参数方差分析。
SAS程序:
data tk12;
do p=1to3;
do n=1to20;
input y@@;
output;
end;
end;
cards;
;
proc print;
run;
proc means noprint data=tk12;
var y;
by p;
output out=ty1 css=ss n=n std=s;
run;
data ty2;
set ty1;
f=n-1;
u=1/f;
_type_=1;
logs=2*f*log(s);
run;
proc means noprint data=ty2;
var ss n f u logs _type_;
output out=mx3 sum=t_ss t_n t_f t_u t_logs k;
data result;
set mx3; sc2=t_ss/t_f;
fz=t_f*log(sc2)-t_logs;
fm=1+1/3/(k-1)*(t_u-1/t_f);
df=k-1; chisqr=fz/fm;