2016-06-27 3 views
2

동일한 플롯에서 히스토그램에 가우스와 지수를 동시에 적용하려고합니다. 그러나 평균 지수를 구하려고하면 평균값과 같은 값이 잘못 표시됩니다 : -9.8636992990798974e-07, (나는 70이 아니라 -9.8e-07이 아닌 것을 얻을 것으로 기대합니다.내 지수 적합도의 실제 평균 및 지수를 구하는 방법은 무엇입니까?

가우스 피팅에서는 아무런 문제가 없습니다.

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) 

:

Plot

내가 내 지수 적합의 평균을 얻기 위해 내 코드에서 잘못된 뭘하는지 모르겠어요 여기

내 음모의 인쇄입니다 원하는 경우 list_cycle1list_cycle2의 예를 추가 할 수 있습니다.

추신 : 나는 을 읽고 내 지수에서 내 지수 적합성을 얻으려면 어디에서 실패하는지 이해하지 못합니다.

답변

1

stats.expon.fit은 튜플 (loc, scale)을 반환합니다. 다큐먼트에 따르면, 또한, 지수 분포의 평균이다 = 1/람다

스케일. 따라서 원하는 두 번째 매개 변수입니다.

위치를 강제로 0으로 지정하려면 floc 매개 변수를 전달하여 적합하게 만들 수 있습니다.

+0

답변 해 주셔서 감사합니다. (나는 왜 내가 평균을 얻으려고 loc에 초점을 맞추 었는지 모른다 : S) – Cass