Як використовувати fitdistr() у r для підгонки розподілів


Ви можете використовувати функцію fitdistr() із пакету MASS у R, щоб оцінити параметри розподілу шляхом максимізації функції правдоподібності.

Ця функція використовує такий базовий синтаксис:

fitdistr(x, densefun, …)

золото:

  • x : числовий вектор, що представляє значення розподілу
  • densefun : розподіл для оцінки параметрів

Зауважте, що аргумент densefun приймає такі потенційні назви розподілу: бета , Коші , хі-квадрат , експоненціальний , гамма , геометричний , логнормальний , логістичний , негативний біноміальний , нормальний , Пуассона , t і Вейбулла .

У наступному прикладі показано, як використовувати функцію fitdistr() на практиці.

Приклад: як використовувати функцію fitdistr() для підгонки розподілу в R

Припустімо, що ми використовуємо функцію rnorm() в R, щоб створити вектор із 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 .

Ці значення не повинні дивувати, оскільки ми генерували дані за допомогою функції rnorm() із середнім значенням 10 і стандартним відхиленням 3.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як побудувати графік нормального розподілу в R
Як створити нормальний розподіл у R
Як виконати тест Шапіро-Вілка на нормальність у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *