Closed mengcz13 closed 1 year ago
Thank you for your interest in our work! This is amazing to hear that you tried to reproduce our results.
I think, that such a discrepancy between reported and reproduced results is to be expected and comes from several sources:
In general, the full CT was more useful for high-dimensional benchmarks, e.g., the semi-supervised one. I hope you will find this information helpful.
I found this paper an exciting work in treatment effect estimation over time! But I have encountered some difficulties while attempting to reproduce your reported results of CT(alpha=0) and CT in Figure 2 and Table 9-11. I was wondering if you could kindly provide some guidance or clarification on the methodology or data used in the paper. I am interested in reproducing them since these results are critical to deciding whether the balanced representation is really necessary for CausalTransformer.
As the released code (https://github.com/Valentyn1997/CausalTransformer) did not provide instructions for running experiments with CT(alpha=0), I ran experiments using my own fork, which can be found at https://github.com/mengcz13/CausalTransformer. (You can confirm that my only commit was to add configuration files and scripts for running experiments with CT(alpha=0) and random trajectories.) However, I encountered some difficulties in reproducing the normalized RMSEs reported for CT(alpha=0) and CT with the tumor cancer simulation data (gamma=4) in a stable manner.
I obtained my results on two different servers, one equipped with GTX 1080 Ti and the other with RTX 2080 Ti. However, both servers had identical software setups (Python 3.9, PyTorch 1.12.1, and CUDA 11.3).
Single Sliding
The reported normalized RMSEs of CT(alpha=0) and CT with gamma=4 on the tumor cancer simulation, using a single sliding setting, are as follows:
I attempted to reproduce these values using the following commands:
Although the results I obtained were similar to the reported values, I noticed a discrepancy in the relationship between CT(alpha=0) and CT. Contrary to the findings in the paper, CT(alpha=0) outperformed CT in the counterfactual predictions for all steps. This suggests that the balanced representation may actually impair multi-step counterfactual prediction in the single sliding setting.
Random Trajectories
I also noticed unstable behavior of the results when using the random trajectories setting. Below is a table of the reported normalized RMSEs of CT(alpha=0) and CT on the tumor cancer simulation with gamma=4:
These are the results I obtained when I used the following commands to reproduce the results with the random trajectories setting:
And the results are listed in the following table:
Notably, the difference between CT(alpha=0) and CT in the 5/6-step prediction was only around 0.03, which is lower than the reported difference of 0.07. Moreover, this difference is closer to the reported difference in the single sliding setting, rather than the random trajectories setting.
I should also note that when I ran the same commands on a different server, I obtained contradictory results again. This inconsistency further supports the notion that the results are not very stable.
Again, the CT(alpha=0) performs better than CT in the counterfactual predictions of all steps, which is contradictory to the reported results.
Given the inconsistency I observed in my attempts to reproduce the reported results, I am wondering if there is a way to stably demonstrate the benefit of balanced representation from counterfactual domain confusion (i.e., the complete CT) over the variant without it (i.e., the CT(alpha=0)). The difference I obtained between the two models was very subtle and prone to variance from sources such as hardware or non-deterministic operations in the GPU.
In your opinion, is this to be expected, or are there any hints or insights you could offer on how to obtain stable results that demonstrate the advantage of having balanced representation in CausalTransformer? Thank you in advance for your help.