Skip to content

Commit bc1875e

Browse files
committed
v1.2.3 fixes Apple Silicon deps
1 parent 61fd763 commit bc1875e

File tree

8 files changed

+2172
-27
lines changed

8 files changed

+2172
-27
lines changed

MIDASpy.egg-info/PKG-INFO

Lines changed: 149 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
Metadata-Version: 2.1
22
Name: MIDASpy
3-
Version: 1.2.2
3+
Version: 1.2.3
44
Summary: Multiple Imputation with Denoising Autoencoders
55
Home-page: http://github.com/MIDASverse/MIDASpy
6-
Download-URL: https://github.com/MIDASverse/MIDASpy/archive/v1.2.1.tar.gz
6+
Download-URL: https://github.com/MIDASverse/MIDASpy/archive/v1.2.3.tar.gz
77
Author: Ranjit Lall, Alex Stenlake, and Thomas Robinson
88
Author-email: [email protected]
99
License: Apache
@@ -16,4 +16,151 @@ Classifier: Programming Language :: Python :: 3
1616
Classifier: Programming Language :: Python :: 3.5
1717
Classifier: Programming Language :: Python :: 3.6
1818
Classifier: Programming Language :: Python :: 3.7
19+
Description-Content-Type: text/markdown
1920
License-File: LICENSE.txt
21+
22+
23+
# MIDASpy<img src='MIDASpy_logo.png' align="right" height="139" /></a>
24+
25+
## Overview
26+
27+
**MIDASpy** is a Python package for multiply imputing missing data using
28+
deep learning methods. The **MIDASpy** algorithm offers significant
29+
accuracy and efficiency advantages over other multiple imputation
30+
strategies, particularly when applied to large datasets with complex
31+
features. In addition to implementing the algorithm, the package contains
32+
functions for processing data before and after model training, running
33+
imputation model diagnostics, generating multiple completed datasets,
34+
and estimating regression models on these datasets.
35+
36+
For an implementation in R, see our **rMIDAS** repository
37+
[here](https://github.com/MIDASverse/rMIDAS).
38+
39+
## Background and suggested citation
40+
41+
For more information on MIDAS, the method underlying the software, see:
42+
43+
Lall, Ranjit, and Thomas Robinson. 2022. "The MIDAS Touch: Accurate and Scalable Missing-Data Imputation with Deep Learning." _Political Analysis_ 30, no. 2: 179-196. https://doi.org/10.1017/pan.2020.49.
44+
45+
An ungated version of the paper is available [here](http://eprints.lse.ac.uk/108170/1/Lall_Robinson_PA_Forthcoming.pdf).
46+
47+
## Installation
48+
49+
To install via pip, enter the following command into the terminal:
50+
`pip install MIDASpy`
51+
52+
The latest development version (potentially unstable) can be installed
53+
via the terminal with: `pip install
54+
git+https://github.com/MIDASverse/MIDASpy.git`
55+
56+
MIDAS requires:
57+
58+
- Python (\>=3.5; \<3.9)
59+
- Numpy (\>=1.5)
60+
- Pandas (\>=0.19)
61+
- Tensorflow (\>= 1.10) – **TensorFlow\>=2.2 now fully supported**
62+
- Matplotlib
63+
- Statmodels
64+
- Scipy
65+
- TensorFlow Addons (\>=0.11 if using Tensorflow \>= 2.2)
66+
67+
Tensorflow also has a number of requirements, particularly if GPU
68+
acceleration is desired. See <https://www.tensorflow.org/install/> for
69+
details.
70+
71+
## Example
72+
73+
For a simple demonstration of **MIDASpy**, see our Jupyter Notebook
74+
[example](https://github.com/MIDASverse/MIDASpy/blob/master/Examples/midas_demo.ipynb).
75+
76+
## Contributing to MIDASpy
77+
78+
Interested in contributing to **MIDASpy**? We are looking to hire a research assistant to work part-time (flexibly) to help us build out new features and integrate our software with existing machine learning pipelines. You would be paid the standard research assistant rate at the London School of Economics. To apply, please send your CV (or a summary of relevant skills/experience) to [email protected].
79+
80+
## Version 1.2.3 (December 2022)
81+
82+
*v1.2.3 adds support for installation on Apple Silicon hardware (i.e. M1 and M2 Macs).*
83+
84+
## Version 1.2.2 (July 2022)
85+
86+
*v1.2.2 makes minor efficiency changes to the codebase. Full details are available in the Release logs.*
87+
88+
## Version 1.2.1 (January 2021)
89+
90+
*v1.2.1 adds new pre-processing functionality and a multiple imputation regression function.*
91+
92+
Users can now automatically preprocess binary and categorical columns prior to running the MIDAS algorithm using `binary_conv()` and `cat_conv()`.
93+
94+
The new `combine()` function allows users to run regression analysis across the complete data, following Rubin’s combination rules.
95+
96+
## Previous versions
97+
98+
*Version 1.1.1 (October 2020)*
99+
100+
Key changes:
101+
102+
- Update adds **full Tensorflow 2.X support**:
103+
104+
- Users can now run the MIDAS algorithm in TensorFlow 2.X (TF1 support
105+
retained)
106+
107+
- Tidier handling of random seed setting across both TensorFlow and
108+
NumPy
109+
110+
- Fixes a minor dependency bug
111+
112+
- Other minor bug fixes
113+
114+
*Version 1.0.2 (September 2020)*
115+
116+
Key changes:
117+
118+
- Minor, mainly cosmetic, changes to the underlying source code.
119+
- Renamed ‘categorical\_columns’ argument in build\_model() to
120+
‘binary\_columns’ to avoid confusion
121+
- Added plotting arguments to overimputation() method to suppress
122+
intermediary overimputation plots (plot\_main) and all plots
123+
(skip\_plot).
124+
- Changed overimputation() plot titles, labels and legends
125+
- Added tensorflow 2.0 version check on import
126+
- Fixed seed-setting bug in earlier versions
127+
128+
*Alpha 0.2:*
129+
130+
Variational autoencoder enabled. More flexibility in model
131+
specification, although defaulting to a simple mirrored system. Deeper
132+
analysis tools within .overimpute() for checking fit on continuous
133+
values. Constructor code deconflicted. Individual output specification
134+
enabled for very large datasets.
135+
136+
Key added features:
137+
138+
- Variational autoencoder capacity added, including encoding to and
139+
sampling from latent space
140+
141+
Planned features:
142+
143+
- Time dependence handling through recurrent cells
144+
- Improving the pipeline methods for very large datasets
145+
- Tensorboard integration
146+
- Dropout scaling
147+
- A modified constructor that can generate embeddings for better
148+
interpolation of features
149+
- R support
150+
151+
Wish list:
152+
153+
- Smoothing for time series (LOESS?)
154+
- Informative priors?
155+
156+
*Alpha 0.1:*
157+
158+
- Basic functionality feature-complete.
159+
- Support for mixed categorical and continuous data types
160+
- An “additional data” pipeline, allowing data that may be relevant to
161+
the imputation to be included (without being included in error
162+
generating statistics)
163+
- Simplified calibration for model complexity through the
164+
“overimputation” function, including visualization of
165+
reconstructed features
166+
- Basic large dataset functionality

MIDASpy.egg-info/requires.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
tensorflow>=1.10
21
numpy>=1.5
32
scikit-learn
43
matplotlib
54
pandas>=0.19
65
tensorflow_addons>=0.11
76
statsmodels
87
scipy
8+
9+
[:sys_platform != "darwin" or platform_machine != "arm64"]
10+
tensorflow>=1.10
11+
12+
[:sys_platform == "darwin" and platform_machine == "arm64"]
13+
tensorflow-macos>=1.10
3 Bytes
Binary file not shown.
3 Bytes
Binary file not shown.

README.md

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,6 @@
11

2-
<!-- README.md is generated from README.Rmd. Please edit that file -->
3-
42
# MIDASpy<img src='MIDASpy_logo.png' align="right" height="139" /></a>
53

6-
<!-- badges: start -->
7-
8-
<!-- [![CRAN status](https://www.r-pkg.org/badges/version/dplyr)](https://cran.r-project.org/package=dplyr) -->
9-
10-
<!-- [![R build status](https://github.com/tidyverse/dplyr/workflows/R-CMD-check/badge.svg)](https://github.com/tidyverse/dplyr/actions?workflow=R-CMD-check) -->
11-
12-
<!-- [![Codecov test coverage](https://codecov.io/gh/tidyverse/dplyr/branch/master/graph/badge.svg)](https://codecov.io/gh/tidyverse/dplyr?branch=master) -->
13-
14-
<!-- [![R build status](https://github.com/tidyverse/dplyr/workflows/R-CMD-check/badge.svg)](https://github.com/tidyverse/dplyr/actions) -->
15-
16-
<!-- badges: end -->
17-
184
## Overview
195

206
**MIDASpy** is a Python package for multiply imputing missing data using
@@ -70,21 +56,21 @@ For a simple demonstration of **MIDASpy**, see our Jupyter Notebook
7056

7157
Interested in contributing to **MIDASpy**? We are looking to hire a research assistant to work part-time (flexibly) to help us build out new features and integrate our software with existing machine learning pipelines. You would be paid the standard research assistant rate at the London School of Economics. To apply, please send your CV (or a summary of relevant skills/experience) to [email protected].
7258

59+
## Version 1.2.3 (December 2022)
60+
61+
*v1.2.3 adds support for installation on Apple Silicon hardware (i.e. M1 and M2 Macs).*
62+
7363
## Version 1.2.2 (July 2022)
7464

7565
*v1.2.2 makes minor efficiency changes to the codebase. Full details are available in the Release logs.*
7666

7767
## Version 1.2.1 (January 2021)
7868

79-
*v1.2.1 adds new pre-processing functionality and a multiple imputation
80-
regression function.*
69+
*v1.2.1 adds new pre-processing functionality and a multiple imputation regression function.*
8170

82-
Users can now automatically preprocess binary and categorical columns
83-
prior to running the MIDAS algorithm using `binary_conv()` and
84-
`cat_conv()`.
71+
Users can now automatically preprocess binary and categorical columns prior to running the MIDAS algorithm using `binary_conv()` and `cat_conv()`.
8572

86-
The new `combine()` function allows users to run regression analysis
87-
across the complete data, following Rubin’s combination rules.
73+
The new `combine()` function allows users to run regression analysis across the complete data, following Rubin’s combination rules.
8874

8975
## Previous versions
9076

build/lib/MIDASpy/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .midas_base import *

0 commit comments

Comments
 (0)