R에서 fitdistr()을 사용하여 분포를 맞추는 방법


R의 MASS 패키지에 있는 fitdistr() 함수를 사용하면 우도 함수를 최대화하여 분포 모수를 추정할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

fitdistr(x,densensefun, …)

금:

  • x : 분포값을 나타내는 수치형 벡터
  • densensefun : 모수를 추정하기 위한 분포

densensefun 인수는 beta , cauchy , chi-square , exponential , gamma , 기하학 , lognormal , logistic , negative binomial , Normal , Poisson , tWeibull 등의 잠재적인 분포 이름을 허용합니다.

다음 예제에서는 fitdistr() 함수를 실제로 사용하는 방법을 보여줍니다.

예: fitdistr() 함수를 사용하여 R에서 분포를 맞추는 방법

R에서 rnorm() 함수를 사용하여 정규 분포를 따르는 200개 값의 벡터를 생성한다고 가정합니다.

 #make this example reproducible
set. seeds (1)

#generate sample of 200 observations that follows normal dist with mean=10 and sd=3
data <- rnorm(200, mean=10, sd=3)

#view first 6 observations in sample
head(data)

[1] 8.120639 10.550930 7.493114 14.785842 10.988523 7.538595

hist() 함수를 사용하여 데이터 값의 분포를 시각화하는 히스토그램을 만들 수 있습니다.

 hist(data, col=' steelblue ')

R에서 정규 분포 생성

데이터가 실제로 정규 분포로 나타나는 것을 볼 수 있습니다.

그런 다음 fitdistr() 함수를 사용하여 이 분포의 매개변수를 추정할 수 있습니다.

 library (MASS)

#estimate parameters of distribution
fitdistr(data, “ normal ”)

      mean sd    
  10.1066189 2.7803148 
 (0.1965979) (0.1390157)

fitdistr() 함수는 값의 벡터가 평균이 10.1066189 이고 표준 편차가 2.7803148 인 정규 분포를 따른다고 추정합니다.

평균값이 10이고 표준편차가 3인 rnorm() 함수를 사용하여 데이터를 생성했기 때문에 이러한 값은 놀랄 일이 아닙니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 정규 분포를 그리는 방법
R에서 정규 분포를 생성하는 방법
R에서 정규성에 대한 Shapiro-Wilk 테스트를 수행하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다