美文网首页
scipy计算二列相关

scipy计算二列相关

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

    1.问题描述

    某次考试中,有10名考生成绩如下表,包括总分和一道问答题,试求该道问答题的区分度(问答题6分及6分以上为通过,否则未通过)。

    考生 1 2 3 4 5 6 7 8 9 10
    卷面总分 75 57 73 65 67 56 63 61 65 67
    问答题得分 7 6 7 4 7 4 4 4 7 6

    2.源码实现

    import numpy as np
    from scipy.stats import norm
    
    score = np.array([[75, 57, 73, 65, 67, 56, 63, 61, 65, 67],
                            [7, 6, 7, 4, 7, 4, 4, 4, 7, 6]])
    
    c = np.array([np.where(score[1] >= 6), np.where(score[1] < 6)])
    
    p = len(c[0][0]) / (len(c[0][0]) + len(c[1][0]))
    q = len(c[1][0]) / (len(c[0][0]) + len(c[1][0]))
    Y = norm.pdf(norm.ppf(p))
    Xp = np.mean(score[0][c[0][0]])
    Xq = np.mean(score[0][c[1][0]])
    sg = np.std(score[0], ddof=1)
    R = (Xp - Xq) * p * q / (sg * Y)
    
    print(R)
    

    3.运行及其结果

    $ python3 example.py
    0.617662281919
    

    4.结果分析

    从二列相关系数的值,可以看到问答题得分对总分的区分度略高。

    相关文章

      网友评论

          本文标题:scipy计算二列相关

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