Поскольку описание в вопросе не соответствует данным, так как нет информации о поле, мы будем исходить из того, что мы хотим определить, совпадают ли тенденции незаконного и iv.
Сравнение трендов
Обратите внимание, что нет автокорреляции в отклоненных значениях iv
или illicit
, поэтому мы будем использовать обычные линейные модели.
iv <- c(0.4, 0.3, 0.4, 0.3, 0.2, 0.2)
illicit <- c(5.5, 5.7, 4.8, 4.7, 6.1, 5.3)
time <- 2011:2016
ar(resid(lm(iv ~ time)))
## Call:
## ar(x = resid(lm(iv ~ time)))
##
## Order selected 0 sigma^2 estimated as 0.0024
ar(resid(lm(illicit ~ time)))
## Call:
## ar(x = resid(lm(illicit ~ time)))
##
## Order selected 0 sigma^2 estimated as 0.287
Создать кадр данных 12x3 long
со столбцами time
, value
и ind
(iv
или illicit
). Затем запустите линейную модель с двумя уклонами, а другую - с одним уклоном. Оба имеют два перехвата. Затем сравните их, используя anova
. Очевидно, что они незначительно отличаются, поэтому мы не можем отвергнуть гипотезу о том, что склоны одинаковы.
wide <- data.frame(iv, illicit)
long <- cbind(time, stack(wide))
fm2 <- lm(values ~ ind/(time + 1) + 0, long)
fm1 <- lm(values ~ ind + time + 0, long)
anova(fm1, fm2)
, что дает:
Analysis of Variance Table
Model 1: values ~ ind + time + 0
Model 2: values ~ ind/(time + 1) + 0
Res.Df RSS Df Sum of Sq F Pr(>F)
1 9 1.4629
2 8 1.4469 1 0.016071 0.0889 0.7732
Сравнение модели с уклонами с моделью без уклонов
На самом деле склоны не имеют существенного значения, и мы не можем отвергнуть гипотезу о том, что оба склона равны нулю. Сравните с моделью с двумя перехватами без уклонов.
fm0 <- lm(values ~ ind + 0, long)
anova(fm0, fm2)
, дающей:
Analysis of Variance Table
Model 1: values ~ ind + 0
Model 2: values ~ ind/(time + 1) + 0
Res.Df RSS Df Sum of Sq F Pr(>F)
1 10 1.4750
2 8 1.4469 2 0.028143 0.0778 0.9258
или с пошаговой регрессией, мы обнаружим, что ее предпочтительной моделью является модель с двумя перехватами и без уклонов:
step(fm2)
давая:
Start: AIC=-17.39
values ~ ind/(time + 1) + 0
Df Sum of Sq RSS AIC
- ind:time 2 0.028143 1.4750 -21.155
<none> 1.4469 -17.386
Step: AIC=-21.15
values ~ ind - 1
Df Sum of Sq RSS AIC
<none> 1.475 -21.155
- ind 2 172.28 173.750 32.073
Call:
lm(formula = values ~ ind - 1, data = long)
Coefficients:
indiv indillicit
0.30 5.35
log преобразованные значения
Если мы используем log (значения), то мы аналогично не находим автокорреляции (не показано), но мы находим наклоны преобразованных логарифмических значений значительно различаются.
fm2log <- lm(log(values) ~ ind/(time + 1) + 0, long)
fm1log <- lm(log(values) ~ ind + time + 0, long)
anova(fm1log, fm2log)
, давая:
Analysis of Variance Table
Model 1: log(values) ~ ind + time + 0
Model 2: log(values) ~ ind/(time + 1) + 0
Res.Df RSS Df Sum of Sq F Pr(>F)
1 9 0.35898
2 8 0.18275 1 0.17622 7.7141 0.02402 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1