1

誰かが scipy.stats の次の関数が何をするのか説明してもらえないかと思っていました:

rv_continuous.expect
rv_continuous.pdf

ドキュメントを読みましたが、まだ混乱しています。

これが私のタスクで、理論的には非常に単純ですが、これらの関数が何をするのかまだ混乱しています。

したがって、領域のリスト、16383 の値があります。変数 area が "inf" と呼ばれる小さい値と大きい値 "sup" の間の任意の値を取る確率を見つけたいと考えています。

だから、私が考えたのは:

scipy.stats.rv_continuous.pdf(a) #a being the list of areas
scipy.stats.rv_continuous.expect(pdf, lb = inf, ub = sup)

そのため、任意の領域が sup と inf の間にある確率を得ることができます。

関数が何をするのか、また inf と sup の間の f(a) の積分を計算する方法についてのヒントを簡単な方法で説明することで、誰かが私を助けてくれますか?

ありがとう

ブレーズ

4

2 に答える 2

3

rv_continuousで実装されているすべての確率分布の基本クラスですscipy.stats。自分でメソッドを呼び出すことはありませんrv_continuous

あなたの質問はあなたが何をしたいのか完全に明確ではないので、未知の確率分布から引き出された 16383 個のデータ ポイントの配列があると仮定します。sup生データから累積分布を推定し、との値でその累積分布のinf値を見つけ、減算して未知の分布から引き出された値の確率を見つける必要があります。

データから未知の分布を推定する方法はたくさんありますが、それは、どの程度のモデリングを行いたいか、およびどの程度の仮定を立てたいかによって異なります。スペクトルのより複雑な端では、標準的なパラメトリック確率分布の 1 つをデータに適合させることができます。たとえば、データが対数正規分布している疑いがある場合、 を使用scipy.stats.lognorm.fit(data, floc=0)して、データに適合する対数正規分布のパラメーターを見つけることができます。scipy.stats.lognorm.cdf(sup, *params) - scipy.stats.lognorm.cdf(inf, *params)次に、値がそれらの値の間にある確率を推定するために使用できます。

中央には、ヒストグラムやカーネル密度推定などの非パラメトリック形式の分布推定があります。たとえばscipy.stats.gaussian_kde(data).integrate_box_1d(inf, sup)、未知の分布のガウス カーネル密度推定を使用して、この推定を行う簡単な方法です。ただし、カーネル密度の推定値は常に適切であるとは限らず、適切に調整するには多少の調整が必要です。

最も簡単にできることは、 と の間にあるデータ ポイントの数を数え、現在のデータ ポイントinfsup総数で割ることです。これは、(あなたが持っている) 多数のポイントと、データの末尾にあまり離れていない境界でのみうまく機能します。

于 2013-07-29T12:37:01.127 に答える
2

累積密度関数は、必要なものを提供する場合があります。次に、2 つの値の間にある確率PP(inf < area < sup) = cdf(sup) - cdf(inf)

ここここに確率に関するチュートリアルがあります 。それらはすべて関連しています。pdf は確率の「密度」です。それらは 0 より大きく、合計が 1 になる必要があります。期待値は、平均の考え方を一般化したものです。

E[x] = sum(x.P(x))
于 2013-07-29T12:12:46.110 に答える