Yatsm Versions Save

Yet Another Time Series Model

v0.6.2

7 years ago

v0.6.2

Bug fix release v0.6.2 from v0.6.x-maintenance branch.

Fixed

  • Fix missing predictions on pixel plotter (commit 9c07f6cbe436bc5063d930b9e9139036a437a94b, 9c07f6cbe436bc5063d930b9e9139036a437a94b)
  • Fix issue with synthetic image predictions in yatsm map (commit c33ea1c5fbbe835c4bacd6ecea334886442d1af3)
  • Clean up output result files of any Python objects (commit e2e61542689ff7626681c4dfff8da511eab46127)
  • With @valpasq, add "seasonal" symbology option to yatsm pixel (commit e594ecdb52a54b1664c5d062b362e0f05ac7bc23)
  • CCDCesque: Fixed for case when a model refit would try to take place despite n < p (commit 5c27bad3f394e35166ae94e3663692ecd7bcfe43)

v0.6.1

8 years ago

Bug fix release and beginning of v0.6.x maintenance branch.

Milestone v0.6.1

v0.6.1 - 2016-05-12

Version v0.6.x will be backward patched for any bug fixes (for an undetermined amount of time) as version v0.7.0 will introduce backwards incompatible changes in order to enable incorporation of data from multiple sensors and to better link time series models together in a cohesive pipeline.

Fixed

  • CCDCesque: Fixed case in which bands not used as "test indices" would not have time series models estimated (i.e., no coef or rmse) if the time series ends immediately after training #88
  • RLM: Fixed divide by zero error when n == p (number of observations equals number of parameters estimated) #88

v0.6.0

8 years ago

v0.6.0 - 2016-04-22

Milestone v0.6.0

Changed

  • CCDCesque: Optimize algorithm implementation. Performance estimates show 2x speed gain #70
  • CLI: Improve yatsm pixel by enabling the plotting of multiple refit model estimates on the same graph (commit)
  • CLI: Improve yatsm pixel --embed option (commit)
  • CLI: Add --verbose-yatsm to main yatsm command so it works with all programs running a YATSM algorithm (commit)
  • Use setuptools entry points to point YATSM to available time series algorithms (commit)

Added

  • Expose stay_regularized for segment refitting steps #74
  • Add capability to specify fit section for statistical estimators that are passed to the fit method of the estimator #61
  • CCDCesque: allow specification of min_rmse per band using an array or just one value for all bands #75
  • Add submodule yatsm.regression.diagnostics for regression diagostics, including RMSE (commit)
  • Add new module yatsm.accel with decorator (try_jit) that applies numba.jit to functions only if numba is available #70
  • Apply yatsm.accel.try_jit to calculation of yatsm.regression.diagnostics.rmse, yatsm.regression.robust_fit.RLM, and others #70
  • Benchmark algorithm performance across project history using Airspeed Velocity #71
  • Improve clean target in package's setup.py so it deletes built estimator pickles and .c/.so built with Cython (commit)
  • Increase test coverage from ~20% to ~80%
  • Added documentation to Read the Docs

Fixed

  • CCDCesque: Fix bug in calculation of end attribute for last timeseries record #72
  • CCDCesque: Fix bug in parsing of test_indices if user doesn't supply any #73
  • "Packaged" estimator pickles are built on installation of YATSM so they will work with user versions of libraries (commit)
  • Fix DeprecationWarnings with scikit-learn>=0.17.0 (commit)
  • yatsm.regression.robust_fit.RLM: Fix a bug caused by dividing by zero. This bug only occurs when the number of observations in a time series segment is approximately equal to the number of parameters (n ~= k) #86
  • Fix NumPy deprecation warnings and improve yatsm changemap num performance #83

v0.5.5

8 years ago

v0.5.5 - 2015-11-24

Milestone v0.5.5

Added

  • Abort if config file 'n_bands' looks incorrect (commit)

