You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/acknowledgements.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,10 @@ Like many open-source software projects, PyFixest builds on work and ideas first
5
5
# Software
6
6
7
7
> Unless explicitly stated otherwise, all PyFixest code is written independently from scratch. The packages listed below have influenced PyFixest's API design or algorithmic choices, or are used for testing PyFixest as reference implementations, but no source code has been copied except where explicitly stated (with license and permission details provided inline).
8
+
8
9
## fixest (R)
9
10
10
-
If open source software is made by "standing on the shoulders of giants", in case of `PyFixest`, there is mostly one very big giant - [Laurent Bergé's](https://sites.google.com/site/laurentrberge/) formidable [fixest](https://github.com/lrberge/fixest/) R package. `fixest` is so good we decided to stick to its API and conventions as closely as Python allows when starting to work on a fixed effects regression package in Python. Without `fixest`, PyFixest likely wouldn't exist - or at the very least, it would look very different. Most importantly, `fixest` has shaped our understanding of what a user-friendly regression package should look like and what functionality it should offer.
11
+
If open source software is made by "standing on the shoulders of giants", in case of `PyFixest`, there is mostly one very big giant - [Laurent Bergé's](https://sites.google.com/site/laurentrberge/) formidable [fixest](https://github.com/lrberge/fixest/) R package. `fixest` is so good we decided to stick to its API and conventions as closely as Python allows when starting to work on a fixed effects regression package in Python. Without `fixest`, PyFixest likely wouldn't exist - or at the very least, it would look very different. Most importantly, `fixest` has shaped our understanding of how a user-friendly regression package should look like and what functionality it should offer.
11
12
12
13
More concretely, we have borrowed the following API conventions and ideas directly from fixest:
13
14
@@ -22,7 +23,7 @@ More concretely, we have borrowed the following API conventions and ideas direct
22
23
|**On the fly variance covariance adjustments**| As in `fixest`, you can adjust the vcov post estimation by calling a `vcov()` method on the results object (`Feols` in pyfixest and `fixest` in `fixest`) |
23
24
|**Predict method for fixed effects**| The `predict()` and `fixef()` methods in PyFixest mirrors fixest's functionality for obtaining fitted values, fixed effects, and linear predictions |
24
25
25
-
You can learn more about fixest [on github](https://github.com/lrberge/fixest), via its [documentation](https://lrberge.github.io/fixest/), or by reading the [associated paper](https://arxiv.org/abs/2601.21749).
26
+
You can learn more about fixest [on github](https://github.com/lrberge/fixest), via its [documentation](https://lrberge.github.io/fixest/), or by reading the [associated paper](https://arxiv.org/abs/2601.21749).
26
27
27
28
PyFixest is tested against fixest via **rpy2** to ensure numerical equivalence
28
29
(usually `rtol = 1e-08`, `atol = 1e-08`) for coefficients,
@@ -55,7 +56,7 @@ standard errors, t-statistics, p-values, confidence intervals, etc for OLS, IV,
55
56
56
57
| Package | Language | Role |
57
58
|---|---|---|
58
-
|[**did2s**](https://github.com/kylebutts/did2s)| R | PyFixest's DID2S estimator's API is strongly inspired by Kyle Butts' R package (MIT license) and we have relied on Kyle's writeup of the method for our own implementation. Tests compare coefficients and standard errors against the R implementation |
59
+
|[**did2s**](https://github.com/kylebutts/did2s)| R | PyFixest's DID2S estimator's API is strongly inspired by Kyle Butts' R package (MIT license) and we have relied on Kyle's writeup of the method for our own implementation. Tests compare coefficients and standard errors against the R implementation. Additionally, PyFixest's `event_study()` function is inspired by the [`event_study()` function](https://kylebutts.github.io/did2s/articles/event_study.html) in `did2s`. |
59
60
|[**lpdid**](https://github.com/alexCardazzi/lpdid)| R | PyFixest's local-projections DID estimator is highly influenced by Alex Cardazzi's R code (published under MIT) for the lpdid package. We also test against Alex' package. |
60
61
|[**lpdid**](https://github.com/danielegirardi/lpdid)| Stata | We also test our implementation against Daniel Busch and Daniele Girardi's Stata implementation of the local-projections estimator. |
0 commit comments