Чи означає "кореляція" також нахил в регресійному аналізі?


14

Я читаю статтю, і автор написав:

Вплив A, B, C на Y вивчали за допомогою багаторазового регресійного аналізу. A, B, C були введені в рівняння регресії з Y як залежної змінної. Аналіз дисперсії представлений у таблиці 3. Вплив B на Y був значним, а B корелює .27 з Y.

Англійська мова не є моєю рідною мовою, і я тут дуже заплутався.

Спершу він сказав, що проведе аналіз регресії, потім показав нам дисперсійний аналіз. Чому?

І тоді він писав про коефіцієнт кореляції, це не з кореляційного аналізу? Або це слово також можна було б використати для опису нахилу регресії?

Відповіді:


17

Спершу він сказав, що проведе аналіз регресії, потім показав нам дисперсійний аналіз. Чому?

Аналіз дисперсії (ANOVA) - це лише техніка порівняння дисперсії, поясненої моделлю, та дисперсії, не поясненої моделлю. Оскільки регресійні моделі мають як пояснений, так і незрозумілий компонент, природно, що ANOVA може бути застосований до них. У багатьох програмних пакетах результати ANOVA регулярно повідомляються з лінійною регресією. Регресія - це також дуже універсальна техніка. Насправді і t-тест, і ANOVA можуть бути виражені у регресійній формі; вони просто особливий випадок регресу.

Наприклад, ось зразок регресії. Результат деяких автомобілів - це милі на галон, і незалежна змінна - чи машина була вітчизняною, чи іноземною:

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  1,    72) =   13.18
       Model |  378.153515     1  378.153515           Prob > F      =  0.0005
    Residual |  2065.30594    72  28.6848048           R-squared     =  0.1548
-------------+------------------------------           Adj R-squared =  0.1430
       Total |  2443.45946    73  33.4720474           Root MSE      =  5.3558

------------------------------------------------------------------------------
         mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
   1.foreign |   4.945804   1.362162     3.63   0.001     2.230384    7.661225
       _cons |   19.82692   .7427186    26.70   0.000     18.34634    21.30751
------------------------------------------------------------------------------

Ви можете бачити повідомлення ANOVA вгорі зліва. Загальна F-статистика становить 13,18, р-значення 0,0005, що вказує на те, що модель є передбачуваною. А ось вихід ANOVA:

                       Number of obs =      74     R-squared     =  0.1548
                       Root MSE      = 5.35582     Adj R-squared =  0.1430

              Source |  Partial SS    df       MS           F     Prob > F
          -----------+----------------------------------------------------
               Model |  378.153515     1  378.153515      13.18     0.0005
                     |
             foreign |  378.153515     1  378.153515      13.18     0.0005
                     |
            Residual |  2065.30594    72  28.6848048   
          -----------+----------------------------------------------------
               Total |  2443.45946    73  33.4720474   

Зауважте, що ви можете відновити ту саму F-статистику та p-значення там.


І тоді він писав про коефіцієнт кореляції, це не з кореляційного аналізу? Або це слово також можна було б використати для опису нахилу регресії?

Якщо припустити аналіз, використовуючи лише B і Y, технічно я б не погодився з вибором слова. У більшості випадків нахил та коефіцієнт кореляції не можна використовувати взаємозамінно. В одному окремому випадку ці дві однакові, тобто коли і незалежні, і залежні змінні стандартизовані (так само в одиниці z-балу.)

Наприклад, давайте співвідносимо милі за галон і ціну автомобіля:

             |    price      mpg
-------------+------------------
       price |   1.0000
         mpg |  -0.4686   1.0000

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

             |  sdprice    sdmpg
-------------+------------------
     sdprice |   1.0000
       sdmpg |  -0.4686   1.0000

Ось дві моделі регресії з використанням оригінальних змінних:

. reg mpg price

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  1,    72) =   20.26
       Model |  536.541807     1  536.541807           Prob > F      =  0.0000
    Residual |  1906.91765    72  26.4849674           R-squared     =  0.2196
-------------+------------------------------           Adj R-squared =  0.2087
       Total |  2443.45946    73  33.4720474           Root MSE      =  5.1464

------------------------------------------------------------------------------
         mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       price |  -.0009192   .0002042    -4.50   0.000    -.0013263   -.0005121
       _cons |   26.96417   1.393952    19.34   0.000     24.18538    29.74297
