Frideman检验及matlab代码

目录

一、Frideman检验简介

二、matlab函数

三、实例


参考链接:https://blog.csdn.net/MATLAB_matlab/article/details/57076854

 https://www.cnblogs.com/hdu-zsk/p/6293721.html

一、Frideman检验简介

Friedman检验又被称之为双因素秩方差分析,是非参数版的anova2。同anova2一样,待检验的数据也必须是均衡的。但是需要特别注意的是,Friedman检验和anova2检验不完全相同,anova2同时注意两个因素对待检验数据的影响,但是,Friedman检验只注重2个因素中的其中一个对待检验数据的影响,而另一个因素则是用来区分区组用的。

如上图所示矩阵X,Friedman检验只关注X的各个列(因素A)水平之间有无显著差异,他对各行之间(因素B,也被称之为区组因素)完全不感兴趣。因此,Friedman检验的原假设是k个独立样本(X的各列)来自于相同的正态总体。至于为何Friedman检验对因素B不感兴趣,这里通过一个例子说明。该例子来源于《MATLAB统计分析与应用40个案例分析》

二、matlab函数

<1>p=friedman(X,regs)

  根据样本观测值矩阵X进行均衡实验的非参数Fiedman检验。X的每一列对应参数A的一个水平,每行对应因素B的一个水平。reps表示因素A和B的每一个水平组合下重复的实验次数,默认值为1。

 friedman函数检验矩阵X的各列是否来自于相同的总体,即检验因素A的各水平之间无显著差异,他对分组因素B不感兴趣。Frideman函数返回检验的p值,当检验的p值小于或等于给定的显著性水平时,应拒绝原假设,原假设认为X总体来自于相同的总体。

 frideman函数还生成1个图像,用来显示一个方差分析表。

<2>p=friedman(X,reps,displayopt)

 通过参数displayopt参数设定是否显示带有标准双因素一元方差分析的图形窗口,当displayopt参数设定为‘on’时(默认情况),显示方差分析表;当displayopt参数设定为‘off’时,不显示方差分析表。

<3>[p,table]=friedman(......)

  还返回元胞数组形式的方差分析表table。

<4>[p,table,stats]=friedman(......)

  还返回一个结构体变量stats,用于进行后续的多重比较。当friedman函数给出的结果拒绝了原假设,则在后续的分析中,可以调用multcompare函数,把stats作为它的输入,进行多重比较。

三、实例

有4名美食评委1234对来自于四个地区ABCD的名厨的名菜水煮鱼做出评价打分,数据如下:

               地区       A       B       C      D

美食评委 

     1                    85     82     82     79

     2                    87     75     86     82

     3                    90     81     80     76

     4                    80     75     81     75

现在我们想知道,这四个地方的水煮鱼品质是否相同

数据分析:我们的目标是四个地方水煮鱼的品质是否相同。那么同一个评委对四个地区厨师的打分就具有可参考性,而不同地区评委之间对同一个厨师的打分参考性几乎没有(受评委自己的主观意识影响太强)。因此,我们认为四个地区是因素A,而评委是因素B(区组因素),不同区组之间的数据没有可比较性

clear all; close all; clc;
%定义样本观测值矩阵x
x=[85 82 82 79
   87 75 86 82
   90 81 80 76
   80 75 81 75];
%调用friedman函数作Frideman检验,返回检验的p值,方差分析表table和结构体变量stats
[p,table,stats]=friedman(x)

 p = 0.0434

因此可以认为,四个地区制作水煮鱼的水平有显著性差别。至于是那两个之间有显著性差别还需要

 多重比较

%调用multcompare函数对四个地区制作的水煮鱼这道菜的品质进行多重比较
[c,m]=multcompare(stats);
c        %查看多重比较的结果矩阵c
[{'A';'B';'C';'D'},num2cell(m)]   %把m矩阵转换为元胞数组,与组名放在一起显示

注意: 这些区间虽然可以用来检验,但不是联合置信区间。

c =

    1.0000    2.0000   -0.5358    1.7500    4.0358    0.2006

    1.0000    3.0000   -1.4108    0.8750    3.1608    0.7589

    1.0000    4.0000    0.0892    2.3750    4.6608    0.0381

    2.0000    3.0000   -3.1608   -0.8750    1.4108    0.7589

    2.0000    4.0000   -1.6608    0.6250    2.9108    0.8962

    3.0000    4.0000   -0.7858    1.5000    3.7858    0.3311

ans =

  4×3 cell 数组

    {'A'}    {[3.7500]}    {[0.6292]}

    {'B'}    {[     2]}    {[0.6292]}

    {'C'}    {[2.8750]}    {[0.6292]}

    {'D'}    {[1.3750]}    {[0.6292]}

 

从以上结果可以看出,c矩阵的第3行的第3列和第5列构成的区间不包括0,说明在显著性水平0.05下,可认为A,D两个地区制作的水煮鱼这道菜的品质之间的差异是显著的

  • 14
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值