Цікаво, чи я пропускаю щось очевидне, але чи не могли ви це зробити статистично, використовуючи ANCOVA? Важливим питанням є те , що схили в двох регресій оцінюються з помилкою. Вони є оцінками схилів у цілому популяції. Якщо занепокоєння , чи є дві лінії регресії паралельна чи ні в популяції , то це не має сенсу порівнювати а1 з а2 безпосередньо для точної еквівалентності; обидва вони підлягають помилкам / невизначеності, які потрібно враховувати.
Якщо ми думаємо про це зі статистичної точки зору, і ми можемо об'єднати дані на і для обох наборів даних якимось значущим чином (тобто і в обох наборах виведені з двох груп із однаковими діапазонами для двох змінні - це лише відношення між ними, які відрізняються у двох групах), то ми можемо помістити наступні дві моделі:хуху
у^=б0+б1х +б2г
і
у^=б0+б1х +б2г+б3х g
Де - модельні коефіцієнти, а - змінна / коефіцієнт групування, що вказує, до якого набору даних належить кожне спостереження.бiг
Ми можемо використовувати таблицю ANOVA або коефіцієнт F, щоб перевірити, чи відповідає друга, більш складна модель краще, ніж простіша модель. Простіша модель стверджує, що нахили двох ліній однакові ( ), але лінії зміщені одна від одної на величину .б1б2
Більш складна модель включає взаємодію між нахилом лінії та групувальною змінною. Якщо коефіцієнт для цього терміну взаємодії суттєво відрізняється від нуля або співвідношення ANOVA / F вказує, що більш складна модель краще відповідає даних, тоді ми повинні відкинути гіпотезу Нуля про те, що дві прямі паралельні.
Ось приклад в R з використанням фіктивних даних. По-перше, дані з рівними нахилами:
set.seed(2)
samp <- factor(sample(rep(c("A","B"), each = 50)))
d1 <- data.frame(y = c(2,5)[as.numeric(samp)] + (0.5 * (1:100)) + rnorm(100),
x = 1:100,
g = samp)
m1 <- lm(y ~ x * g, data = d1)
m1.null <- lm(y ~ x + g, data = d1)
anova(m1.null, m1)
Що дає
> anova(m1.null, m1)
Analysis of Variance Table
Model 1: y ~ x + g
Model 2: y ~ x * g
Res.Df RSS Df Sum of Sq F Pr(>F)
1 97 122.29
2 96 122.13 1 0.15918 0.1251 0.7243
Вказуючи, що ми не можемо відкинути нульову гіпотезу рівних схилів у цій вибірці даних. Звичайно, ми хотіли б запевнити себе, що ми мали достатню потужність для виявлення різниці, якщо дійсно була така, щоб нас не призвели до помилкового відмови від нуля, оскільки розмір вибірки був занадто малим для очікуваного ефекту.
Тепер з різними схилами.
set.seed(42)
x <- seq(1, 100, by = 2)
d2 <- data.frame(y = c(2 + (0.5 * x) + rnorm(50),
5 + (1.5 * x) + rnorm(50)),
x = x,
g = rep(c("A","B"), each = 50))
m2 <- lm(y ~ x * g, data = d2)
m2.null <- lm(y ~ x + g, data = d2)
anova(m2.null, m2)
Що дає:
> anova(m2.null, m2)
Analysis of Variance Table
Model 1: y ~ x + g
Model 2: y ~ x * g
Res.Df RSS Df Sum of Sq F Pr(>F)
1 97 21132.0
2 96 103.8 1 21028 19439 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Тут ми маємо суттєві докази проти нульової гіпотези, і, таким чином, ми можемо відкинути її на користь альтернативи (іншими словами, ми відкидаємо гіпотезу про те, що нахили двох ліній рівні).
Умови взаємодії у двох встановлених мною моделях ( ) дають оціночну різницю укосів для двох груп. Для першої моделі оцінка різниці укосів невелика (~ 0,003)б3х g
> coef(m1)
(Intercept) x gB x:gB
2.100068977 0.500596394 2.659509181 0.002846393
і тест з цього приводу не зможе відкинути нульову гіпотезу, що ця різниця укосів дорівнює 0:т
> summary(m1)
Call:
lm(formula = y ~ x * g, data = d1)
Residuals:
Min 1Q Median 3Q Max
-2.32886 -0.81224 -0.01569 0.93010 2.29984
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.100069 0.334669 6.275 1.01e-08 ***
x 0.500596 0.005256 95.249 < 2e-16 ***
gB 2.659509 0.461191 5.767 9.82e-08 ***
x:gB 0.002846 0.008047 0.354 0.724
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.128 on 96 degrees of freedom
Multiple R-squared: 0.9941, Adjusted R-squared: 0.9939
F-statistic: 5347 on 3 and 96 DF, p-value: < 2.2e-16
Якщо ми звернемось до моделі, встановленої до другого набору даних, де ми зробили нахили для двох груп різними, ми побачимо, що розрахункова різниця у нахилах двох рядків становить ~ 1 одиниця.
> coef(m2)
(Intercept) x gB x:gB
2.3627432 0.4920317 2.8931074 1.0048653
Нахил для групи "А" становить ~ 0,49 ( x
у наведеному вище висновку), тоді як для отримання нахилу для групи "В" нам потрібно додати різницькі схили (задати терміном взаємодії запам'ятати) до схилу групи "А" ; ~ 0,49 + ~ 1 = ~ 1,49. Це досить близько до заявленого схилу для групи "В" 1,5. -test на цій різниці схилів також вказує , що оцінка різниці відокремлена від 0:т
> summary(m2)
Call:
lm(formula = y ~ x * g, data = d2)
Residuals:
Min 1Q Median 3Q Max
-3.1962 -0.5389 0.0373 0.6952 2.1072
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.362743 0.294220 8.031 2.45e-12 ***
x 0.492032 0.005096 96.547 < 2e-16 ***
gB 2.893107 0.416090 6.953 4.33e-10 ***
x:gB 1.004865 0.007207 139.424 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.04 on 96 degrees of freedom
Multiple R-squared: 0.9994, Adjusted R-squared: 0.9994
F-statistic: 5.362e+04 on 3 and 96 DF, p-value: < 2.2e-16