當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python dask.array.random.f用法及代碼示例

用法:

dask.array.random.f(dfnum, dfden, size=None, chunks='auto', **kwargs)

從 F 分布中抽取樣本。

此文檔字符串是從 numpy.random.mtrand.RandomState.f 複製的。

可能存在與 Dask 版本的一些不一致之處。

樣本來自具有指定參數的 F 分布,dfnum(分子自由度)和dfden(分母自由度),其中兩個參數必須大於零。

F 分布的隨機變量(也稱為 Fisher 分布)是在 ANOVA 檢驗中出現的連續概率分布,是兩個卡方變量的比率。

注意

新代碼應改為使用default_rng() 實例的f 方法;請參閱快速入門。

參數

dfnum浮點數或類似數組的浮點數

分子的自由度必須 > 0。

dfden浮點數或浮點數的類似數組

分母的自由度必須 > 0。

size整數或整數元組,可選

輸出形狀。例如,如果給定的形狀是 (m, n, k) ,則繪製 m * n * k 樣本。如果 size 為 None(默認),如果 dfnumdfden 都是標量,則返回單個值。否則,將抽取np.broadcast(dfnum, dfden).size 樣本。

返回

outndarray 或標量

從參數化的 Fisher 分布中抽取樣本。

注意

F 統計量用於將in-group 方差與between-group 方差進行比較。計算分布取決於抽樣,因此它是問題中各個自由度的函數。變量dfnum是樣本數減一,即between-groups自由度,而dfden是within-groups自由度,每組樣本數之和減去組數。

參考

1

Glantz, Stanton A. “生物統計學入門”,McGraw-Hill,第五版,2002 年。

2

維基百科,“F-distribution”,https://en.wikipedia.org/wiki/F-distribution

例子

Glantz[1] 中的一個例子,第 47-40 頁:

兩組,糖尿病兒童(25 人)和非糖尿病兒童(25 人對照)。測量空腹血糖,病例組平均值為86.1,對照組平均值為82.2。標準差分別為 2.09 和 2.49。這些數據是否與父母糖尿病狀況不影響孩子血糖水平的零假設一致?根據數據計算 F 統計量得出的值為 36.01。

從分布中抽取樣本:

>>> dfnum = 1. # between group degrees of freedom  
>>> dfden = 48. # within groups degrees of freedom  
>>> s = np.random.f(dfnum, dfden, 1000)

前 1% 樣本的下限為:

>>> np.sort(s)[-10]  
7.61988120985 # random

所以 F 統計量超過 7.62 的概率大約為 1%,測量值為 36,因此在 1% 的水平上拒絕原假設。

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.random.f。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。