由于问题中的描述与数据不匹配,因为没有关于性别的信息,我们将假设我们想要确定非法和 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(values),我们同样找不到自相关(未显示),但我们确实发现 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