169 похожих чатов

Вопрос по difference-in-difference. did впервые применяю, программирования в седьмом классе

не было.
задача: оценить влияние тритмента (скидки) на переменную count. скидка действовала с 2020-11-02 по 2022-12-30, но только в 5:15-7:15 и 8:45-9:15 (это загнал в переменную time_action).
group1 — группа, на которую применялся тритмент, group2 — группа для сравнения (на ней тритмента не было); это загнал в переменную treated.
основная гипотеза в том, что скидка способствовала повышению count в период 5:15-7:45 и 8:45-9:15.

данные, код и саммари модели прикладываю

library(data.table)
library(tidyverse)


did_df <- fread('did_tkl.csv')


did_df <- mutate(did_df,
time_action = ifelse(did_df$date >= "2020-11-02" &
(did_df$time < '07:15:00' | did_df$time %in% c('08:45:00', '09:00:00')
), 1, 0),
treated = ifelse(group == "group1", 1, 0)
)

did_df_model <- lm(count ~ time_action + treated + time_action:treated, data = did_df)
summary(did_df_model)

Call:
lm(formula = count ~ time_action + treated + time_action:treated,
data = did_df)

Residuals:
Min 1Q Median 3Q Max
-13428 -4121 -782 3931 32527

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8726.38 39.12 223.07 <2e-16 ***
time_action -3797.87 86.84 -43.73 <2e-16 ***
treated 4702.67 55.31 85.02 <2e-16 ***
time_action:treated -2421.87 122.83 -19.72 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5871 on 56523 degrees of freedom
Multiple R-squared: 0.2021, Adjusted R-squared: 0.202
F-statistic: 4772 on 3 and 56523 DF, p-value: < 2.2e-16

вопросы:
как интерпретировать полученные в модели результаты? адекватная ли модель получилась? как можно улучшить ее?

насколько я понял по саммари, p-value значимый (это хорошо), time_action:treated отрицательный - это значит, что во время скидки count уменьшается, R-квадрат очень низкий (это плохо, т.к. модель объясняет только 20% наблюдений). или все не так понял?
делал по тутору отсюда. буду благодарен за ссылки на полезный материал по теме.

18 ответов

14 просмотров

Такс а зачем дид если вы знаете когда эффект произошел и его не надо эстимейтить

У меня такая картинка получается. Но тут топором и паяльником. @all ! Может кто более сведущий в таких штуках подскажет?

Семён 🐍- Автор вопроса
Ілія Малекі
Такс а зачем дид если вы знаете когда эффект произ...

т.е. дид не подходит к моей задаче? про сравнение булевой переменной не понял

Семён 🐍- Автор вопроса
Семён 🐍
а что на картинке происходит?

https://acclab.github.io/robust-statistical-visualization.html

я честно говоря не понял постановки. Есть периоды скидок. Клиенты которые приходили вне периодов - на них скидка не повлияла. Есть контрольные и тестовые группы. Вопросы - Вопрос на который надо ответить - "приводит ли скидка к увеличению количества клиентов?" - В чем идея рассматривать весь период, а не только окна, когда было воздействие?

Семён 🐍
а что на картинке происходит?

По мне, так это просто сравнение двух несвязанных групп. Выкинул мусор и побутсрапил. Объяснение в виде картинки доходчиво для менеджера любого ранга и в этом плюс решения. library(tidyverse) library(hms) library(dabestr) did_df <- here::here("data", "stat_test", "did_tkl.csv") %>% read_csv() df <- did_df %>% filter(date >= as.Date("2020-11-02")) %>% filter(time < hms("07:15:00") | time %in% c(hms("08:45:00"), hms("09:00:00"))) %>% mutate(group = if_else(group == "group1", "Treated", "Control")) two.group.unpaired <- df %>% dabest(group, count, idx = c("Control", "Treated"), paired = FALSE) two.group.unpaired.meandiff <- mean_diff(two.group.unpaired) two.group.unpaired.meandiff plot(two.group.unpaired.meandiff)

Семён 🐍- Автор вопроса
Ivan Struzhkov
я честно говоря не понял постановки. Есть периоды...

возможно, рассматривать весь период не имеет смысла. просто мне кажется, что некоторые клиенты будут приходить в то время, когда скидки нет, но из-за плохой информированности или других факторов будут думать, что она есть

Семён 🐍
возможно, рассматривать весь период не имеет смысл...

так это вопрос разведочного анализа. Приходят ли клиенты, сколько их таких, влияет ли это на модель

Семён 🐍
возможно, рассматривать весь период не имеет смысл...

Постройте такую же линейную регрессию, но на самой серии, а не на диде, и докиньте туда t, чтобы вычесть линейный тренд на всякий пожарный

Семён 🐍- Автор вопроса
Ilya Shutov
По мне, так это просто сравнение двух несвязанных ...

это не для менеджера, а для диплома, и комиссии (и самому себе, конечно) нужно как-то объяснить эту картинку ещё)

Придумать разные теории для объяснения даже противоположных результатов — легко. За кадром осталось 99% мотивации покупателей. Главное понимать, что хочешь доказать. Напустить мутности и недоговоренности. И изрядно справить картинками. Это исследование — не математика и не физика. Это "журналистика" для выбивания бюджетов / отчетов о правильности финансирования.

Hi, not at the computer. This is what I would do

Vitalijs
Не согласен =(

Я только мнение высказал. На действия покупателей я смотрел долго и много. Экзерсизы всякие бывают, мотивация иногда за кадром остается.

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
I just installed it but how do I use it?
Talula
12
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
Good afternoon, I just started learning php in conjunction with mysql. I am registering a system on a local Mamp server using phpMyAdmin. It seems to be stored normally in the...
ManGo
1
Карта сайта