Я пытаюсь использовать MatchIt
для выполнения сопоставления оценок склонности (PSM) для данных моей панели. Данные представляют собой панельные данные, содержащие многолетние наблюдения одной и той же группы компаний.
Данные в основном описывают список данных по облигациям и финансовые данные их эмитентов, а также условия облигаций, такие как дата выпуска, купонная ставка, срок погашения и тип облигаций, выпущенных ими. Например:
Firmnames | Year | ROA | Bond_type |
---|---|---|---|
AAPL US Equity | 2015 | 0.3 | 0 |
AAPL US Equity | 2015 | 0.3 | 1 |
AAPL US Equity | 2016 | 0.3 | 0 |
AAPL US Equity | 2017 | 0.3 | 0 |
C US Equity | 2015 | 0.3 | 0 |
C US Equity | 2016 | 0.3 | 0 |
C US Equity | 2017 | 0.3 | 0 |
......
Я уже знал, как сопоставлять наблюдения по нужным мне критериям, и использую exact = Year
, чтобы убедиться, что я сопоставляю наблюдения того же года. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что наблюдения одних и тех же компаний будут совпадать, это не то, что я хочу. Код, который я использовал:
matchit(Bond_type ~ Year + Amount_Issued + Cpn + Total_Assets_bf + AssetsEquityRatio_bf + Asset_Turnover_bf, data = rdata, method = "nearest", distance = "glm", exact = "Year")
Однако, как вы можете видеть, во втором ряду моей выборки могут быть два наблюдения за один год от одних и тех же компаний из-за характера моего исследования (компания может выпускать облигации более одного раза в год). Единственное различие между ними - это Bond_type. Следовательно, функция MathcIt
, конечно же, будет рассматривать их как лучшую контрольную группу и группу лечения и сопоставлять эти два наблюдения вместе, поскольку они имеют одинаковый ROA и другие факторы сопоставления в этом году.
На мой взгляд, у меня есть два способа решить эту проблему:
Удалите наблюдения того же года и компании, однако удаление наблюдений может привести к смещению результатов и испортить исследование.
Функция предотвращения
MatchIt
совпадения наблюдений от той же компании (или с той жеFrimnames
)
Второй подход будет лучше, поскольку он не приведет к предвзятости, однако я не знаю, смогу ли я сделать это в функции MatchIt
. Надеюсь, кто-нибудь может дать мне совет по этому поводу или, может быть, есть лучшее решение этой проблемы, пожалуйста, будьте любезны, поделитесь со мной, заранее спасибо!
Примечание. Если есть дополнительная информация или требования, которые я должен предоставить, просто сообщите мне. Я впервые здесь задаю вопрос!