Як створити діаграму qq у sas


Діаграма QQ, скорочення від «квантиль-квантиль», використовується для оцінки того, чи набір даних потенційно походить із теоретичного розподілу.

У більшості випадків цей тип графіка використовується, щоб визначити, чи відповідає набір даних нормальному розподілу.

Якщо дані розподілені нормально, точки на графіку QQ лежатимуть на прямій діагональній лінії.

І навпаки, чим більше точки на графіку відхиляються від прямої діагональної лінії, тим менша ймовірність того, що набір даних буде відповідати нормальному розподілу.

Найпростіший спосіб створити діаграму QQ у SAS — це використовувати оператор PROC UNIVARIATE з оператором QQPLOT :

 proc univariate data =my_data noprint ;
   qqplot my_variable;
run ;

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Примітка . Ми використовуємо оператор NOPRINT для видалення всіх інших підсумкових статистичних даних і таблиць, автоматично згенерованих оператором PROC UNIVARIATE .

Приклад 1: Створіть діаграму QQ у SAS для звичайних даних

У наведеному нижче коді показано, як створити графік QQ для набору даних, що містить 1000 спостережень , згенерованих із нормального розподілу із середнім значенням 10 і стандартним відхиленням 2:

 /*generate 1000 values that follow normal distribution with mean 10 and sd 2 */
data normal_data;
    do i = 1 to 1000;
	x = 10 + 2* rannor (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =normal_data noprint ;
   qqplot x;
run ; 

Графік QQ у SAS

Ми бачимо, що точки лежать в основному вздовж прямої діагональної лінії з деякими незначними відхиленнями вздовж кожного з хвостів.

На основі цього графіка можна сміливо припустити, що цей набір даних розподілений нормально.

Приклад 2: графік QQ для ненормальних даних

Наступний код показує, як створити діаграму QQ для набору даних, що містить 1000 спостережень, згенерованих за допомогою експоненціального розподілу :

 /*generate 1000 values that follow an exponential distribution*/
data exp_data;
    do i = 1 to 1000;
	x = ranexp (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =exp_data noprint ;
   qqplot x;
run ; 

Я бачу, що точки значно відхиляються від прямої діагональної лінії. Це чітко вказує на те, що набір даних не розподіляється нормально.

Це мало б мати сенс, враховуючи, що ми вказали, що дані мають відповідати експоненціальному розподілу.

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

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

Як використовувати Proc Univariate для перевірки нормальності в SAS
Як виконати перетворення журналу в SAS
Як визначити викиди в SAS

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

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