首页 > 解决方案 > 如何用 Python 计算 Rankits?

问题描述

如何使用 Python 计算 Rankits?

https://en.wikipedia.org/wiki/Rankit

特别是我想重现维基百科上的例子:所以我搜索了一个函数,它接受一个列表[16, 22, 40, 43, 65, 75],然后返回相应的排名:[−1.2672, −0.6418, −0.2016, 0.2016, 0.6418, 1.2672]

标签: pythonstatisticsnormal-distribution

解决方案


observation = [16, 22, 40, 43, 65, 75]
import numpy as np
import scipy.stats
def Q_Q_Prob(data):
    n = len(data)
    prob_level = []
    
    for i in range(1,n+1):
        prob_level.append(np.round((i-0.5)/n,5))
    Standard_normal_quantiles = scipy.stats.norm.ppf(prob_level)
    return Standard_normal_quantiles

print(Q_Q_Prob(observation))

这给出了书名中示例的准确结果:Applied Multivariate Statistical Analysis (RICHARD A. JOHNSON) 看例子,但没有给出上述示例的准确值。分享这个,因为这可能会给你一个想法。


推荐阅读