Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 平均数之间的显著差异_Matlab_Statistics_Mean_Significance - Fatal编程技术网

Matlab 平均数之间的显著差异

Matlab 平均数之间的显著差异,matlab,statistics,mean,significance,Matlab,Statistics,Mean,Significance,考虑到下面的图片 每个值X可通过索引X_g_s_d_h g = group g=[1:5] s = subject number (variable for each g) d = day number (variable for each s) h = hour h=[1:24] 所以X_1_3_4_12意味着X值是指 12th hour of 4th day of 3rd subject of group 1 首先,我计算每个科目的所有天数的平均值(每小时)。这样,索引d消失,每个主

考虑到下面的图片

每个值X可通过索引
X_g_s_d_h

g = group g=[1:5]
s = subject number (variable for each g)
d = day number (variable for each s)
h = hour h=[1:24]
所以X_1_3_4_12意味着X值是指

12th hour 
of 4th day
of 3rd subject
of group 1
首先,我计算每个科目的所有天数的平均值(每小时)。这样,索引d消失,每个主题由一个包含24个值的向量表示

X_g_s_h
将是受试者几天的平均值

然后我计算属于同一组的所有受试者的平均值(受试者一个受试者一个受试者),得出
X\u g\u h
。每组由24个值组成的1个向量表示

然后,我计算各组在小时内的平均值,得出
X\u g
。每个组现在由一个单独的值表示

我想看看各组的平均值
X_g
是否有显著差异

你能告诉我正确的方法是什么吗

ps

每组受试者的数量不同,每个受试者的天数也不同。我有两个以上的小组


感谢

您需要对零假设H0进行统计检验,即不同组中的数据来自具有相同均值分布的独立随机样本。最好避免顺序的“平均”操作,而只是重新组合g上的数据。如果假设观测值为正态性和独立性(如下面@ASantosRibeiro所指出的),则可以执行ttest()


如果你想考虑观察结果的不同权重,你需要自己计算t值(例如,参见此处)

好的,因此我发布了一个答案来总结你可能遇到的一些问题

两组受试者相同

不平均:

1-首先,如果我们假设您在一定天数内每小时只重复一次测量,这与您选择的日期和每小时无关,那么您可以将矩阵重塑为每个受试者、每组的一列,并使用重复测量进行测试

2-如果你不能假设你的测量是独立于小时的,而是在一天内(比如给药后的药物浓度在第二天测量前完全消失),那么你可以对每小时(N小时)进行一次重复测量的ttest测试,总共进行N次测试

3-如果您不能假设您的测量值在当天是独立的,但以小时为单位(比如月经周期的测量值,我们假设它在每天都稳定,但在几天之间变化),那么您可以对每天(M天)进行重复测量的ttest测试,共进行M次测试

4-如果您不能假设您的测量在一天和一小时内是独立的,那么您可以对每一天和一小时进行重复测量的ttest测试,总共进行NXM测试

平均值:

在无法假设独立性的情况下,可以对因变量求平均值,从而消除方差,但也会降低统计能力和解释力

在案例2中,您可以对小时进行平均,以获得平均浓度,并使用重复测量进行测试,因此只有一次测试。在这里,您丢失了它是如何从1小时变为N小时的信息,只是测试了测试时间内各组之间的平均浓度是否不同

在案例3中,你可以平均每小时和每一天,并测试一组的平均雌激素是否高于另一组,因此只有一个测试。您再次丢失了不同日期之间的变化信息

在案例4中,您可以计算小时和天的平均值,因此只有一个测试。您又一次丢失了它在不同的时间和日期之间如何变化的信息

两组受试者不相同


不可能进行配对测试。遵循相同的理念,但执行非配对测试。

请注意,您没有独立的样本,因此TTES2不能用于简单的重塑。我的意思是,举例来说,你有一个以上的每一个主题,这将是更相关的主题之间。此外,根据时间的不同,一些采集将与上午采集的数据更相关,而不是上午采集的数据与晚上采集的数据。谢谢您的回复。我的问题确实是这样的……因为我在计算平均数(好几次)我不知道该执行哪个统计测试……对不起,现在没有时间,如果您正在努力实现,我今晚可能可以再看一看:)@Kostya Hi!我没有实现问题(但:)。我的问题更基本……我应该使用哪个统计测试来解决这个问题?如果你能看一看,那就太好了,因为我真的迷路了…@Kostya我读了你的答案…我想我不能假设自己是正常的和独立的我希望我没有错过或说了任何不正确的话。
clear all;
X = randn(6,5,4,3); %dummy data in g_s_d_h format
Y = reshape(X,5*4*3,6); %reshape data per group

h = zeros(6,6);
for i = 1 : 6 
    for j = 1 : 6
        h(i,j)=ttest2(Y(:,i),Y(:,j));
    end
end