------------------------------------------------------------------------------

... і ось ця зі стандартизованими змінними:

. reg sdmpg sdprice

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  1,    72) =   20.26
       Model |  16.0295482     1  16.0295482           Prob > F      =  0.0000
    Residual |  56.9704514    72  .791256269           R-squared     =  0.2196
-------------+------------------------------           Adj R-squared =  0.2087
       Total |  72.9999996    73  .999999994           Root MSE      =  .88953

------------------------------------------------------------------------------
       sdmpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
     sdprice |  -.4685967   .1041111    -4.50   0.000    -.6761384   -.2610549
       _cons |  -7.22e-09   .1034053    -0.00   1.000    -.2061347    .2061347
------------------------------------------------------------------------------

Як бачимо, нахил вихідних змінних дорівнює -0.0009192, а стандартний зі змінними -0.4686, що також є коефіцієнтом кореляції.

Отже, якщо A, B, C і Y не стандартизовані, я не погодився б із "співвідношенням статті". Натомість я просто вирішив би на одну одиницю збільшення B пов’язаний із середнім значенням Y на 0,27 вище.

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


7

Спершу він сказав, що проведе аналіз регресії, потім показав нам дисперсійний аналіз. Чому?

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

І тоді він писав про коефіцієнт кореляції, це не з кореляційного аналізу? Або це слово також можна було б використати для опису нахилу регресії?

Кореляція - це не те саме, що і нахил регресії, але обидва пов'язані між собою. Однак, якщо вони не залишили слова (або, можливо, декількох слів), подвійне співвідношення B з Y не говорить вам безпосередньо про значення схилу у множинній регресії. У простій регресії, вони безпосередньо пов'язані між собою, і такі відносини мають місце. При множинній регресії часткові кореляції пов'язані зі схилами відповідним чином.


4

Я надаю коди в R лише приклад, ви можете просто побачити відповіді, якщо у вас немає досвіду роботи з Р. Я просто хочу зробити деякі випадки з прикладами.

кореляція проти регресії

Проста лінійна кореляція та регресія з одним Y і одним X:

Модель:

y = a + betaX + error (residual) 

Скажімо, у нас є лише дві змінні:

X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
plot(X,Y, pch = 19)

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

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

Подивимось лінійну кореляцію.

cor(X,Y)
0.7828747

Тепер значення лінійної регресії та витягування R у квадраті .

    reg1 <- lm(Y~X)
   summary(reg1)$r.squared
     0.6128929

Таким чином, коефіцієнти моделі:

reg1$coefficients
(Intercept)           X 
  2.2535971   0.7877698

Бета-версія для X становить 0,7877698. Таким чином, модель буде:

  Y = 2.2535971 + 0.7877698 * X 

Квадратний корінь значення R-квадрата в регресії такий же, як і rв лінійній регресії.

sqrt(summary(reg1)$r.squared)
[1] 0.7828747

Давайте побачимо вплив масштабу на нахил і кореляцію регресії, використовуючи той самий приклад вище, і помножимо Xна постійне скажіння 12.

    X = c(4,5,8,6,12,15)
    Y = c(3,6,9,8,6, 18)
    X12 <- X*12

    cor(X12,Y)
   [1] 0.7828747

Кореляції залишаються незмінними , як це роблять R-квадрат .

    reg12 <- lm(Y~X12)
    summary(reg12)$r.squared
     [1] 0.6128929
     reg12$coefficients
(Intercept)         X12 
 0.53571429  0.07797619 

Ви можете бачити, що коефіцієнти регресії змінюються, але не R-квадрат. Тепер інший експеримент дозволяє додавати константу Xі бачити, що це матиме ефект.

    X = c(4,5,8,6,12,15)
    Y = c(3,6,9,8,6, 18)
    X5 <- X+5

    cor(X5,Y)
   [1] 0.7828747

Кореляція все ще не змінюється після додавання 5. Подивимося, як це вплине на коефіцієнти регресії.

        reg5 <- lm(Y~X5)
        summary(reg5)$r.squared
         [1] 0.6128929
         reg5$coefficients
(Intercept)          X5 
 -4.1428571   0.9357143

R-квадрат і кореляція не має ефекту масштабу , але перехоплювати і нахил робити. Отже, нахил не такий, як коефіцієнт кореляції (якщо тільки змінні не стандартизовані із середнім значенням 0 та дисперсією 1).

