Skip to main content
LibreTexts - Ukrayinska

7.5: Використання R для тестування значущості та аналізу дисперсії

  • Page ID
    17835
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Базова установка R має функції для більшості тестів значущості, розглянутих у розділі 7.2 - Глава 7.4.

    Використання R для порівняння відхилень

    Функція R для порівняння дисперсій - var.test (), яка приймає наступний вигляд

    var.test (x, y, співвідношення = 1, альтернатива = c («двохсторонній», «менше», «більше»), conf.level = 0.95,...)

    де x і y - числові вектори, що містять дві вибірки, співвідношення - очікуване співвідношення для нульової гіпотези (яка за замовчуванням дорівнює 1), альтернативою є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двостороння або двоххвіст), і conf.level, що дає розмір довірчого інтервалу, який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\). Ми можемо використовувати цю функцію для порівняння дисперсій двох зразків,\(s_1^2\) vs\(s_2^2\), але не дисперсії вибірки та дисперсії для популяції\(s^2\) vs\(\sigma^2\).

    Давайте використаємо R на даних з Прикладу 7.2.3, який розглядає два набори копійок США.

    # створити вектори для зберігання даних

    зразок 1 = с (3.080, 3.094, 3.107, 3.056, 3.112, 3.174, 3.198)

    зразок 2 = с (3.052, 3,141, 3.083, 3.083, 3.048)

    # запустити двосторонній тест на дисперсію з альфа = 0,05 та нульовою гіпотезою, що дисперсії рівні

    var.test (x = зразок 1, y = зразк2, співвідношення = 1, альтернатива = «двохсторонній», conf.level = 0,95)

    Наведений вище код дає наступний результат

    F тест для порівняння двох дисперсій

    дані: зразок 1 і зразк2

    F = 1,8726, нум дф = 6, деном дф = 4, р-значення = 0,5661

    альтернативна гіпотеза: істинне співвідношення дисперсій не дорівнює 1

    95-відсотковий довірчий інтервал:

    0.2036028 11.6609726

    вибіркові кошториси: співвідношення дисперсій

    1,872598

    Дві частини цього результату призводять нас до збереження нульової гіпотези рівних дисперсій. По-перше, повідомлене p -значення 0,5661 більше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для співвідношення дисперсій, який проходить від 0,204 до 11,7 включає нульову гіпотезу, що це 1.

    R не включає функцію для порівняння\(s^2\) з\(\sigma^2\).

    Використання R для порівняння засобів

    Функція R для порівняння засобів є t.test () і приймає наступний вигляд

    t.test (x, y = NULL, альтернатива = c («двохсторонній», «менше», «більше»), mu = 0,

    парний = БРЕХНЯ, var.дорівнює = FALSE, conf.level = 0.95,...)

    де x - числовий вектор, який містить дані для одного зразка, а y - необов'язковий вектор, який містить дані для другого зразка, альтернативою є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двоххвоста), mu або очікуване середнє значення популяції або очікувана різниця в засобах двох вибірок, парні - це логічне значення, яке вказує, чи є дані парними, var.equal - це логічне значення, яке вказує, чи відхилення для двох вибірок розглядаються як рівні або нерівні (на основі prior var.test ()) і conf.level дає розмір довірчого інтервалу (який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\)).

    Використання R для порівняння\(\overline{X}\) з\(\mu\)

    Давайте використаємо R на даних з Прикладу 7.2.1, який розглядає визначення\(\% \text{Na}_2 \text{CO}_3\) в стандартній вибірці, яка, як відомо, дорівнює 98.76% w/w\(\text{Na}_2 \text{CO}_3\).

    # створити вектор для зберігання даних

    на2СО3 = с (98,71, 98,59, 98,62, 98,44, 98,58)

    # запустити двосторонній t-тест, використовуючи mu для визначення очікуваного середнього; оскільки значення за замовчуванням

    # для парних і var.equal є FALSE, ми можемо опустити їх тут

    t.test (x = na2co3, альтернатива = «двохсторонній», му = 98.76, conf.level = 0,95)

    Наведений вище код дає наступний результат

    Один зразок t-тесту

    дані: na2CO3

    t = -3,9522, дф = 4, р-значення = 0,01679

    альтернативна гіпотеза: істинне середнє значення не дорівнює 98,76

    95-відсотковий довірчий інтервал:

    98.46717 98.70883

    зразок кошторису:

    середнє значення x

    98.588

    Дві частини цього результату призводять нас до відкидання нульової гіпотези рівних дисперсій. По-перше, повідомлене p -значення 0,01679 менше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для експериментального середнього 98,588, який проходить від 98,467 до 98,709, не включає нульову гіпотезу, що це 98,76.

    Використання R для порівняння засобів для двох зразків

    Порівнюючи засоби для двох зразків, ми повинні бути обережними, щоб розглянути, чи є дані непарними чи парними, а для непарних даних ми повинні визначити, чи можемо ми об'єднати відхилення для двох вибірок.

    Непарні дані

    Давайте використаємо R на даних з Прикладу 7.2.4, який розглядає два набори копійок США. Ці дані є непарними, і, як ми показали раніше, немає жодних доказів того, що дисперсії двох зразків різні.

    # створити вектори для зберігання даних

    зразок 1 = с (3.080, 3.094, 3.107, 3.056, 3.112, 3.174, 3.198)

    зразок 2 = с (3.052, 3,141, 3.083, 3.083, 3.048)

    # запустити двосторонній t-тест, встановивши mu до 0 як нульова гіпотеза полягає в тому, що засоби однакові, і встановивши var.equal TRUE

    t.test (x = зразк1, y = зразк2, альтернатива = «двохсторонній», mu = 0, var.equal = ІСТИНА, conf.level = 0,95)

    Наведений вище код дає наступний результат

    Два зразка t-тесту

    дані: зразок 1 і зразк2

    t = 1,3345, дф = 10, р-значення = 0,2116

    альтернативна гіпотеза: істинна різниця засобів не дорівнює 0

    95-відсотковий довірчий інтервал:

    -0.0240 3040 0,09580182

    зразок кошторису:

    середнє x середнє значення y

    3.117286 3.081400

    Дві частини цього результату призводять нас до збереження нульової гіпотези рівних засобів. По-перше, повідомлене p -значення 0.2116 більше, ніж наше критичне значення для\(\alpha\) 0,05, а по-друге, 95% довірчий інтервал для різниці в експериментальних засобах, який проходить від -0,0240 до 0,0958, включає нульову гіпотезу, що вона дорівнює 0.

    Парні дані

    Скористаємося R на даних з прикладу 7.2.1, в якому порівнюються два методи визначення концентрації антибіотика моненсін в чанах для бродіння.

    # створити вектори для зберігання даних

    мікробіологічні = с (129,5, 89,6, 76,6, 52,2, 110.8, 50,4, 72.4, 141,4, 75.0, 34.1, 60,3)

    електрохімічні = с (132.3, 91.0, 73.6, 58.2, 104.2, 49.9, 82.1, 154.1, 73.4, 38.1, 60.1)

    # запустити двоххвостий t-тест, встановивши mu до 0 як нульова гіпотеза полягає в тому, що засоби однакові, і встановивши в парі TRUE

    t.test (x = мікробіологічний, y = електрохімічний, альтернатива = «двохсторонній», mu = 0, парний = TRUE, conf.level = 0,95)

    Наведений вище код дає наступний результат

    Парний t-тест

    дані: мікробіологічні та електрохімічні

    т = -1,3225, дф = 10, р-значення = 0,2155

    альтернативна гіпотеза: істинна різниця засобів не дорівнює 0

    95-відсотковий довірчий інтервал:

    -6,028684 1,5 37775

    зразок кошторису:

    середнє значення відмінностей

    -2.245455

    Дві частини цього результату призводять нас до збереження нульової гіпотези рівних засобів. По-перше, повідомлене p -значення 0,2155 більше, ніж наше критичне\(\alpha\) значення для 0,05, а по-друге, 95% довірчий інтервал для різниці в експериментальному середньому, який проходить від -6,03 до 1,54, включає нульову гіпотезу, що вона дорівнює 0.

    Використання R для виявлення викидів

    Базова установка R не включає тести для викидів, але пакет викидів надав функції для Q-Test Dixon та тесту Grubb. Для установки пакета використовуйте наступні рядки коду:

    install.packages («викиди»)

    бібліотека (викиди)

    Вам потрібно встановити пакунок лише один раз, але ви повинні використовувати library (), щоб зробити пакунок доступним під час початку нового сеансу R.

    Q-тест Діксона

    Функція R для Q-тесту Діксона - dixon.test () і приймає наступний вигляд

    dixon.test (х, тип, двосторонній)

    де x - числовий вектор з даними, які ми розглядаємо, тип визначає конкретне значення (и), яке ми тестуємо (ми будемо використовувати тип = 10, який перевіряє один викид на будь-якому кінці ранжованих даних), і двох.односторонній, який вказує, чи використовуємо ми однохвостий або двоххвостий тест (ми будемо використовувати two.sided = FALSE, оскільки нас цікавить, чи найменше значення занадто мале або найбільше значення занадто велике).

    Давайте використаємо R на даних з Прикладу 7.2.7, який розглядає маси безлічі копійок США.

    копійки = с (3.067, 2.514, 3.094, 3.049, 3.048, 3.0109, 3.039, 3.079, 3.079, 3.0102)

    dixon.test (х = копійки, двохсторонній = БРЕХНЯ, тип = 10)

    Наведений вище код дає наступний результат

    Тест Діксона на викиди

    дані: пенні Q = 0,88235, р-значення < 2,2e-16

    альтернативна гіпотеза: найнижче значення 2.514 є викидом

    Повідомлене p -значення менше, ніж\(2.2 \times 10^{-16}\) наше критичне\(\alpha\) значення для 0,05, що говорить про те, що копійка з масою 2,514 г витягується з іншої популяції, ніж інші копійки.

    Тест Грубба

    Функція R для тесту Грубба є grubbs.test () і приймає наступний вигляд

    gurbbs.test (х, тип, двохсторонній)

    де x - числовий вектор з даними, які ми розглядаємо, тип визначає конкретне значення (и), яке ми тестуємо (ми будемо використовувати тип = 10, який перевіряє один викид на будь-якому кінці ранжованих даних), і двох.односторонній, який вказував, чи використовуємо ми однохвостий або двоххвостий тест (ми будемо використовувати two.sided = FALSE, оскільки нас цікавить, чи найменше значення занадто мале або найбільше значення занадто велике).

    Давайте використаємо R на даних з Прикладу 7.2.7, який розглядає маси безлічі копійок США.

    копійки = с (3.067, 2.514, 3.094, 3.049, 3.048, 3.0109, 3.039, 3.079, 3.079, 3.0102)

    grubbs.test (х = копійки, двохсторонній = БРЕХНЯ, тип = 10)

    Наведений вище код дає наступний результат

    Тест Груббса на один викид

    дані: копійка

    Г = 2,64300, U = 0,01768, р-значення = 9,69е-07

    альтернативна гіпотеза: найнижче значення 2.514 є викидом

    Повідомлене p-значення\(9.69 \times 10^{-7}\) менше нашого критичного значення для\(\alpha\) 0,05, що говорить про те, що копійка з масою 2,514 г витягується з іншої популяції, ніж інші копійки.

    Використання R для завершення непараметричних тестів значущості

    Функція R для завершення тесту рангу, підписаного Уілкоксоном, і тест на суму рангу Wilcoxson wilcox.test (), який приймає наступну форму

    wilcox.test (x, y = NULL, альтернатива = c («двохсторонній», «менше», «більше»), му = 0,

    парні = БРЕХНЯ, conf.level = 0.95,...)

    де x - числовий вектор, який містить дані для одного зразка, а y - необов'язковий вектор, який містить дані для другого зразка, альтернативою є символьний рядок, який стверджує альтернативну гіпотезу (яка за замовчуванням двоххвоста), mu або Очікуване середнє значення популяції або очікувана різниця в засобах двох вибірок, парні є логічним значенням, яке вказує, чи є дані парними, а conf.level дає розмір довірчого інтервалу (який за замовчуванням дорівнює 0,95, або 95%, або\(\alpha = 0.05\)).

    Використання R для завершення тесту на ранг, підписаний Уілкоксоном

    Скористаємося R на даних з прикладу 7.3.1, в якому порівнюються два методи визначення концентрації антибіотика моненсін в чанах для бродіння.

    # створити вектори для зберігання даних

    мікробіологічні = с (129,5, 89,6, 76,6, 52,2, 110.8, 50,4, 72.4, 141,4, 75.0, 34.1, 60,3)

    електрохімічні = с (132.3, 91.0, 73.6, 58.2, 104.2, 49.9, 82.1, 154.1, 73.4, 38.1, 60.1)

    # запустити двоххвостий тест рангу, підписаний wilcoxson, встановивши mu до 0, як нульова гіпотеза полягає в тому, що

    # засоби однакові і установка в парі з TRUE

    wilcox.test (x = мікробіологічний, y = електрохімічний, альтернатива = «двохсторонній», mu = 0, парний = ІСТИНА, conf.level = 0,95)

    Наведений вище код дає наступний результат

    Вілкоксон підписав ранговий тест

    дані: мікробіологічні та електрохімічні

    V = 22, р-значення = 0,3652

    альтернативна гіпотеза: істинний зсув розташування не дорівнює 0

    де значення V - менший з двох підписаних рядів. Повідомлене p -значення 0.3652 більше, ніж наше критичне\(\alpha\) значення для 0.05, що означає, що ми не маємо доказів того, що існує різниця між середніми значеннями для двох методів.

    Використання R для завершення тесту на суму рангу Вілкоксона

    Скористаємося R на даних з прикладу 7.3.2, який порівнює два методи визначення кількості аспірину в таблетках з двох виробничих партій.

    # створити вектори для зберігання даних

    лот1 = с (256, 248, 245, 244, 248, 261)

    лот 2= с (241, 258, 241, 256, 254)

    # запустити двоххвостий тест рангу, підписаний wilcoxson, встановивши mu до 0 як нульова гіпотеза

    # що засоби однакові, і установка в парі TRUE

    wilcox.test (x = lot1, y = lot2, альтернатива = «двохсторонній», mu = 0, парний = FALSE, conf.level = 0,95)

    Наведений вище код дає наступний результат

    Тест на суму рангу Wilcoxon з корекцією безперервності

    дані: лот1 і лот2

    W = 16,5, р-значення = 0,8541

    альтернативна гіпотеза: істинний зсув розташування не дорівнює 0

    Попереджувальне повідомлення:

    У wilcox.test.default (x = lot1, y = lot2, альтернатива = «двохсторонній»,: неможливо обчислити точне p-значення за допомогою зв'язків

    де значення W - більша з двох ранжованих сум. Повідомлене p -значення 0.8541 більше, ніж наше критичне\(\alpha\) значення для 0.05, що означає, що ми не маємо доказів того, що існує різниця між середніми значеннями для двох методів. Примітка: тут ми можемо ігнорувати попереджувальне повідомлення, оскільки наше обчислене значення для p дуже велике відносно 0,05.\(\alpha\)

    Використання R для завершення аналізу дисперсії

    Давайте використаємо дані в прикладі 7.3.1, щоб показати, як завершити аналіз дисперсії в R. Спочатку нам потрібно створити окремі числові вектори для кожного лікування, а потім об'єднати ці вектори в єдиний числовий вектор, який ми будемо називати відновленням, який містить результати для кожного лікування.

    а = с (101, 101, 104)

    б = с (100, 98, 102)

    с = с (90, 92, 94)

    відновлення = с (а, б, в)

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

    лікування = с (реп («а», 3), реп («б», 3), реп («с», 3))

    Функцією R для завершення дисперсійного аналізу є aov (), яка приймає наступний вигляд

    аов (формула,...)

    де формула - це спосіб сказати R «пояснити цю змінну за допомогою цієї змінної.» Ми розглянемо формули більш детально в розділі 8, але в цьому випадку синтаксис відновлення ~ лікування, що означає моделювати відновлення на основі лікування. У коді нижче ми присвоюємо висновок функції aov () змінній, щоб ми мали доступ до результатів дисперсійного аналізу

    aov_output = aov (відновлення ~ лікування)

    через функцію summary ()

    резюме (aov_output)

    Df Сума Sq Середнє значення Sq F Pr (>F)

    лікування 2 168 84,00 22,91 0,00155 **

    Незалишки 6 22 3.67

    — Знак. коди: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '1

    Зверніть увагу, що те, що ми раніше називали дисперсією між дисперсією, ідентифікується тут як дисперсія через лікування, і що ми раніше називали дисперсію всередині ідентифікується її як залишкова дисперсія. Як ми бачили в прикладі 7.3.1, значення для F exp значно більше, ніж критичне значення для F at\(\alpha = 0.05\).

    Знайшовши докази того, що існує значна різниця між методами лікування, ми можемо використовувати функцію TukeyHSD () R для ідентифікації джерела (ів) цієї різниці (HSD розшифровується як чесна значна різниця), яка приймає загальну форму

    Туреччина HSD (x, конф. Рівень = 0,95,...)

    де x - об'єкт, який містить результати дисперсійного аналізу.

    Туреччина HSD (aov_вихід)

    Туреччина множинні порівняння засобів

    95% сімейний рівень довіри

    Fit: aov (формула = відновлення ~ лікування)

    $ лікування

    Дифф Лар upr р адж

    б-а -2 -6,797161 2.797161 0.4554965

    з-а -10 -14.797161 -5.202839 0.0016720

    с-б -8 -12,797161 -3,202839 0,0052447

    Таблиця в кінці виводу показує, для кожної пари обробок, різницю в їх середніх значеннях, нижньому і верхньому значеннях для довірчого інтервалу про середнє, і значення для\(\alpha\), яке в R вказано як скориговане p -значення, для якого ми можемо відхилити нуль гіпотеза про те, що засоби ідентичні. У цьому випадку ми можемо побачити, що результати лікування С значно відрізняються від обох методів лікування А і В.

    Ми також можемо переглядати результати аналізу tukeyHSD візуально, передаючи його функції R plot ().

    сюжет (Туреччина HSD (aov_output))

    clipboard_efb74f4ba69090fcd0358d3b224ac5960.png
    Малюнок\(\PageIndex{1}\): Сюжет Туреччини результати HSD. Горизонтальні відрізки показують нижню і верхню межу для довірчого інтервалу про різницю між середніми значеннями для кожної пари обробок. Вертикальна пунктирна лінія показує різницю в нуль. Ті пари процедур з упевненими інтервалами, які не включають різницю в нуль, істотно відрізняються один від одного. Тут ми бачимо докази того, що лікування С значно відрізняється від обох методів лікування А і В, але немає доказів того, що лікування А і В значно відрізняються один від одного.