astropy / astropy/astropy

Improve fitting of broken power-law models

Open
#6,221 0 comments 0 reactions 0 assignees View on GitHub
Enhancement modeling
Dominant language
Python
Stars
5.3k
Forks
2.2k
Avg merge
1d 18h
Merged PRs (30d)
74

Description

As discussed in https://github.com/astropy/astropy/pull/6198, the broken power-law models may behave better when fitting if parametrized with ``log_x_break`` instead of ``x_break``. There are several options:

1. Change both models to log_x_break and deprecate x_break
2. Make it possible to describe the model with x_break and use log_x_break internally
3. Implement two versions of the model, one with x_break and one with log_x_break (this could be done with minimal code duplication).
4. Make it so that Parameters can indicate whether to be fit in log space (or according to other functions)

@gcalderone suggested that 3 might be the easiest to do. Just opening this issue so that we remember to do it for the next version.

(I'd also like to see examples where the log version would work and the non-log version fails, to make sure we really need this)

Contributor guide

Open the contributing guide

Research direction

Start by reading the discussion in pull request 6198 and locating the broken power-law model definitions in Astropy. Compare the four proposed parameterization approaches and look for examples where log-space fitting helps; the work is complete only after one approach is chosen and its behavior is covered by appropriate examples or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.