Skip to content

Commit

Permalink
Doc changes
Browse files Browse the repository at this point in the history
  • Loading branch information
RafaelArutjunjan committed Aug 5, 2024
1 parent 2af478c commit 273e8b6
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 8 deletions.
19 changes: 12 additions & 7 deletions docs/src/AdvancedData.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@
### Advanced Datasets


The following table illustrates the capabilities of the various data types implemented by [**InformationGeometry.jl**](https://github.com/RafaelArutjunjan/InformationGeometry.jl):
Depending on the nature of the dataset that is analyzed, there are multiple data types implemented by [**InformationGeometry.jl**](https://github.com/RafaelArutjunjan/InformationGeometry.jl) to store them in.
Mainly, these data types provide a trade-off in speed / simplicity versus flexibility / generality as illustrated by the following table:

| Container | allows non-Gaussian `y`-uncertainty | allows `x`-uncertainty | allows mixed `x`-`y` uncertainty | allows missing values |
|:----------------------------:|:-----------------------------------:|:----------------------:|:--------------------------------:|:---------------------:|
[`DataSet`](@ref) | ✖ | ✖ | ✖ | ✖ |
[`DataSetExact`](@ref) | ✔ | ✔ | ✖ | ✖ |
[`GeneralizedDataSet`](@ref) | ✔ | ✔ | ✔ | ✖ |
[`CompositeDataSet`](@ref) | ✖ | ✔ | ✖ | ✔ |

| Container | allows non-Gaussian `y`-uncertainty | allows missing values | allows `x`-uncertainty | allows mixed `x`-`y` uncertainty | allows `y`-uncertainty estimation | allows `x`-uncertainty estimation |
|:------------------------------:|:-----------------------------------:|:---------------------:|:----------------------:|:--------------------------------:|:---------------------------------:|:---------------------------------:|
[`DataSet`](@ref) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
[`DataSetExact`](@ref) | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
[`CompositeDataSet`](@ref) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
[`GeneralizedDataSet`](@ref) | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ |
[`DataSetUncertain`](@ref) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
[`UnknownVarianceDataSet`](@ref) | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |


```@docs
DataSetExact
CompositeDataSet
GeneralizedDataSet
DataSetUncertain
```
2 changes: 2 additions & 0 deletions docs/src/datamodels.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ DataModel

"Simple" `DataSet`s and `DataModel`s can be visualized directly via `plot(DM)` using pre-written recipes for the [**Plots.jl**](https://github.com/JuliaPlots/Plots.jl) package.


A more structured container for models is `ModelMap`, which additionally stores information about custom parameter bounds, parameter names, arbitrary nonlinear constraints, etc.:
```@docs
ModelMap
```
3 changes: 2 additions & 1 deletion docs/src/methodlist.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Once a `DataModel` object has been defined, it can subsequently be used to compu
```@docs
loglikelihood(::DataModel,::Vector{Float64})
MLE(::DataModel)
MLEuncert(::DataModel)
LogLikeMLE(::DataModel)
```

Expand Down Expand Up @@ -43,7 +44,7 @@ In many applied settings, one often does not have a dataset of sufficient size f
A slightly more robust alternative to using geodesics is given by the so-called profile likelihood method. Essentially, it consists of pinning one of the parameters at particular values on a grid, while optimizing the remaining parameters to maximize the likelihood function at every step. Ultimately, one ends up with one-dimensional slices of the parameter manifold along which the likelihood decays most slowly.

```@docs
ParameterProfiles(::DataModel,::Int64)
ParameterProfiles(::DataModel,::Float64)
InterpolatedProfiles
ProfileBox
```
5 changes: 5 additions & 0 deletions src/GeneralDataStructures.jl
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ LogPrior(DM::AbstractDataModel) = x::AbstractVector->zero(eltype(x))

xpdim(DM::AbstractDataModel) = Npoints(DM) * xdim(DM) + pdim(DM)

"""
MLEuncert(DM::AbstractDataModel, mle::AbstractVector=MLE(DM))
Returns vector of type `Measurements.Measurement` where the parameter uncertainties are approximated via the diagonal of the inverse Fisher metric.
That is, the stated uncertainties are a linearized symmetric approximation of the true parameter uncertainties around the MLE.
"""
function MLEuncert(DM::AbstractDataModel, mle::AbstractVector=MLE(DM); verbose::Bool=true)
F = FisherMetric(DM, mle)
try
Expand Down

0 comments on commit 273e8b6

Please sign in to comment.