що таке ANOVA і чому ми робимо ANOVA?

ANOVA - це техніка, в якій ми порівнюємо відхилення для прийняття рішень. Змінна відповіді (називається Y) є кількісною змінною, тоді як Xможе бути кількісною або якісною (фактор з різними рівнями). І те, Xі Yінше може бути одним чи кількома. Зазвичай ми говоримо про ANOVA для якісних змінних, ANOVA в регресійному контексті менше обговорюється. Це може бути причиною вашої плутанини. Нульова гіпотеза якісної змінної (коефіцієнти, наприклад, групи) полягає в тому, що середнє значення груп не відрізняється / рівне, тоді як при регресійному аналізі ми перевіряємо, чи суттєво відрізняється нахил лінії від 0.

Давайте подивимось приклад, коли ми можемо робити як регресійний аналіз, так і якісний фактор ANOVA, оскільки і X, і Y є кількісними, але ми можемо трактувати X як фактор.

    X1 <- rep(1:5, each = 5)
    Y1 <- c(12,14,18,12,14,  21,22,23,24,18,  25,23,20,25,26, 29,29,28,30,25, 29,30,32,28,27)
   myd <- data.frame (X1,Y1)

Дані виглядають так.

   X1 Y1
1   1 12
2   1 14
3   1 18
4   1 12
5   1 14
6   2 21
7   2 22
8   2 23
9   2 24
10  2 18
11  3 25
12  3 23
13  3 20
14  3 25
15  3 26
16  4 29
17  4 29
18  4 28
19  4 30
20  4 25
21  5 29
22  5 30
23  5 32
24  5 28
25  5 27

Зараз ми робимо і регресію, і ANOVA. Перша регресія:

 reg <- lm(Y1~X1, data=myd)
 anova(reg)

Analysis of Variance Table

Response: Y1
          Df Sum Sq Mean Sq F value    Pr(>F)    
X1         1 684.50  684.50   101.4 6.703e-10 ***
Residuals 23 155.26    6.75                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

reg$coefficients             
(Intercept)          X1 
      12.26        3.70 

Зараз звичайна ANOVA (середня ANOVA для коефіцієнта / якісної змінної) шляхом перетворення X1 у коефіцієнт.

myd$X1f <- as.factor (myd$X1)
     regf <- lm(Y1~X1f, data=myd)
     anova(regf)
Analysis of Variance Table

Response: Y1
          Df Sum Sq Mean Sq F value    Pr(>F)    
X1f        4 742.16  185.54   38.02 4.424e-09 ***
Residuals 20  97.60    4.88                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Ви можете побачити змінений X1f Df, який становить 4, а не 1 у верхньому випадку.

На відміну від ANOVA для якісних змінних, в контексті кількісних змінних, де ми робимо регресійний аналіз - Аналіз варіації (ANOVA) складається з обчислень, які надають інформацію про рівні мінливості в регресійній моделі та складають основу для тестів на значимість.

В основному ANOVA перевіряє нульову гіпотезу бета = 0 (з альтернативною гіпотезою бета не дорівнює 0). Тут ми робимо тест F, співвідношення змінності пояснюється моделлю проти помилки (залишкова дисперсія). Дисперсія моделі походить від суми, поясненої рядком, який вам підходить, а залишковий - від значення, яке не пояснюється моделлю. Значне F означає, що бета-значення не дорівнює нулю, означає, що існує значна залежність між двома змінними.

 > anova(reg1)
    Analysis of Variance Table

    Response: Y
              Df Sum Sq Mean Sq F value Pr(>F)  
    X          1 81.719  81.719  6.3331 0.0656 .
    Residuals  4 51.614  12.904                 
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Тут ми можемо побачити високу кореляцію або R-квадрат, але все ще не суттєвий результат. Інколи ви можете отримати результат, коли низька кореляція все ще значна кореляція. Причина несуттєвого відношення в цьому випадку полягає в тому, що у нас недостатньо даних (n = 6, залишковий df = 4), тому F слід розглядати розподіл F з чисельником 1 df проти 4 domeomerator df. Тож у цьому випадку ми не змогли виключити нахил, не дорівнює 0.

