본문 바로가기
파이썬

파이썬 1D 데이터에 정규 분포 피팅

by º기록 2021. 1. 1.
반응형

1 차원 배열이 있습니다. 이 샘플의 "평균"과 "표준 편차"를 계산하고 "정규 분포"를 플로팅 할 수 있지만 문제가 있습니다.

동일한 그림에 데이터와 정규 분포를 플로팅하고 싶습니다.

데이터와 정규 분포를 모두 그리는 방법을 모르겠습니다.

"scipy.stats의 가우스 확률 밀도 함수"에 대한 아이디어가 있습니까?

s = np.std(array)
m = np.mean(array)
plt.plot(norm.pdf(array,m,s))

 

해결 방법

 

matplotlib 를 사용하여 히스토그램과 PDF를 플로팅 할 수 있습니다 (@MrE의 답변 링크 참조). PDF를 맞추고 계산하기 위해 다음과 같이 scipy.stats.norm 을 사용할 수 있습니다.

import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt


# Generate some data for this demonstration.
data = norm.rvs(10.0, 2.5, size=500)

# Fit a normal distribution to the data:
mu, std = norm.fit(data)

# Plot the histogram.
plt.hist(data, bins=25, density=True, alpha=0.6, color='g')

# Plot the PDF.
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
title = "Fit results: mu = %.2f,  std = %.2f" % (mu, std)
plt.title(title)

plt.show()

다음은 스크립트에 의해 생성 된 플롯입니다.

플롯

 

참조 페이지 https://stackoverflow.com/questions/20011122

 

 

반응형

댓글