2017-04-03 10 views
2

ExcelのBetaディストリビューションに相当するPythonとは何ですか? はExcelでは、式は次のとおりです。ExcelのBetaディストリビューションのPythonに相当するものは何ですか?

=BETA.DIST(A2,A3,A4,FALSE,A5,A6). 

は、これは与えられたパラメータ、 のベータ確率密度関数を与え、我々はいくつかの小数値として結果を取得します。

しかし、Python SciPy reference does not giveは、Excelと同様の形式の関数パラメータとその定義です。

SciPyでこれを行う方法がわかりませんし、パラメータを正しく渡していません。

答えて

2

hereのように、scipyのベータ分布の確率密度関数は、excel(excel docs)とまったく同じ3つのパラメータを持っています。

ALPHAは、aと等価であり、分布のパラメータを表す。

BETAは、bに相当し、分布のパラメータを表します。

Xは、xに相当し、分布を評価する必要があります。

excelのCumulativパラメータがTrueであるかどうかは、scipyで異なる関数を呼び出すことによって表されます。累積分布(Cumulativ = True)をmyBeta.cdf(<myParams>)と呼びたい場合は、確率密度関数(Cumulativ = False)を使用する場合は、myBeta.pdf(<myParams>)とします。署名cumulative = FALSE

BETA.DIST(x,alpha,beta,cumulative,[A],[B]) 

のExcel BETA.DIST機能について

BETA.DIST(X,Alpha,Beta,TRUE) <=> 
scipy.stats.beta.cdf(x,a,b) 

0
BETA.DIST(X,Alpha,Beta,FALSE) <=> 
scipy.stats.beta.pdf(x,a,b) 

を、次のように機能scipy.stats.beta.pdfを使用する:意味

from scipy import stats 
p = stats.beta.pdf(x, alpha, beta, loc=A, scale=B-A) 

つまり、locをサポート間隔[A、B]の下限に設定し、間隔の長さにscaleを設定します。例えば

documentation for BETA.DISTは、例えば

=BETA.DIST(A2,A3,A4,FALSE,A5,A6) 
A2=2

A3=8A4=10A5=1A6=3を含みます。関数の値は1.4837646と報告されています。 scipyのダウンロードを使用して、対応する式である:場合cumulative=TRUEについて

In [59]: from scipy import stats 

In [60]: x = 2 

In [61]: alpha = 8 

In [62]: beta = 10 

In [63]: a = 1 

In [64]: b = 3 

In [65]: stats.beta.pdf(x, alpha, beta, loc=a, scale=b-a) 
Out[65]: 1.4837646484375009 

、機能scipy.stats.beta.cdfを使用します。上記の例は、PDFの値が0.6854706であることを示しています。 scipyを使った計算は次のとおりです。

In [66]: stats.beta.cdf(x, alpha, beta, loc=a, scale=b-a) 
Out[66]: 0.6854705810546875 
関連する問題