Подивимось ще один приклад:

 X = c(4,5,8,6,2,  5,6,4,2,3,   8,2,5,6,3,  8,9,3,5,10)
    Y = c(3,6,9,8,6,  8,6,8,10,5,  3,3,2,4,3,  11,12,4,2,14)
    reg3 <- lm(Y~X)
    anova(reg3)


     Analysis of Variance Table

    Response: Y
              Df  Sum Sq Mean Sq F value  Pr(>F)  
    X          1  69.009  69.009   7.414 0.01396 *
    Residuals 18 167.541   9.308                  
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Значення R-квадрата для цих нових даних:

 summary(reg3)$r.squared
 [1] 0.2917296
cor(X,Y)
[1] 0.54012

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

Давайте візьмемо інший приклад, коли існує заперечна кореляція:

 X1 = c(4,5,8,6,12,15)
    Y1 = c(18,16,2,4,2, 8)
   # correlation 
    cor(X1,Y1)
 -0.5266847
   # r-square using regression
    reg2 <- lm(Y1~X1)
   summary(reg2)$r.squared
 0.2773967
  sqrt(summary(reg2)$r.squared)
[1] 0.5266847

Оскільки значення були квадратними, квадратний корінь не надаватиме інформацію про позитивні чи негативні відносини тут. Але величина однакова.

Випадок множинної регресії:

Множинна лінійна регресія намагається моделювати зв'язок між двома або більше пояснювальними змінними та змінною відповіді, встановлюючи лінійне рівняння до спостережуваних даних. Вищенаведене обговорення може бути розширено до випадків множинної регресії. У цьому випадку у нас є кілька бета-версій у терміні:

y = a + beta1X1 + beta2X2 + beta2X3 + ................+ betapXp + error 

Example: 
    X1 = c(4,5,8,6,2,  5,6,4,2,3,   8,2,5,6,3,  8,9,3,5,10)
    X2 = c(14,15,8,16,2,  15,3,2,4,7,   9,12,5,6,3,  12,19,13,15,20)
    Y = c(3,6,9,8,6,  8,6,8,10,5,  3,3,2,4,3,  11,12,4,2,14)
    reg4 <- lm(Y~X1+X2)

Давайте подивимось коефіцієнти моделі:

reg4$coefficients

(Intercept)          X1          X2 
 2.04055116  0.72169350  0.05566427

Таким чином, ваша модель множинної лінійної регресії буде такою:

Y = 2.04055116 + 0.72169350 * X1 + 0.05566427* X2 

Тепер давайте перевіримо, якщо бета для X1 та X2 більше 0.

 anova(reg4)
    Analysis of Variance Table

    Response: Y
              Df  Sum Sq Mean Sq F value  Pr(>F)  
    X1         1  69.009  69.009  7.0655 0.01656 *
    X2         1   1.504   1.504  0.1540 0.69965  
    Residuals 17 166.038   9.767                  
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Тут ми говоримо, що нахил X1 більший за 0, тоді як ми не могли правити, що нахил X2 більший за 0.

Зверніть увагу, що нахил не є кореляцією між X1 та Y або X2 та Y.

> cor(Y, X1)
[1] 0.54012
> cor(Y,X2)
[1] 0.3361571

У ситуації з декількома змінними (де змінна більша за дві Частка кореляції надходить у гру. Часткова кореляція - це кореляція двох змінних при контролі третьої чи більше інших змінних.

source("http://www.yilab.gatech.edu/pcor.R")
pcor.test(X1, Y,X2)
   estimate    p.value statistic  n gn  Method            Use
1 0.4567979 0.03424027  2.117231 20  1 Pearson Var-Cov matrix
pcor.test(X2, Y,X1)
    estimate   p.value statistic  n gn  Method            Use
1 0.09473812 0.6947774 0.3923801 20  1 Pearson Var-Cov matrix

1

Аналіз дисперсії та регресії насправді дуже схожий (деякі кажуть, що це одне й те саме).

В аналізі дисперсії, як правило, у вас є деякі категорії (групи) та кількісна змінна відповідь. Ви обчислюєте суму загальної помилки, кількість помилок у групі та кількість помилок між групами.

При регресії у вас не обов’язково більше груп, але ви все одно можете розділити кількість помилок на загальну помилку, кількість помилок, пояснених вашою регресійною моделлю, та помилку, нез'ясовану вашою регресійною моделлю. Моделі регресії часто відображаються за допомогою таблиць ANOVA, і це простий спосіб побачити, скільки варіацій пояснюється вашою моделлю.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.