Python如何计算Rankits?
How to calculate Rankits with Python?
如何使用 Python 计算 Rankits?
https://en.wikipedia.org/wiki/Rankit
我特别想重现维基百科上的示例:
所以我搜索一个函数,它接受一个列表 [16, 22, 40, 43, 65, 75]
然后 returns 相应的 rankits:[−1.2672, −0.6418, −0.2016, 0.2016, 0.6418, 1.2672]
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
统计分析(RICHARD A. JOHNSON),但没有给出上述示例的确切值。分享这个,因为这可能会给你一个想法。
我已经使用 R 确认了 Rakesh V 的回答,它给出了你的确切数字 tam tam。不知道为什么书中的结果不同:
x<-c(16,22,40,43,65,75)
qnorm((rank(x)-0.5)/length(x))
[1] -1.3829941 -0.6744898 -0.2104284 0.2104284 0.6744898 1.3829941
如何使用 Python 计算 Rankits?
https://en.wikipedia.org/wiki/Rankit
我特别想重现维基百科上的示例:
所以我搜索一个函数,它接受一个列表 [16, 22, 40, 43, 65, 75]
然后 returns 相应的 rankits:[−1.2672, −0.6418, −0.2016, 0.2016, 0.6418, 1.2672]
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
统计分析(RICHARD A. JOHNSON)
我已经使用 R 确认了 Rakesh V 的回答,它给出了你的确切数字 tam tam。不知道为什么书中的结果不同:
x<-c(16,22,40,43,65,75)
qnorm((rank(x)-0.5)/length(x))
[1] -1.3829941 -0.6744898 -0.2104284 0.2104284 0.6744898 1.3829941