-
[PyTorch] CDF, ICDF function 구현 (Normal approximation)개발 이야기 2023. 1. 20. 13:39
측정 데이터를 이용하여 누적 분포 함수(CDF)와 역 누적 분포 함수(ICDF)를 제공하는 클래스를 PyTorch에서 구현할 수 있습니다. 이를 수행하는 한 가지 방법은 최대 우도 추정을 사용하여 확률 분포를 데이터에 먼저 맞춘 다음 적합 분포를 사용하여 CDF 및 ICDF를 계산하는 것입니다. 다음은 이 접근 방식을 구현하는 클래스의 예입니다.
import torch from torch.distributions import Normal class MeasuredDataDistribution: def __init__(self, data): self.data = data self.dist = Normal(torch.mean(data), torch.std(data)) def cdf(self, x): return self.dist.cdf(x) def icdf(self, x): return self.dist.icdf(x)
위 예에서 클래스는 데이터의 1D 텐서를 입력으로 사용하고 데이터의 평균 및 표준 편차를 사용하여 정규 분포를 데이터에 맞춥니다. 그런 다음 적합 분포의 CDF 및 ICDF는 Normal 클래스의 cdf 및 icdf 방법을 사용하여 계산됩니다.
이것은 단지 예일 뿐이며 데이터에 맞는 다른 확률 분포 함수(PDF)를 사용할 수 있습니다.반응형'개발 이야기' 카테고리의 다른 글
Ubuntu에서 하부 디렉토리의 모든파일의 내용 찾아서 바꾸기 (0) 2023.02.21 Ubuntu에서 pdf 이미지 crop하기 (pdfcrop) (0) 2023.01.31 Thread (by Thread Group) 가 뭐지? (0) 2023.01.19 draw.io 에서 pdf로 내보낼 때, 그림 크기로 자르는 방법 (0) 2023.01.18