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

100 refactor fitting for feature sets #101

Open
wants to merge 43 commits into
base: master
Choose a base branch
from

Commits on Jun 17, 2019

  1. Initial framework for multiproperty fitting.

    Begins solution for #100 with an initial solution. Also adds
     various supporting features to ProfileProperty and PropertyDict.
    ConnorPigg committed Jun 17, 2019
    Configuration menu
    Copy the full SHA
    d168ca5 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2019

  1. Testing for the interpolation and normalization.

    Changes to the bayes testing in order to accomidate the change of
     the fitting to interpolate outside of the fitting process.
    ConnorPigg committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    1c9cd29 View commit details
    Browse the repository at this point in the history
  2. Added tests for features used during fitting.

    This includes a test for a new "feature_domain" property.
     This property is used to enable the testing of interpolated
     values prior to attempting to perform a fit.
    ConnorPigg committed Jun 18, 2019
    Configuration menu
    Copy the full SHA
    3f76322 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2019

  1. Configuration menu
    Copy the full SHA
    5222a06 View commit details
    Browse the repository at this point in the history
  2. Update feature weighting to be based on errors.

    This is done if errors are available. In either case weighting
     has a two norm of 1. Also updates modelling to not depend on
     properties having a length to use scalar properties.
    ConnorPigg committed Jun 19, 2019
    Configuration menu
    Copy the full SHA
    4c93c01 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2019

  1. Test for bad fitting inputs.

    Also allow PropertyDict.subset to take a single name since this is
     a potentially common occurance and if not handled correctly can
     provide strange results. Options were to throw an error or to
     correctly implement it.
    ConnorPigg committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    ba3a10f View commit details
    Browse the repository at this point in the history
  2. Change fitting procedure to expose models.

    This allows users to configure or adjust parameters prior to
    performing the fits. Adjusts the tests to match.
    ConnorPigg committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    9cd1db8 View commit details
    Browse the repository at this point in the history
  3. Expose weighting option for fitting.

    Also removed "unusable" guess function which would not work with
    the composite modelling used during fitting.
    ConnorPigg committed Jun 20, 2019
    Configuration menu
    Copy the full SHA
    69f836c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    18238b5 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2019

  1. Described available parameters for the model.

    Also fixed the probability when there is only one depth.
    ConnorPigg committed Jun 21, 2019
    Configuration menu
    Copy the full SHA
    a539652 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    16cec72 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. Do not interpolate inplace by default.

    Also addresses additional documenation changes for PR.
    ConnorPigg committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    9c2b2c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0b42551 View commit details
    Browse the repository at this point in the history
  3. Use set_param_hint to be more lmfit idiomatic.

    Also closes #102 by allowing global minimization method choice.
    ConnorPigg committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    25c4f5e View commit details
    Browse the repository at this point in the history
  4. Test changing fitting method.

    This closes #102 by providing tests for using it.
    ConnorPigg committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    322f1b2 View commit details
    Browse the repository at this point in the history
  5. Test TabulatedModel with more inputs.

    Previously rewrote tests to exclude interpolation so undoing that
    change. Also, include testing the centering aspect of the model.
    ConnorPigg committed Jun 24, 2019
    Configuration menu
    Copy the full SHA
    4ab9ec2 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

  1. Configuration menu
    Copy the full SHA
    6e353cc View commit details
    Browse the repository at this point in the history
  2. Begins code structure for fixing #103.

    However no testing has been completed and the "legacy"
    multiproperty fitting has not been removed. Initial use with
    `fitting_both.py` script indicates successful fitting.
    ConnorPigg committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    78e0646 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2019

  1. Fixes #103 by using new general modelling.

    Replaces references to the MultiPropertyModel class for the new
    model creation. Adjustments to the test to reflect the change in
    model creation interface. Tests for acceptance of general models
    and tests for parameter naming are still to be completed.
    ConnorPigg committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    fef9df2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    92ff0b4 View commit details
    Browse the repository at this point in the history
  3. Fix #103 by adding tests specific to new changes.

    This goes beyond the integration tests already present to test
    specific expected behavior for the added general modelling.
    ConnorPigg committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    c059277 View commit details
    Browse the repository at this point in the history
  4. Update documentation regarding models.

    This is to reflect that functions should not be directly passed
    through to this parameter. It is expected that functions are
    first converted to lmfit.Model classes or instances.
    ConnorPigg committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    4a7c814 View commit details
    Browse the repository at this point in the history
  5. Fixes bug of model objects not copying.

    When Model instances are passed instead of classes, the object
    was not properly handled which lead to each "use" of that model
    template to overwrite the previous uses.
    ConnorPigg committed Jun 26, 2019
    Configuration menu
    Copy the full SHA
    16301ed View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    05c693e View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2019

  1. Configuration menu
    Copy the full SHA
    4d49da7 View commit details
    Browse the repository at this point in the history
  2. Change handling of variable argument type.

    Attempt to be more "pythonic" by using try accept. Avoids using
    `isinstance` to check types. Generalizes accepted types to single
    object or iterables not just lists.
    ConnorPigg committed Jun 27, 2019
    Configuration menu
    Copy the full SHA
    45204c3 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2019

  1. Correct test assertion.

    ConnorPigg committed Jun 28, 2019
    Configuration menu
    Copy the full SHA
    0b3cf9b View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2019

  1. Fix docs. Change subset None behavior.

    PropertyDict no longer expects `None` for names to resturn self.
    Instead, expect user to pass self.keys() for a complete subset.
    ConnorPigg committed Jul 1, 2019
    Configuration menu
    Copy the full SHA
    e1aa603 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2019

  1. Address PR change requests.

    Adds optional filtering when taking a subset of PropertyDict.
    Adds periods to documentation. Change calls of `super` to use no
    arguments. Attempt to optimize property interpolation by only creating
    the interpolator once instead of on each call.
    ConnorPigg committed Jul 3, 2019
    Configuration menu
    Copy the full SHA
    172feb3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    909ab07 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    495992c View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2019

  1. Use random seed to reduce test flaky-ness.

    This leads to reliability that failed tests are not due to just
    randomness. This raises the issue that the occasional failures
    from the randomness should be classified, fixed, and have
    dedicated tests. Hypothesis tests may be useful for this.
    ConnorPigg committed Jul 5, 2019
    Configuration menu
    Copy the full SHA
    0a66bf8 View commit details
    Browse the repository at this point in the history
  2. Persist interpolator kws through modifications.

    Allow user settings for interpolators to persist through property
    data modification by changing how interpolators are created. These
    settings are now saved into an attribute of the property.
    ConnorPigg committed Jul 5, 2019
    Configuration menu
    Copy the full SHA
    f7817f0 View commit details
    Browse the repository at this point in the history
  3. Patched models to use modified _residual.

    This is to enforce structure probabilities sum to 1.
    Also rewrote global minimization testing to actually make sense.
    ConnorPigg committed Jul 5, 2019
    Configuration menu
    Copy the full SHA
    08b93e4 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2019

  1. Change modelling to no longer bound probs.

    Restructure modelling to focus on linear "mx + b" models. Change
    to using proportions that are converted to probabilies for
    interpretation. Remove tabulated only modeling and instead allow
    choice of tabulated modelling in the restructured modelling
    options.
    ConnorPigg committed Jul 8, 2019
    Configuration menu
    Copy the full SHA
    4d0e6c1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aaefb41 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d84858a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    029a686 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2019

  1. Update code and documentation of model creation.

    Updates were to improve clarity.
    ConnorPigg committed Jul 9, 2019
    Configuration menu
    Copy the full SHA
    6797190 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    748a148 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2019

  1. Address overwriting parameter hints.

    This involves being more verbose and adding tests for these
    parameter hints. To simplify this, this changes the tabulated model
    to use the same parameter names to simplify the logic to hard coded
    parameter names.
    ConnorPigg committed Jul 10, 2019
    Configuration menu
    Copy the full SHA
    d254652 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2019

  1. Fix bug where tabulated choice was ignored.

    The `use_tabulated` was not being passed down from create to depth
    to the building block functions.
    ConnorPigg committed Jul 12, 2019
    Configuration menu
    Copy the full SHA
    be0c8af View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2019

  1. Distinguish between composite and simple tabulate.

    The difference places restrictions on the composite to not allow
    simultaneous centering and interpolation to different qvalues.
    The restriction is in place because from the experimental feature
    vector it is difficult to determine what section should be used
    as the new qvalues. Therefore require user to interpolate before
    and simply allow centering in composite.
    ConnorPigg committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    855ed21 View commit details
    Browse the repository at this point in the history