美文网首页
scipy单因素方差分析

scipy单因素方差分析

作者: 一路向后 | 来源:发表于2021-06-23 21:27 被阅读0次

    1.问题描述

    某消防队要考察4种不同型号冒烟报警器的反应时间(单位:秒),每种型号的报警器各准备5个,安装在同一条烟道中,当烟量均匀时观测报警器的反应时间,数据如下表所示。

    报警器/反应时间
    A_1(甲型) 5.2 6.3 4.9 3.2 6.8
    A_2(乙型) 7.4 8.1 5.9 6.5 4.9
    A_3(丙型) 3.9 6.4 7.9 9.2 4.1
    A_4(丁型) 12.3 9.4 7.8 10.8 8.5

    2.源码实现

    import numpy as np
    from scipy.stats import f
    
    X = np.array([[5.2, 6.3, 4.9, 3.2, 6.8],
            [7.4, 8.1, 5.9, 6.5, 4.9],
            [3.9, 6.4, 7.9, 9.2, 4.1],
            [12.3, 9.4, 7.8, 10.8, 8.5]])
    
    u = X.mean()
    k = len(X)
    n = len(X[0]) * len(X)
    
    SSA = 0
    SSE = 0
    
    for i in range(0, k):
        SSA += len(X[i]) * (X[i].mean() - u)**2
    
    for i in range(0, k):
        for j in range(0, len(X[i])):
            SSE += (X[i][j] - X[i].mean())**2
    
    MSA = SSA / (k-1)
    MSE = SSE / (n-k)
    F = MSA / MSE
    
    print(f.ppf(0.95, dfn=3, dfd=16))
    print(MSA)
    print(MSE)
    print(F)
    

    3.运行及其结果

    $ python3 example.py 
    3.23887151745
    18.7618333333
    3.04825
    6.15495229503
    

    4.结果解析

    因为F=6.15>F_{0.05}(3,16)=3.24,从而在显著性水平\alpha=0.05下,4种型号的报警器反应时间确有显著性差异。

    相关文章

      网友评论

          本文标题:scipy单因素方差分析

          本文链接:https://www.haomeiwen.com/subject/rohiyltx.html