Короткий виклад підходу GAM


12

Якщо ми підходимо до гри, наприклад:

gam.fit = gam::gam(Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, df = 2) + 
    s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, df = 2), data = College)

Де ми використовуємо набір даних College, який можна знайти всередині пакета ISLR.
Тепер, якщо ми знайдемо підсумок цього підходу, то можемо побачити, що:

> summary(gam.fit)

Call: gam(formula = Outstate ~ Private + s(Room.Board, df = 2) + s(PhD, 
    df = 2) + s(perc.alumni, df = 2) + s(Expend, df = 5) + s(Grad.Rate, 
    df = 2), data = College)
Deviance Residuals:
     Min       1Q   Median       3Q      Max 
-7522.66 -1140.99    55.18  1287.51  7918.22 

(Dispersion Parameter for gaussian family taken to be 3475698)

    Null Deviance: 12559297426 on 776 degrees of freedom
Residual Deviance: 2648482333 on 762.0001 degrees of freedom
AIC: 13924.52 

Number of Local Scoring Iterations: 2 

Anova for Parametric Effects
                        Df     Sum Sq    Mean Sq F value    Pr(>F)    
Private                  1 3377801998 3377801998 971.834 < 2.2e-16 ***
s(Room.Board, df = 2)    1 2484460409 2484460409 714.809 < 2.2e-16 ***
s(PhD, df = 2)           1  839368837  839368837 241.496 < 2.2e-16 ***
s(perc.alumni, df = 2)   1  509679160  509679160 146.641 < 2.2e-16 ***
s(Expend, df = 5)        1 1019968912 1019968912 293.457 < 2.2e-16 ***
s(Grad.Rate, df = 2)     1  148052210  148052210  42.596 1.227e-10 ***
Residuals              762 2648482333    3475698                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Anova for Nonparametric Effects
                       Npar Df Npar F   Pr(F)    
(Intercept)                                      
Private                                          
s(Room.Board, df = 2)        1  3.480 0.06252 .  
s(PhD, df = 2)               1  1.916 0.16668    
s(perc.alumni, df = 2)       1  1.471 0.22552    
s(Expend, df = 5)            4 34.350 < 2e-16 ***
s(Grad.Rate, df = 2)         1  1.981 0.15971    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Тут я не розумію значення частини "Anova для параметричних ефектів", а також "Anova для непараметричних ефектів". Хоча я знаю роботу тесту ANOVA, але я не в змозі зрозуміти частину резюме "параметричні ефекти" та "непараметричні ефекти". Отже, що вони означають? Яке їх значення?


Це питання виникло внаслідок (г) частини цієї відповіді, до питання 10, глави 7 Введення статистичного навчання .

Відповіді:


22

Спосіб структурування результатів цього підходу до встановлення GAM полягає в групуванні лінійних частин плавніше з іншими параметричними умовами. Повідомлення Privateмає запис у першій таблиці, але в другій він порожній. Це тому Private, що це строго параметричний термін; це факторна змінна і, отже, асоціюється з оціночним параметром, який представляє ефект Private. Причина гладких членів розділена на два типи ефекту полягає в тому, що цей результат дозволяє визначити, чи є гладкий член

  1. нелінійний ефект : подивіться на непараметричну таблицю та оцініть її значимість. За значенням залиште як плавний нелінійний ефект. Якщо незначний, розглянемо лінійний ефект (2. нижче)
  2. лінійний ефект : подивіться на параметричну таблицю та оцініть значення лінійного ефекту. Якщо це суттєво, ви можете перетворити термін на гладкий s(x)-> xу формулі, що описує модель. Якщо це незначне значення, ви можете розглянути цілком випадання терміна з моделі (але будьте обережні з цим --- це означає сильне твердження, що справжній ефект == 0).

Параметрична таблиця

Записи тут подібні до того, що ви отримаєте, якби ви встановили цю лінійну модель і обчислили таблицю ANOVA, за винятком того, що не показані оцінки для будь-яких пов'язаних коефіцієнтів моделі. Замість розрахункових коефіцієнтів та стандартних помилок та пов'язаних з ними тестів t або Wald, поряд із тестами F відображається кількість роз’ясненої дисперсії (у перерахунку на суми квадратів). Як і в інших моделях регресії, оснащених кількома коваріатами (або функціями коваріатів), записи в таблиці залежать від інших термінів / функцій моделі.

Непараметрична таблиця

У непараметрических ефекти пов'язані з нелінійними частинами Сглажіватель встановлені. Нелінійність цих нелінійних ефектів є суттєвою, за винятком нелінійного ефекту Expend. Є деякі докази нелінійного ефекту Room.Board. Кожне з цього пов'язане з деякою кількістю непараметричних ступенів свободи ( Npar Df), і вони пояснюють величину варіації відповіді, кількість якої оцінюється за допомогою тесту F (за замовчуванням див. Аргумент test).

Ці тести в непараметричному розділі можна інтерпретувати як тест нульової гіпотези лінійного співвідношення замість нелінійного співвідношення .

Те, як ви можете інтерпретувати це, полягає лише в тому, що тільки Expendдовіряння розглядаються як плавний нелінійний ефект. Інші гладкі можуть бути перетворені на лінійні параметричні доданки. Ви можете перевірити, чи гладке Room.Boardпродовжує мати незначний непараметричний ефект, коли ви перетворите інші гладкі в лінійні параметричні умови; можливо, ефект ефекту Room.Boardтрохи нелінійний, але на це впливає наявність інших плавних доданків у моделі.

Однак багато цього може залежати від того, що для багатьох гладких дозволено використовувати лише 2 ступеня свободи; чому 2?

