반응형
다음은 내가 작업중인 코드 샘플입니다. 감사.
from scipy.stats import lognorm
stddev = 0.859455801705594
mean = 0.418749176686875
total = 37
dist = lognorm.cdf(total,mean,stddev)
업데이트 :
그래서 약간의 작업과 약간의 조사 끝에 조금 더 나아갔습니다. 하지만 여전히 잘못된 답을 얻고 있습니다. 새 코드는 다음과 같습니다. R과 Excel에 따르면 그 결과는 .7434 가되어야하지만, 그것은 분명히 일어나고있는 일이 아닙니다. 내가 놓친 논리 결함이 있습니까?
dist = lognorm([1.744],loc=2.0785)
dist.cdf(25) # yields=0.96374596, expected=0.7434
업데이트 2 : 올바른 0.7434 결과를 산출하는 작동하는 lognorm 구현.
def lognorm(self,x,mu=0,sigma=1):
a = (math.log(x) - mu)/math.sqrt(2*sigma**2)
p = 0.5 + 0.5*math.erf(a)
return p
lognorm(25,1.744,2.0785)
> 0.7434
해결 방법
알려진 매개 변수에서 "고정 된"분포를 인스턴스화하려는 것 같습니다. 귀하의 예에서 다음과 같이 할 수 있습니다.
from scipy.stats import lognorm
stddev = 0.859455801705594
mean = 0.418749176686875
dist=lognorm([stddev],loc=mean)
지정한 평균과 표준 편차가있는 lognorm 분포 객체를 제공합니다. 그런 다음 다음과 같이 pdf 또는 cdf를 얻을 수 있습니다.
import numpy as np
import pylab as pl
x=np.linspace(0,6,200)
pl.plot(x,dist.pdf(x))
pl.plot(x,dist.cdf(x))
이것이 당신이 염두에 둔 것입니까?
참조 페이지 https://stackoverflow.com/questions/8870982
반응형
'파이썬' 카테고리의 다른 글
파이썬 파일을 이동하는 방법? (0) | 2020.09.19 |
---|---|
파이썬 Skipping every other element after the first (0) | 2020.09.19 |
파이썬에서 부동 숫자를 고정 너비로 포맷하는 방법 (0) | 2020.09.19 |
파이썬 "for item in L"루프의 잘못된 구문 (0) | 2020.09.19 |
파이썬 PEP-8이 최대 줄 길이를 79 자로 지정하는 이유는 무엇입니까? (0) | 2020.09.19 |
댓글