Releases: sb-ai-lab/HypEx
v1.0.3
What's Changed
- Fixed readthedocs by @tikhomirovd in #177
- Update README.md by @tikhomirovd in #176
- Feature/new annotations by @tikhomirovd in #178
- Fast architecture schemes by @Dmatryus in #186
- AAn test added by @TonyKatkov89 in #197
- CUPAC added by @anathema-git
- Min_sample_size added by @anastasiiafed24
- Custom weights added to matching by @TonyKatkov89
- Category feature encoding by @TonyKatkov89
- ATT and ATC on-sided estimation removed @TonyKatkov89
Full Changelog: v1.0.2...v1.0.3
v1.0.2
What's Changed
- AA-test bug with category features fixed, params experiment added by @anastasiiafed24 in #161
- Perfomance test made for AA-test by @anastasiiafed24 in #163
- AA-test speed drastically improved by @Dmatryus in #162
- Tutorial updated and data generator fixed by @anathema-git in #167
- KS-test fix by @anastasiiafed24 in #169
- Matching for constant features fixed by @anastasiiafed24 in #170
- n neighbors matching added by @Dmatryus in #172
- Resume format and tutorials updated by @anathema-git in #171
- Welch T-test added for unequal groups testing by @TonyKatkov89 in #168
New Contributors
- @anastasiiafed24 made their first contribution in #161
Full Changelog: v1.0.1...v1.0.2
v1.0.1
What's Changed
- GitHub CI Improvements & Code Cleanup by @tikhomirovd in #152
- fixed tests by @tikhomirovd in #153
- ConstGroupRole restored by @TonyKatkov89 in #157
- feature: faiss_mode selector added by @TonyKatkov89 in #158
Full Changelog: v1.0.0...v1.0.1
v1.0.0
🚀 HypEx 1.0.0: Major Architecture Overhaul!
🎉 What's New in v1.0.0?
We are excited to introduce HypEx 1.0.0, a major release featuring a complete architectural redesign that brings significant performance improvements and developer-friendly enhancements.
🛠 Key Changes
- New Architecture:
- The entire library has been restructured for better modularity and maintainability.
- More intuitive API and streamlined imports.
- Faster Execution:
- Optimized core algorithms result in significantly faster computations.
- Reduced overhead for large-scale A/B testing and causal inference.
- Memory Leak Fixes:
- Several optimizations to prevent memory leaks, ensuring more stable long-running operations.
- Easier Contributions:
- Improved development environment and clearer contribution guidelines.
- Streamlined code structure for easier onboarding of new contributors.
- New Examples & Tutorials:
- Access the latest examples showcasing best practices: View Examples
🧪 Upgrade Now
Get the latest version of HypEx with:
pip install --upgrade hypex📚 Learn More & Get Support
- 📖 Documentation: HypEx Docs
- 📑 New Examples: Explore Tutorials
- 💬 Community Support: Join Our Telegram Chat
💡 Feedback & Contributions
We value your input! Whether you’re a user or developer, we welcome your feedback and contributions. Join the community and help make HypEx even better!
Thanks for your support, and happy experimenting with HypEx 1.0.0! 🚀
v0.1.10
🚀 HypEx Update: Warnings & AA Test Bug Fix
🔥 What's New?
This release includes important updates to improve user experience and stability.
🛠 Key Changes
- Deprecation Warning Added:
- HypEx now displays a warning about upcoming major API changes.
- The warning appears in both English and Russian.
- Users are encouraged to check out the latest tutorials for the upcoming transition.
- Bug Fix in AA Testing:
- Fixed an issue in
AATestwhere incorrect variance calculations were affecting results. - This fix ensures more reliable statistical validation for A/A tests.
- Fixed an issue in
🧪 Try the Latest Version
You can upgrade to the latest version of HypEx with:
pip install --upgrade hypex📚 Learn More
- 📖 Documentation: HypEx Docs
- 💬 Community Support: Join Our Telegram Chat
💡 Feedback
We value your input! If you have any questions, feature requests, or issues, feel free to reach out via Telegram or open an issue on GitHub.
Thanks for your support and happy experimenting with HypEx! 🚀
v0.1.5
HypEx v0.1.5 Release Notes
We are excited to introduce new features in HypEx v0.1.4 that enhance both matching performance and A/B testing capabilities.
New Features
Algorithm Selection for Matching
- Choose Your Algorithm:
-
Users can now select the algorithm used for matching by specifying the desired option during initialization.
-
To prioritize speed over accuracy, simply set
algo='fast'when initializing HypEx:from hypex import Matcher hypes = Matcher(...., algo='fast')
-
This feature allows users to tailor the performance according to their specific needs, balancing between speed and precision.
-
Enhanced A/A Testing with Group Splitting
- Custom Group Ratios:
- We've added the capability to split participants into multiple groups with custom ratios, enabling more flexible and precise A/A testing scenarios.
- This feature provides greater control over test design, allowing for diverse experimental setups.
Documentation and Tutorials
- For detailed instructions and examples on how to use these new features, please refer to the tutorials section in our documentation.
v0.1.4
HypEx v0.1.4 Release
We are thrilled to announce the release of HypEx v0.1.4! This update brings significant improvements in matching speed, especially when dealing with large datasets.
Key Features and Improvements
-
Enhanced Matching Performance:
- We have optimized the matching process, achieving a performance boost by an order of magnitude. This enhancement will be particularly beneficial for datasets exceeding one million entries.
-
Introduction of FAISS Algorithm:
- For datasets larger than one million entries, we've implemented the FAISS algorithm. FAISS (Facebook AI Similarity Search) provides a substantial increase in speed by using efficient nearest neighbor search techniques.
-
Trade-offs:
- Speed vs. Accuracy: The new algorithm improves speed but slightly compromises on accuracy and reproducibility. This is because FAISS first performs random clustering before searching for nearest neighbors, which leads to faster results compared to the exhaustive search used in previous versions.
Benefits
-
Faster Processing: Users with large-scale data can now experience significantly reduced computation times, enabling faster data processing and analysis.
-
Scalability: The adoption of FAISS makes HypEx more scalable, allowing users to work with larger datasets efficiently.
Potential Considerations
-
Accuracy: While the speed improvements are substantial, users should be aware of the trade-off in accuracy. In scenarios where precise matching is crucial, users might want to evaluate the results to ensure they meet their needs.
-
Reproducibility: Due to the nature of the FAISS algorithm, results may vary slightly between runs. Users should consider this when reproducibility is critical.
v0.1.3
HypEx Release Notes - Version 0.1.3
We are excited to announce the release of HypEx version 0.1.3! This update brings several new features and improvements that enhance the functionality and usability of the library. Below is a detailed list of the changes in this release:
New Features
Chi-Squared Test for Categorical Variables in AA Tests
We have added support for the chi-squared test for categorical variables in AA tests. This addition allows for more comprehensive analysis of categorical data, improving the robustness of your causal inference results.
Permutation Test for Matching
Introducing the permutation test for matching problems. This feature enables you to perform non-parametric hypothesis tests, enhancing the accuracy and reliability of your matching analyses.
AB Testing on Unbalanced Samples
Our new functionality allows you to conduct AB tests on unbalanced samples. This update ensures that you can handle real-world data more effectively, providing more reliable insights even when your sample groups are not perfectly balanced.
Matching Without Replacement
We have added the option to perform matching without replacement. This method reduces bias and variance in your matched samples, leading to more accurate causal inference results.
Conclusion
We believe these updates will significantly improve your experience with HypEx, providing more powerful and flexible tools for causal inference. We look forward to your feedback and are committed to continuously enhancing the capabilities of HypEx.
Thank you for your continued support and contributions!
The HypEx Team
What's Changed
- [HEI-253] Feature/permutationg test validation by @tikhomirovd in #91
- [HEI-252] Feature/unbalanced ab by @tikhomirovd in #90
- Feature/release 013 by @tikhomirovd in #92
Full Changelog: v0.1.2...v0.1.3
v0.1.2
HypEx Release 0.1.2
We are thrilled to announce the release of HypEx 0.1.2. This release introduces significant statistical and data generation functionalities to enhance your analysis capabilities. Below are the major updates included in this release:
New Features
Statistical Analysis Enhancements
- Chi-Squared Test in AATest: We have added a chi-squared test to the
AATestclass, enhancing our toolkit's capabilities to handle categorical data analysis. - Unbalanced Groups Analysis:
- Non-Binomial Data Handling: Introduced the
__mde_unbalanced_non_binomialmethod, which calculates the Minimum Detectable Effect (MDE) for non-binomial data based on standard deviation and group sizes. - Binomial Data Handling: Added the
__mde_unbalanced_binomialmethod, enabling MDE computation for binomial data using Cohen's d and factual conversion rates. - Public Interface for MDE Calculation: Launched
calc_mde_unbalanced_group, a comprehensive method that determines MDE based on data type (binomial or non-binomial), providing a straightforward interface for users. - Сombine all this in one interfece: One function for all calculation
calc_mde
- Non-Binomial Data Handling: Introduced the
Data Generation for Simulation and Testing
- Enhanced Dataset Generation in
dataset.py:- Medicine Data Simulation:
gen_special_medicine_dffunction now allows for the generation of synthetic datasets that simulate medical treatment scenarios. - Oracle and Control Variates Datasets: Introduced
gen_oracle_dfandgen_control_variates_dfmethods to create complex synthetic datasets. These functions support extensive scenarios for testing and developing data analysis methods within the HypEx framework.
- Medicine Data Simulation:
Documentation and Development
- Integrated detailed docstrings for all new methods, improving code maintainability and easing future enhancements.
This release marks a significant improvement in HypEx's capabilities, providing robust tools for both analytical and simulation tasks. These enhancements not only broaden the scope of applicable use cases but also improve the ease and accuracy of statistical tests and data handling within the HypEx environment.
For more details on using these new features, please refer to the updated documentation and example notebooks included in the release.
We thank our community for their continued support and feedback, which are invaluable to the ongoing development and refinement of HypEx.
Happy analyzing!
v0.1.1
HypEx Release 0.1.1 Summary
We're excited to announce the release of HypEx 0.1.1, which includes a range of updates aimed at improving functionality, enhancing usability, and fixing known issues. Here's what's new:
New Features and Enhancements
-
Added Support for Python 3.11 and 3.12: Ensuring HypEx remains compatible with the latest Python versions, we've tested and adjusted HypEx to work seamlessly with Python 3.11 and 3.12.
-
Enhancements to
group_colHandling: Improved the flexibility and accuracy ofgroup_colparameter handling within HypEx, allowing for more robust operation in sorting, null-value handling, and group concatenation. -
Introduction of
fill_gapsParameter: A new feature in the Matcher class that automatically fills NaN values in categorical columns used for grouping, streamlining data preparation. -
New
max_categoriesParameter: This update introduces a limit to the number of categories a column can have before being excluded from conversion into dummy variables, preventing memory issues with high-cardinality columns. -
Performance Optimization in
abn_test: Addressed performance issues and corrected a bug in the formula used for determining hypotheses outcomes, enhancing execution efficiency and accuracy. -
Documentation Update - Code of Conduct: Added a Code of Conduct to our repository to outline expectations for behavior and provide a process for handling misconduct, fostering a more inclusive and respectful community.
-
Moved
limit_distributiontoabn_test -
Removed multitarget in
Matcherandvalidate_resultinMatcherdue to mathematical reason. Return it back later.
Bug Fixes
-
Fixed
group_colList Handling: Addressed an issue wheregroup_colas a list was not functioning correctly, ensuring proper operation across various use cases. -
Speed and Hypothesis Selection in
limit_distribution: Optimized the function to reduce execution time and fixed a bug in hypothesis selection, ensuring reliable outcomes.
Documentation and Community
-
Enhanced Documentation: Updated documentation to reflect new features, parameter introductions, and usage examples, making it easier for users to get started and utilize HypEx effectively.
-
Community Engagement: Encouraged community feedback and contributions by clarifying contribution guidelines and promoting an open, collaborative environment.
This release represents a significant effort from the HypEx team to address user feedback, improve the library's functionality, and ensure it meets the community's needs. We thank our contributors for their invaluable input and look forward to continuing to develop HypEx together.