Автоматичний вибір гладкості

Новіші підходи до встановлення GAM вибрали б ступінь гладкості за допомогою автоматичних підходів гладкості вибору, таких як санкціонований підхід компанії Simon Wood, що реалізований у рекомендованому пакеті mgcv :

data(College, package = 'ISLR')
library('mgcv')

set.seed(1)
nr <- nrow(College)
train <- with(College, sample(nr, ceiling(nr/2)))
College.train <- College[train, ]
m <- mgcv::gam(Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
               s(Expend) + s(Grad.Rate), data = College.train,
               method = 'REML')

Зведення моделі є більш стислим і безпосередньо розглядає гладку функцію в цілому, а не як лінійний (параметричний) та нелінійний (непараметричний) внесок:

> summary(m)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8544.1      217.2  39.330   <2e-16 ***
PrivateYes    2499.2      274.2   9.115   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  2.190  2.776 20.233 3.91e-11 ***
s(PhD)         2.433  3.116  3.037 0.029249 *  
s(perc.alumni) 1.656  2.072 15.888 1.84e-07 ***
s(Expend)      4.528  5.592 19.614  < 2e-16 ***
s(Grad.Rate)   2.125  2.710  6.553 0.000452 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.2%
-REML = 3436.4  Scale est. = 3.3143e+06  n = 389

Тепер вихід збирає гладкі умови та параметричні умови в окремі таблиці, при цьому останні отримують більш звичний вихід, подібний до лінійної моделі. Повний ефект гладких термінів показаний у нижній таблиці. Це не ті ж тести, що і для gam::gamмоделі, яку ви показуєте; вони є тестами проти нульової гіпотези, що гладкий ефект - це плоска, горизонтальна лінія, нульовий ефект або проявляється нульовий ефект. Альтернатива полягає в тому, що справжній нелінійний ефект відрізняється від нуля.

Зауважте, що ЕРС всі більше, ніж 2, за винятком s(perc.alumni), припускаючи, що gam::gamмодель може бути трохи обмежувальною.

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

plot(m, pages = 1, scheme = 1, all.terms = TRUE, seWithMean = TRUE)

який виробляє

введіть тут опис зображення

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

Зробивши це, ми бачимо, що відповідність моделі насправді не змінилася

> summary(m2)

Family: gaussian 
Link function: identity 

Formula:
Outstate ~ Private + s(Room.Board) + s(PhD) + s(perc.alumni) + 
    s(Expend) + s(Grad.Rate)

Parametric coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8539.4      214.8  39.755   <2e-16 ***
PrivateYes    2505.7      270.4   9.266   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Approximate significance of smooth terms:
                 edf Ref.df      F  p-value    
s(Room.Board)  2.260      9  6.338 3.95e-14 ***
s(PhD)         1.809      9  0.913  0.00611 ** 
s(perc.alumni) 1.544      9  3.542 8.21e-09 ***
s(Expend)      4.234      9 13.517  < 2e-16 ***
s(Grad.Rate)   2.114      9  2.209 1.01e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

R-sq.(adj) =  0.794   Deviance explained = 80.1%
-REML = 3475.3  Scale est. = 3.3145e+06  n = 389

Здається, що всі гладкі висловлюють дещо нелінійні ефекти навіть після того, як ми скоротили лінійні та нелінійні частини сплайнів.

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


4
+1 Відмінне пояснення. (Мені цікаво, що ви маєте на увазі під "непараметричним тестом F", хоча: чим він відрізнятиметься від стандартного тесту F, якщо він взагалі?)
whuber

4
@whuber, це просто бідне формулювання; це стандартний F-тест, але через розкладання гладких на лінійні та нелінійні частини це випробування того, що вихід називає біт "непараметричним". Я це відредагую.
Відновіть Моніку - Г. Сімпсон

3
p-значення не працюють таким чином; щоб тест навіть був проведений, ми припустили, що нульова гіпотеза правдива . Що тест робить, це сказати, припустимо, що зв'язок лінійний, наскільки суперечить цьому припущенню докази, приведені даними? Якщо дані, представлені даними, збігаються з тими, які ми очікуємо, якщо нуль був би правдивим. Якщо докази суперечать нульовій гіпотезі, то навряд чи ми б спостерігали дані, які ми робили, якби нуль був правдивим. Значення р - це міра доказів проти нуля.
Відновіть Моніку - Г. Сімпсон

1
Ви говорите про параметричну таблицю: "Подані тут фактично є тим, що ви отримаєте, якби ви встановили це як лінійну модель і обчислили таблицю ANOVA." Я припускаю, що це не буквально вірно (тобто, що нелінійна частина моделі взагалі не впливає на оцінки значущості для лінійної частини). Безумовно, оцінка лінійних і нелінійних частин робиться спільно, а нелінійна частина впливає на коефіцієнти для лінійної частини, а також на її значення, правда?
Яків Соколар

1
@JacobSocolar Наскільки я розумію, сплайн розкладається на лінійну складову та деякі нелінійні компоненти (кількість яких залежить від ступенів свободи, дозволених сплайну). Що я мав на увазі, це такий вид виходу, який ви отримаєте від лінійної підгонки, за якою слід ANOVA (тобто тест F для середнього квадрата). Так, це часткові ефекти в тому сенсі, що відхилення, пояснене однією частиною моделі, залежить від інших термінів (& базових функцій) в моделі. І так, я не мав на увазі цю цитату буквально; Я переформулюю слово "подобається, що б ти ...".
Відновіть Моніку - Г. Сімпсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.