本文簡要介紹 python 語言中 scipy.stats.weightedtau
的用法。
用法:
scipy.stats.weightedtau(x, y, rank=True, weigher=None, additive=True)#
計算 Kendall 的 的加權版本。
加權 是 Kendall 的 的加權版本,其中高權重的交換比低權重的交換更有影響力。默認參數計算索引的加法雙曲線版本 ,它已被證明可以在重要和不重要元素之間提供最佳平衡 [1]。
權重是通過一個秩數組定義的,它為每個元素分配一個非負秩(更高的重要性等級與較小的值相關聯,例如,0 是可能的最高等級)和一個加權函數,它根據每個元素的排名。因此,交換的權重是交換元素的等級權重的總和或乘積。默認參數計算 :排名為 和 (從零開始)的元素之間的交換具有權重 。
僅當您考慮到外部重要性標準時,指定等級數組才有意義。如果像通常發生的那樣,您沒有考慮特定的排名,那麽加權
是通過對使用遞減的詞典排序獲得的值進行平均來定義的 (x,y) 和 (y,x)。這是默認參數的行為。請注意,此處用於排名的約定(較低的值意味著較高的重要性)與其他 SciPy 統計函數使用的約定相反。- x, y: array_like
相同形狀的分數數組。如果數組不是一維的,它們將被展平為一維。
- rank: 數組 ints 或 bool,可選
分配給每個元素的非負排名。如果它是 None,將使用按 (x, y) 遞減的字典順序:排名較高的元素將是具有較大 x-values 的元素,使用 y-values 打破平局(特別是,交換 x 和 y 將給出結果不同)。如果為 False,則元素索引將直接用作排名。默認值為 True,在這種情況下,此函數返回使用由 (x, y) 和 (y, x) 遞減的詞典排序獲得的值的平均值。
- weigher: 可調用的,可選的
稱重函數。必須將非負整數(零表示最重要的元素)映射到非負權重。默認值 None 提供雙曲線權重,即排名 映射到權重 。
- additive: 布爾型,可選
如果為 True,則通過將交換元素的排名權重相加來計算交換的權重;否則,權重相乘。默認值為真。
- 資源:SignificanceResult
包含屬性的對象:
- 統計 浮點數
加權 相關 index 。
- p值 浮點數
目前
np.nan
,因為統計量的零分布未知(即使在加性雙曲情況下)。
參數 ::
返回 ::
注意:
這個函數使用一個[1]這是 Kendall 的 Knight 算法的加權擴展 [2].它可以計算 Shieh 的加權 [3]通過設置在沒有關係的排名(即排列)之間添加劑和秩為 False,如中給出的定義[1]是 Shieh 的概括。
, 基於歸並排序的算法NaNs 被認為是可能的最小分數。
參考:
[1] (1,2,3)Sebastiano Vigna,“A weighted correlation index for rankings with ties”,第 24 屆萬維網國際會議論文集,第 1166-1176 頁,ACM,2015 年。
[2]W.R. Knight,“用未分組數據計算 Kendall 的 Tau 的計算機方法”,美國統計協會雜誌,第 1 卷。 61,第 314 期,第 1 部分,第 436-439 頁,1966 年。
[3]格蕾絲·S·謝。 “加權 Kendall 的 tau 統計”,統計與概率快報,卷。 39,第 1 期,第 17-24 頁,1998 年。
例子:
>>> import numpy as np >>> from scipy import stats >>> x = [12, 2, 1, 12, 2] >>> y = [1, 4, 7, 1, 0] >>> res = stats.weightedtau(x, y) >>> res.statistic -0.56694968153682723 >>> res.pvalue nan >>> res = stats.weightedtau(x, y, additive=False) >>> res.statistic -0.62205716951801038
NaNs 被認為是可能的最小分數:
>>> x = [12, 2, 1, 12, 2] >>> y = [1, 4, 7, 1, np.nan] >>> res = stats.weightedtau(x, y) >>> res.statistic -0.56694968153682723
這正是 Kendall 的 tau:
>>> x = [12, 2, 1, 12, 2] >>> y = [1, 4, 7, 1, 0] >>> res = stats.weightedtau(x, y, weigher=lambda x: 1) >>> res.statistic -0.47140452079103173
>>> x = [12, 2, 1, 12, 2] >>> y = [1, 4, 7, 1, 0] >>> stats.weightedtau(x, y, rank=None) SignificanceResult(statistic=-0.4157652301037516, pvalue=nan) >>> stats.weightedtau(y, x, rank=None) SignificanceResult(statistic=-0.7181341329699028, pvalue=nan)
相關用法
- Python SciPy stats.weibull_min用法及代碼示例
- Python SciPy stats.weibull_max用法及代碼示例
- Python SciPy stats.wilcoxon用法及代碼示例
- Python SciPy stats.wrapcauchy用法及代碼示例
- Python SciPy stats.wasserstein_distance用法及代碼示例
- Python SciPy stats.wishart用法及代碼示例
- Python SciPy stats.wald用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.levy_stable用法及代碼示例
- Python SciPy stats.page_trend_test用法及代碼示例
- Python SciPy stats.itemfreq用法及代碼示例
- Python SciPy stats.exponpow用法及代碼示例
- Python SciPy stats.gumbel_l用法及代碼示例
- Python SciPy stats.chisquare用法及代碼示例
- Python SciPy stats.semicircular用法及代碼示例
- Python SciPy stats.gzscore用法及代碼示例
- Python SciPy stats.gompertz用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.weightedtau。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。