Я использую великолепный пакет sensemakr
в R (Чинелли К., Ферверда Дж. и Хазлетт К. (2020). «sensemakr: Инструменты анализа чувствительности для OLS в R и Stata.») для проведения анализа чувствительности на серия моделей. У меня есть две модели, подобные следующим:
library(fixest)
library(sensemakr)
model1 <- lm(data = mtcars, mpg ~ vs + cyl + qsec + factor(hp))
model2 <- feols(data = mtcars, fml = mpg ~ vs + cyl + qsec | hp)
Одна модель использует базовую lm
регрессию, другая fixest
для эффективного расчета нескольких фиксированных эффектов.
sensemakr(model = model1,
treatment = "vs",
benchmark = "cyl",
kd = 0.5)
sensemakr(model = model2,
treatment = "vs",
benchmark = "cyl",
kd = 0.5)
Первая функция sensemaker
работает нормально, но вторая не работает со следующей ошибкой:
Error in UseMethod("sensemakr") :
no applicable method for 'sensemakr' applied to an object of class "fixest"
Ошибка мне очевидна, поэтому, если объекты fixest
нельзя использовать, я понимаю. Однако я нашел документацию пакета, в которой предполагается, что его можно использовать с самыми фиксированными объектами, например, здесь и здесь.
Можно ли использовать sensemakr
для feols
моделей? Была ли эта возможность утрачена? Или функции нужно каким-то образом изменить, чтобы объект fixest
работал с ними? Нужно ли мне изменить аргументы функции sensemakr
?
Похоже, что обработка моделей феолов — это новая функция, которую реализуют авторы (не в версии CRAN «v0.1.4»). Я попытался установить «версию для разработки», но столкнулся с ошибкой при запуске вашего примера, поэтому я разветвил репозиторий GitHub и внес незначительные изменения (вы можете увидеть изменения по адресу https://github.com/jpmam1/sensemakr).). Если вы установите эту версию, пакет будет обрабатывать модели feols так, как предполагалось/ожидалось:
# install.packages("fixest")
library(fixest)
devtools::install_github("jpmam1/sensemakr")
#> Downloading GitHub repo jpmam1/sensemakr@HEAD
#> ── R CMD build ─────────────────────────────────────────────────────────────────
#> * checking for file ‘/private/var/folders/gf/3p_ynkts411bs238rtw3y0b40000gn/T/RtmpsM5Zl2/remotes53d5525b31/jpmam1-sensemakr-47f9fe5/DESCRIPTION’ ... OK
#> * preparing ‘sensemakr’:
#> * checking DESCRIPTION meta-information ... OK
#> * checking for LF line-endings in source and make files and shell scripts
#> * checking for empty or unneeded directories
#> * building ‘sensemakr_0.1.5.tar.gz’
library(sensemakr)
#> See details in:
#> Carlos Cinelli and Chad Hazlett (2020). Making Sense of Sensitivity: Extending Omitted Variable Bias. Journal of the Royal Statistical Society, Series B (Statistical Methodology).
model1 <- lm(data = mtcars, mpg ~ vs + cyl + qsec + factor(hp))
model2 <- feols(data = mtcars, fml = mpg ~ vs + cyl + qsec | hp)
sensemakr(model = model1,
treatment = "vs",
benchmark = "cyl",
kd = 0.5)
#> Sensitivity Analysis to Unobserved Confounding
#>
#> Model Formula: mpg ~ vs + cyl + qsec + factor(hp)
#>
#> Null hypothesis: q = 1 and reduce = TRUE
#>
#> Unadjusted Estimates of ' vs ':
#> Coef. estimate: -1.86687
#> Standard Error: 4.7876
#> t-value: -0.38994
#>
#> Sensitivity Statistics:
#> Partial R2 of treatment with outcome: 0.02126
#> Robustness Value, q = 1 : 0.13692
#> Robustness Value, q = 1 alpha = 0.05 : 0
#>
#> For more information, check summary.
sensemakr(model = model2,
treatment = "vs",
benchmark = "cyl",
kd = 0.5)
#> Note for fixest: using 'iid' standard errors. Support for robust standard errors coming soon.
#> Sensitivity Analysis to Unobserved Confounding
#>
#> Model Formula: mpg ~ vs + cyl + qsec | hp
#>
#> Null hypothesis: q = 1 and reduce = TRUE
#>
#> Unadjusted Estimates of ' vs ':
#> Coef. estimate: -1.86687
#> Standard Error: 4.7876
#> t-value: -0.38994
#>
#> Sensitivity Statistics:
#> Partial R2 of treatment with outcome: 0.02126
#> Robustness Value, q = 1 : 0.13692
#> Robustness Value, q = 1 alpha = 0.05 : 0
#>
#> For more information, check summary.
Created on 2024-04-22 with reprex v2.1.0
Примечание «Скоро появится поддержка надежных стандартных ошибок». предполагает, что авторы еще работают над этим; предположительно поддержка моделей feols будет включена в следующую версию CRAN.
Замечательно, большое спасибо, что нашли время изучить и внести изменения, не меньше! Надеемся, что скоро появятся надежные стандартные ошибки! Еще раз спасибо!