Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement (Smoothed) Finite Difference Approximation of Influence Function #501

Closed
wants to merge 72 commits into from

Conversation

azane
Copy link
Contributor

@azane azane commented Jan 12, 2024

WIP

TODO description
addresses: #469

  • convert to mixin for M:M coupling between functionals and models
  • dehack vectorization
  • add mean potential outcome example and model-coupled functional

agrawalraj and others added 11 commits December 22, 2023 16:41
* batching in linearize and influence

* addressing eli's review

* added optimization for pointwise false case

* fixing lint error
* one step correction

* increased tolerance

* fixing lint issue
…PredictiveLikelihood` (#473)

* sketch batched nmc lpd

* nits

* fix type

* format

* comment

* comment

* comment

* typo

* typo

* add condition to help guarantee idempotence

* simplify edge case

* simplify plate_name

* simplify batchedobservation logic

* factorize

* simplify batched

* reorder

* comment

* remove plate_names

* types

* formatting and type

* move unbind to utils

* remove max_plate_nesting arg from get_traces

* comment

* nit

* move get_importance_traces to utils

* fix types

* generic obs type

* lint

* format

* handle observe in batchedobservations

* event dim

* move batching handlers to utils

* replace 2/3 vmaps, tests pass

* remove dead code

* format

* name args

* lint

* shuffle code

* try an extra optimization in batchedlatents

* add another optimization

* undo changes to test

* remove inplace adds

* add performance test showing speedup

* document internal helpers

* batch latents test

* move batch handlers to predictive

* add bind_leftmost_dim, document PredictiveFunctional and PredictiveModel

* use bind_leftmost_dim in log prob
* documentation

* documentation clean up w/ eli

* fix lint issue
* Make functional argument required

* estimator

* docstring
* Make functional argument required

* estimator

* docstring

* Remove guide, make tests pass

* rename internals.predictive to internals.nmc

* expose handlers.predictive

* expose handlers.predictive

* docstrings

* fix doc build

* fix equation

* docstring import

---------

Co-authored-by: Sam Witty <samawitty@gmail.com>
* make influence a functional

* fix test

* multiple arguments

* doc

* docstring

* docstring
* added scaffolding to one step estimator

* kept signature the same as one_step_correction

* lint

* refactored test to include multiple estimators

* typo

* revise error

* added dict handling

* remove assert

* more informative error message

* replace dispatch with pytree flatten and unflatten

* revert arg for influence_function_estimator

* docs and lint

* lingering influence_fn

* fixed missing return

* rename

* lint

* add *model to appease the linter
@azane azane marked this pull request as draft January 12, 2024 20:11
@azane azane changed the title todo fd Implement (Smoothed) Finite Difference Approximation of Influence Function Jan 12, 2024
@azane azane self-assigned this Jan 12, 2024
@azane azane added status:WIP Work-in-progress not yet ready for review module:robust labels Jan 12, 2024
@azane azane changed the base branch from staging-robust to staging-robust-icml January 16, 2024 18:06
@azane
Copy link
Contributor Author

azane commented Jan 19, 2024

closed by #508

@azane azane closed this Jan 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:robust status:WIP Work-in-progress not yet ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants