Understanding Propensity Score Matching I am trying to better understand the motivations and the applications behind Propensity Score Matching.
I read the following that explains the motivations behind Propensity Score Matching:

*

*Suppose you are want to conduct a study on the effectiveness of a certain pharmaceutical drug on Diabetes patients. However, all you have is "observational data" : you only have data on patients with diabetes that are currently taking this drug and patients who are not taking that drug.


*However, there might exist certain biases and reasons that explain which patients are more likely to be taking this drug. For example, this drug on average is prescribed to younger patients with Diabetes compared to older patients. Or this drug might not be covered by common insurance plans - therefore, patients earning over a certain income level are more likely to take this drug compared to patients earning under a certain income level. However, all this might be unknown to you at the time.


*Based on information within the data (i.e. covariates associated with each patient), Propensity Score Matching attempts to find "similar" patients taking this drug and their "counterparts" who are not taking the drug. Propensity Score Matching tries to predict the probability of the drug being prescribed to a individual patient within an observational study.


*As I understand, Propensity Score Matching will allow to "trim" the population so that there is "little difference" (i.e. variation) between the patients taking the drug vs the patients not taking the drugs. In other words, Propensity Score Matching tries to mitigate the problem of "comparing apples to oranges". Ideally, this would serve to reduce bias in the results of your study, ensuring that the groups of patients analyzed were as similar as possible.
The following picture illustrates Propensity Score Matching:

I was looking at the algorithm details of Propensity Score Matching - in short, it seems to contain 3 steps:
1) Run a Logistic Regression model to estimate the probability of a patient receiving the treatment vs not receiving the treatment.
2) Based on these Propensity Score Estimates, create pairs of patients from the treatment/non-treatment groups using some predefined method (e.g. KNN). (I am not sure why Propensity Score needs to be calculated for the matching - does the Propensity Score simply serve as a "diagnostic check" to ensure "balance" between both groups?)
3) Run your statistical models and analysis on these groups
My Question: In Step 1), is it necessary to use a Logistic Regression Model to estimate the Propensity Scores? In theory, could a Random Forest model be used to estimate these Propensity Scores - or is the interpretability of the Logistic Regression Model (i.e. effect and confidence intervals of each variable on the model) necessary for Propensity Score Estimation?
Thanks!
References:

*

*https://en.wikipedia.org/wiki/Propensity_score_matching

Due to the Propensity Score Theorem, the propensity score can serve as a dimension reduction - especially if you have many covariates, matching based on covariates is not easily feasible. The propensity score has the additional advantage of matching only on covariates that actually determine selection - in a standard matching on all covariates, each cocariate would receive the same attention whether or not they actually contributed to the selection bias.
The reason why logistic regression is chosen is because it yields unbiased estimates of the propensity score. You can use other ML techniques, but these require modification to remove biases (I recommend https://docs.doubleml.org/stable/guide/basics.html and the associated paper for background details)
