내 데이터 세트의 경우 scipy.stats 함수를 사용하여 최적의 분포를 맞출 수 있습니다. 하나의 인스턴스에 대한 최상의 배포는 다음과 같습니다
In[94]: best_dist
Out[94]: <scipy.stats._continuous_distns.chi_gen at 0x119649cd0>
In[95]: best_fit_params
Out[95]:
(0.40982879700171049,
0.10387428783818109,
-4.5566762564110859e-19,
0.89837054605455657)
이제 ppf
함수를 사용하여 CDF 곡선의 95 % 면적에 해당하는 값을 얻으려고 합니다. 다음을 제공합니다.
In[96]: best_dist.ppf(0.95,best_fit_params)
Out[96]: array([ 1.44854045, 0.74815691, nan, 1.89330302])
하나의 값만 예상 할 때 길이 4의 배열이 반환되는 이유를 이해할 수 없습니까? 이것들 중 하나가 내 대답이라면 그 대답은 무엇입니까?
올바른 사용법은 다음을 푸는 것입니다 best_fit_param
.
In [1]: param = (0.40982879700171049,
...: 0.10387428783818109,
...: -4.5566762564110859e-19,
...: 0.89837054605455657)
In [2]: from scipy.stats import beta
In [3]: beta.ppf(0.95, *param) # notice the asterisk
Out[3]: 0.89837054605311872
설명 : beta.shapes
이다 "a, b"
, 그래서의 서명이 beta.ppf
실제로 ppf(self, q, a, b, loc=0, scale=1)
. Your best_fit_param
is a tuple of four values, for a, b, loc and scale, for each each.
In[96]
그러나 나는 당신에 대해 잘 모르겠습니다 . (이것은 적어도 세이 필요하기 때문에 : 하나의 합리적 최근 scipy에서 내가 생각하는 것, 밖으로 오류해야 두 개의 인수로 호출 PPF를 설치 q
하고이 이상 a
과 b
).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다