переменную count. тритмент произошел с 2020-11-02 по 2022-12-30, но действовал только в 5:15-7:15 и 8:45-9:15.
основная гипотеза в том, что скидка способствовала повышению count в период 5:15-7:45 и 8:45-9:15.
данные, код и саммари модели прикладываю, group1 — группа, на которую применялся тритмент, group2 — группа для сравнения (на ней тритмента не было).
library(data.table)
library(tidyverse)
df = fread('did_df.csv')
did_df <- mutate(df,
time = ifelse(df$interval_start >= "2020-11-02 05:15:00", 1, 0),
treated = ifelse(group == "group1", 1, 0)
)
did_model <- lm(count ~ time + treated + time:treated, data = did_df)
summary(did_model)
Call:
lm(formula = count ~ time + treated + time:treated, data = did_df)
Residuals:
Min 1Q Median 3Q Max
-14085 -4220 -608 3939 31870
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8557.49 48.25 177.36 <2e-16 ***
time -1341.47 72.04 -18.62 <2e-16 ***
treated 5528.30 68.22 81.04 <2e-16 ***
time:treated -2936.00 101.88 -28.82 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6023 on 56523 degrees of freedom
Multiple R-squared: 0.1602, Adjusted R-squared: 0.1602
F-statistic: 3595 on 3 and 56523 DF, p-value: < 2.2e-16
вопросы:
1) если тритмент действует не весь день, а только в указанное время, то как нужно обозначать его для модели: для всего периода действия (т.е. условно в 8:00 тритмент тоже будет 1), или только то время, когда он реально работает?
2) как интерпретировать полученные в модели результаты? делал по тутору отсюда, но до конца не понял, что в итоге получилось.
буду благодарен за ссылки на полезный материал по теме. did впервые применяю.
Суббота, лень вникать ;) спросил чатгпт:
Обсуждают сегодня