Changed

  • Reorganize long term mean phenology code into generic phenology related submodule.
  • Reorganize changemap and map logic to separate module #60

Fixed

  • Fix bug with spline EVI prediction in LTM phenology module when data include last day in leap year (366) #56
  • Fix bug with phenology half-max calculation that created erroneous transition dates #58
  • Fix bug with phenology calculation for 100% masked data pixels #54
  • Fix yatsm pixel to correctly plot designs that include categorical variables (commit)
  • Fix passing of a list of dataset min/max values within config files instead of 1 number #59
  • Add missing phenology module to setup.py (commit)

v0.5.4

8 years ago

Milestone v0.5.4

Fixed

  • Fix multiple bugs encountered when running phenology estimates #49

Changed

  • Metadata from yatsm line runs are now stored in metadata sub-file of NumPy compressed saved files #53
  • Algorithm configurations must now declare subsections that match estimator methods (e.g., init and fit) #52
  • Refactored yatsm.phenology to make LongTermMeanPhenology estimator follow scikit-learn API #50

Added

  • Add --num_threads option to yatsm CLI. This argument sets various environment variables (e.g., OPENBLAS_NUM_THREADS or MKL_NUM_THREADS) before beginning computation to set or limit multithreaded linear algebra calculations within NumPy #51
  • Add a changelog!

v0.5.3

8 years ago

Bug fixes from v0.5.0 and onward:

Changes: v0.5.3

  • Fix bug when running on real datasets with 100% missing data in timeseries (e.g., in corners) #47 #48
  • Fix yatsm train and yatsm classify for v0.5.0+ releases
  • Update config file parsing to sklearn classifiers for yaml usage. Delete intermediate 'helper' classes that were used to type-check ini config file

v0.5.2:

  • Catch TSLengthException so yatsm line can continue running #43
  • Allow refit methods to be from distributed pickles #44
  • Fix references to old variable names in yatsm.algorithms.postprocess #45

v0.5.1:

  • Use environment variables in configuration files #42
  • Pre-package a set of pickled regressions using package_data from setuptools #41

Breaks:

v0.5.0

8 years ago

Very backwards incompatible release required to redefine project objectives and use better technology (click & YAML) for command line interface. See milestone v0.5.0 for individual tickets.

Highlights include:

  • CLI conversion to use click #28
    • All sub-commands listed with yatsm command for better visibility
  • Redefine YATSM as baseclass & add CCDCesque implementation #29
  • Specify prediction algorithm using pickles to set hyperparameters #26
  • Configuration file using YAML for easier organization & more sustainable parsing #30
  • Refactored robust fit into more generalized refit step. User can refit using specified prediction algorithms #33
  • Addressed requirement file organization and documentation, including adding conda install instructions #32
  • Tests now use py.test fixtures for better code reuse; test coverage decrease unfortunate side effect

Inevitable bugs will be fixed in v0.5.1.

v0.4.1

8 years ago

CCDC style model now includes a "slope test" for stability of training period (see #22).

Enable the "slope test" by adding the following to your model configuration file:

[YATSM]
...
slope_test = True

A True boolean value will enable the "slope test" as shown in Zhu and Woodcock, 2014. Specifying a float value instead will enable the "slope test" but use the specified float value as the test threshold instead of the default value specified by threshold.

v0.4.0

9 years ago

Model specification improvement and dataset caching improvements. Tasks include:

  • Updating cache files with new data
  • "cache_yatsm.py" cache dataset updater
  • Model design matrix specification using Patsy syntax
  • QA/QC for yatsm_map.py

Move to Patsy style model specification (see #25) makes previous results incompatible with release.

v0.3.1

9 years ago

Bug fixes and features not included in v0.3.0. Includes:

  1. Faster image IO by keeping file references open until all reading concludes 1e30d277a561cd048e745a397752aa52e8686857
  2. Bug fix for clobbering training data ROI mask values f882a00c2552855599020c3e9e34fd71b22bc0b6