- fix: hot fixes for the extrapolation step + using the presidential margins to infer a ticket splitting estimate in each house / senate race #140
- fix: truncation can fail catastrophically when % reporting is too low #138
- chore: adding additional log #135
- fix: missing
est_correction
column inVersionedResults
DataFrame
in the event of bad data #131
- chore: downgrade botocore and s3transfer as per live team dependency #128
- chore: condensed logging of non-modeled units #120
- feat: improvements to margin outlier detection #121
- feat: extrapolation rule and improvements to called contest handling #122, #123, #124
- feat: remove min/max during electoral votes estimation #125
- feat:
agg_model_hard_threshold
now defaults toTrue
- feat: using cross-validation to find the optimal OLS
lambda
for use in theBootstrapElectionModel
is now optional due to thelambda_
model parameter #115
- fix: allow multiple
alpha
values passed in toModelClient.get_national_summary_votes_estimates()
and change that method to return apandas.DataFrame
#111
- fix: model evaluation functions and margin estimand rounding #94
- chore: updated requirements to their latest versions #95, #103
- chore: remove duplicate code from the
Estimandizer
class #96 - feat: verbose logging of duplicate units #97 and non-modeled units #105
- fix: rare division by zero when creating
normalized_margin
#98 - fix: aggregate model bug #99
- feat: save aggregate model (national summary) predictions to s3 #100
- feat: apply race calls to contest-level predictions in addition to national-level ones #101
- feat: output the mean of the bootstrap as the point prediction #102
- feat: save unit-level turnout predictions from the bootstrap model to s3 #104
- feat: distinguish between genuinely unexpected and non-modeled (non-predictive) units #105
- feat: options to override/control whether or not to allow the model to produce a race call for specified contests #106
- fix: fix print bug for aggregate model called states error #90
- chore: add predicted turnout to predictions dataframe #91
- fix: allow bootstrap model parameters to be of type int as well as float #86
- fix: pass alpha to national summary client function #87
- chore: updating all required packages to their latest versions and addressing some warnings that surfaced during testing #81
- fix: CLI no longer throws an error if
aggregates
are missing or specified with columns that don't exist in the data #83
- fix: improved fixed effect features #69
- fix: with the CLI, model-specific parameters passed in as a dictionary #70
- fix: additional logic in the CLI to find the
.env
file #71 - feat: all models are now subclasses of
BaseElectionModel
#72 - feat: ability to create custom estimands #75
- feat: bootstrap model #76
- feat: conformal election model uses new faster quantile regression provided by
elex-solver
#77
- fix: upgrade to python 3.10 [#65] (#65)
- feat: generalize parameter checks [#64] (#64)
- fix: winsorization test error [#62] (#65)
- feat: add winsorization option [#58] (#58)
- fix: clean up tox errors [#57] (#57)
- refactor: remove model settings [#54] (#54)
- refactor: dynamically create default aggregates [#53] (#53)
- feat: add better default aggregates [#52] (#52)
- fix: fixing a fixed effect bug #35
- chore: updated boto3 version #36
- feat: move fixed effect creation from CombinedDataHandler to Featurizer #38
- refactor: removing residual column for nonreporting units #39
- refactor: remove total voters column #40
- feat: add regularization to model #42
- feat: allow selection of fixed effects #43
- fix: update checking fixed effect input #44
- fix: rename regularization parameter #46
- fix: stop unit tests from writing to s3 #48
- feat: allow model to return conformalization data #32
- fix: fix overwriting non-reporting lower/upper bounds in multiple prediction interval case #23
- fix: fix bug when computing fixed effects #27
- fix: fix overwritting columns when saving conformalization set/bounds to s3 #28
- fix: fix mape when uncontested historical baseline #18
- fix: small relative weights for ecos solver #19
- fix: Gaussian model bug in lower bound of confidence intervals #8
- fix: save results even with not enough subunits #13
- feat: write an error message for conformity values #11
- feat: automate releases #10
- chore: wrap dataframe in a list to avoid deprecation #12
- fix: gaussian merge #9
- fix: release workflow #14
- feat: add data README #15
- chore: update codeowners to public news engineering group #101
- feat: write conformalization data and gaussian bounds to s3 #86
- fix: use combined data handler to write results #96
- fix: set write_data as a class function #93
- feat: implement fixed effects #80
- feat: add option to save preprocessed data #76
- feat: create model results class #82
- feat: implement skewed sampling #83
- fix: bugs in combined data and historical aggregations #84
- fix: handle nonreporting unexpected units #85
- feat: create integration test #87
- fix: bug in fixed effects where a column is zeroes only #88
- chore: remove jfrog instructions and update contribution instructions for open source #89
- chore: rename observed and unobserved to reporting and nonreporting #68
- chore: add precommit as a workflow #70
- fix: change default parameters to empty lists #71
- chore: add unit tests and small fixes #69
- fix: use new artifactory secret #72
- chore: update README #73
- chore: more README updates #74
- feat: historic run returns state_data #75
- fix: bug with observed unexpected subunits #65
- fix: historical election bug #60
- feat: add configurable unreporting options (drop and zero) #61
- fix: add 1 to prediction when calculating size of prediction intervals #63
- chore: update readme and requirements for releases #51
- feat: add subunits reporting column #52
- fix: fix test warnings #53
- fix: rename LiveDataHandler to MockLiveDataHandler #55
- chore: upgrade .append to .concat #57
- fix: move random seed to instantiation #56
- feat: generate estimates for multiple estimands #54
- chore: updated pandas version and boto3 version #48
- fix: run historical model with new estimand #46
- fix: cli allows multiple parameters #45
- fix: another fix for n_minimum_reporting ([#43])
- chore: release beta version
- fix: add n_minimum_reporting #40
- feat: return custom error for not enough subunits reporting #35
- chore: rename classes and clean up repo #36
- chore: rename repo to elex-live-model #37
- fix: pass in model settings as top-level param [#31] (https://github.com/WPMedia/elex-live-model/pull/31)
- fix: replace dataframe with list of lists [#32] (https://github.com/WPMedia/elex-live-model/pull/32)
- feat: make estimand flexible [#29] (https://github.com/WPMedia/elex-live-model/pull/29)
- fix: refactor requirements [#34] (https://github.com/WPMedia/elex-live-model/pull/34)
- feat: run historical election [#25] (https://github.com/WPMedia/elex-live-model/pull/25)
- fix: standardizes estimand naming [#21] (https://github.com/WPMedia/elex-live-model/pull/21)
- feat: add random subsetting when running from cli [#22] (https://github.com/WPMedia/elex-live-model/pull/22)
- feat: add beta parameter to increase variance of Gaussian model [#23] (https://github.com/WPMedia/elex-live-model/pull/23)
- feat: write predictions to S3 [#24] (https://github.com/WPMedia/elex-live-model/pull/24)
- fix: make S3 utils class-bawed, add logs, rename env variables [#27] (https://github.com/WPMedia/elex-live-model/pull/27)