2016-06-27 5 views
2

私は、同じプロット上でヒストグラムに同時にガウス関数と指数関数を近似しようとしていますが、指数関数の平均を求めると、平均値のような何かが得られます。-9.8636992990798974e-07私は、ではなく、70のようなものを得ることを期待しています。どのように私の指数関数的フィットの真の平均とseを得るのですか?

ガウスフィットでは、私は価値の問題はありません。

はここに私のプロットの印刷です:

Plot

私は私が私の指数関数フィットの平均値を取得するための私のコードで間違ってやっているのか分からない:

plt.figure(1) 

plt.subplot(221) 

cycle = map(float,cycle) 
cycle = np.array(cycle) 

list_cycle1 = cycle[cycle < 1000 ] 
list_cycle2 = cycle[cycle >= 1000] 

plt.hist(list_cycle1, bins=10, normed=True) 

xt1 = plt.xticks()[0] 
xmin1, xmax1= min(xt1), max(xt1) 
lnspc1 = np.linspace(xmin1, xmax1, len(list_cycle1)) 

m1, s1 = stats.expon.fit(list_cycle1, moments='mv') 
pdf_e = stats.expon.pdf(lnspc1, m1, s1) 
plt.plot(lnspc1, pdf_e, label='expon pdf') 

list_mean_1.append(m1) 
list_se_1.append(s1) 

plt.hist(list_cycle2, bins=10, normed=True) 

xt2 = plt.xticks()[0] 
xmin2, xmax2= min(xt2), max(xt2) 
lnspc2 = np.linspace(xmin2, xmax2, len(list_cycle2)) 

m2, s2 = stats.norm.fit(list_cycle2) 
pdf_g = stats.norm.pdf(lnspc2, m2, s2) 
plt.plot(lnspc2, pdf_g, label="Norm") 

list_mean_2.append(m2) 
list_se_2.append(s2) 

必要に応じて、list_cycle1list_cycle2の例を追加することができます。

PS:私はthis SciPy documentationを読んでいます。私の指数関数の平均を求めるために私のコードでどこが失敗したのか分かりません。

答えて

1

stats.expon.fitはタプル(loc、scale)を返します。ドキュメントによれば、また、指数分布の平均である= 1 /ラムダ

スケール。したがって、これは2番目のパラメータです。

強制的に位置を0にしたい場合は、flocパラメータを渡してフィットさせることができます。

+0

あなたの答えをありがとう! (なぜ私は平均を得るためにlocに焦点を当てていたのかわからない:S) – Cass

関連する問題