【问题标题】:compare more than 2 proportions matlab比较两个以上的比例matlab
【发布时间】:2015-08-24 07:45:42
【问题描述】:

有 4 个组(A、B、C、D) 他们每个人都包含不同数量的男性和女性

male_A = 46
male_B = 241
male_C = 202
male_D = 113

female_A = 43
female_B = 134
female_C = 100
female_D = 53

如何确定男性和女性比例在统计上不同的组?使用 MATLAB 的建议将不胜感激...

可能的解决方案(请检查)

% 1st row: male
% 2nd row: female
cont = [46   241   202   113;
        43   134   100    53]

mychi(cont)


%this function should calculate the Chi2 
function mychi(cont)
    cont = [cont, sum(cont,2)];
    cont = [cont; sum(cont,1)];

    counter = 1;
    for i = 1 : size(cont,1)-1

        for j = 1 : size(cont,2)-1

            Observed(counter) = cont(i,j);
            Expected(counter) = cont(i,end)*cont(end,j)/cont(end:end);
            O_E_2(counter) = (abs(Observed(counter)-Expected(counter)).^2)/Expected(counter);
            counter = counter + 1;
        end

    end

    DOF = (size(cont,1)-2)*(size(cont,2)-2)
    CHI = sum(O_E_2)
end

返回的 CHI 应与 phere 找到

就我而言

DOF =

     3


CHI =

    8.0746

CHI > 0.352,因此各组的男性和女性数量存在偏差...

【问题讨论】:

  • 您能否具体说明“统计上不同的比例”是什么意思?
  • 假设比例 A 不同于比例 B、C、D 等。使用一些统计检验(我正在寻找正确的)对于一些 p
  • 请不要发垃圾邮件,我的问题和你发的不一样。特别是:1)我有分类变量,2)我有超过 2 个组,3)组的大小不同

标签: matlab comparison chi-squared significance


【解决方案1】:

不确定您要查找的比较,但可以通过以下方式获得比率

p = 0.05;

ratio_A = male_A ./ (male_A + female_A);
ratio_B = male_B ./ (male_B + female_B);
ratio_C = male_C ./ (male_C + female_C);
ratio_D = male_D ./ (male_D + female_D);

%一旦你有了比率,你就可以执行上面提到的分析 %http://au.mathworks.com/help/stats/hypothesis-testing.html

希望对你有帮助

【讨论】:

    【解决方案2】:

    我建议将您的数据排列在矩阵中,并根据您的需求使用适当的索引。这里有一个例子:

    male_A = 46;
    male_B = 241;
    male_C = 202;
    male_D = 113;
    
    female_A = 43;
    female_B = 134;
    female_C = 100;
    female_D = 53;
    
    matrix = [male_A female_A;
        male_B female_B;
        male_C female_C;
        male_D female_D];
    
    groups = ['A', 'B', 'C', 'D'];
    
    total = (matrix(:,1)+matrix(:,2));
    male_percentage = matrix(:,1)./total*100
    female_percentage = matrix(:,2)./total*100
    
    threshold = 65;   %// Example threshold 65%
    male_above_threshold = groups(male_percentage>threshold)
    female_above_threshold = groups(female_percentage>threshold)
    
    maximum_male_ratio = groups(male_percentage==max(male_percentage))
    maximum_female_ratio = groups(female_percentage==max(female_percentage))
    

    在您的示例中,您会得到:

    male_percentage =
    
       51.6854
       64.2667
       66.8874
       68.0723
    
    
    female_percentage =
    
       48.3146
       35.7333
       33.1126
       31.9277
    
    
    male_above_threshold =
    
    CD
    
    
    female_above_threshold =
    
       Empty string: 1-by-0
    
    
    
    maximum_male_ratio =
    
    D
    
    
    maximum_female_ratio =
    
    A
    

    找出统计上不同的组是另一个问题。为此,您应该提供更多信息。

    【讨论】:

    • 我的问题是...不是如何计算比率...您想要哪种信息?我认为这个问题很明确..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2017-10-27
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    相关资源
    最近更新 更多