remove data arrays, all nobs arrays from result and model
This reduces the size of the instance, so it can be pickled with less memory. Currently tested for use with predict from an unpickled results and model instance.
Since data and some intermediate results have been removed calculating new statistics that require them will raise exceptions. The exception will occur the first time an attribute is accessed that has been set to None.
Not fully tested for time series models, tsa, and might delete too much for prediction or not all that would be possible.
The lists of arrays to delete are maintained as attributes of the result and model instance, except for cached values. These lists could be changed before calling remove_data.
The attributes to remove are named in:
- model._data_attr : arrays attached to both the model instance
- and the results instance with the same attribute name.
- result.data_in_cache : arrays that may exist as values in
- result._cache (TODO : should privatize name)
- result._data_attr_model : arrays attached to the model
- instance but not to the results instance