关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
5小时前关门了。
改进这个问题
我有两个Dataframe, df_treatment
以及 df_control
. 我想匹配 df_treatment
最接近的匹配 df_control
基于他们的倾向得分(已经计算)。
问题是,我发现的唯一方法是基于knn最近邻算法,但替换是一个元素 df_control
可能与中的多个元素匹配 df_treatment
.
我正试图找到一种方法,根据倾向性得分来匹配这两个数据集,以减少混淆偏差,但使用匹配方法而不进行替换,因为我必须将治疗组中的每个元素与其最接近的倾向性得分匹配,而对照组的元素只能与治疗组的一个元素匹配。
我试图用算法删除原始文件中的元素 df_control
一旦它们与治疗组中的一个元素匹配(并“移动”到 df_matched_control
),但我还没有找到解决这个问题的方法。
我检查了这两个笔记本的倾向性得分与python中的knn匹配,但我们都使用替换匹配:
https://nbviewer.jupyter.org/github/ethen8181/machine-learning/blob/master/ab_tests/causal_inference/matching.ipynb
https://github.com/konosp/propensity-score-matching/blob/main/propensity_score_matching_v2.ipynb
r包matchit有最近邻匹配解决了这个问题,但是我在python中找不到任何类似的东西。
暂无答案!
目前还没有任何答案,快来回答吧!