Skip to content

Commit e0ce63c

Browse files
Merge pull request #145 from StructuralEquationModels/release/v0-2-0
Release/v0 2 0
2 parents b30d0c5 + 00b69f7 commit e0ce63c

File tree

17 files changed

+116
-23
lines changed

17 files changed

+116
-23
lines changed

.github/workflows/CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
fail-fast: true
1616
matrix:
1717
version:
18-
- '1.7.3'
18+
- '1'
1919
os:
2020
- ubuntu-latest
2121
arch:

.github/workflows/CI_ecosystem.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
version:
21-
- '1.7.3'
21+
- '1'
22+
- '1.9'
2223
os:
2324
- ubuntu-latest
2425
- macos-latest
@@ -42,4 +43,4 @@ jobs:
4243
- uses: julia-actions/julia-processcoverage@v1
4344
- uses: codecov/codecov-action@v2
4445
with:
45-
file: lcov.info
46+
file: lcov.info

.github/workflows/CI_extended.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
version:
21-
- '1.7.3'
21+
- '1'
22+
- '1.9'
2223
os:
2324
- ubuntu-latest
2425
- macos-latest
@@ -42,4 +43,4 @@ jobs:
4243
- uses: julia-actions/julia-processcoverage@v1
4344
- uses: codecov/codecov-action@v2
4445
with:
45-
file: lcov.info
46+
file: lcov.info
File renamed without changes.

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: actions/checkout@v2
1818
- uses: julia-actions/setup-julia@latest
1919
with:
20-
version: '1.7.2'
20+
version: '1'
2121
- name: Install dependencies
2222
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
2323
- name: Build and deploy

.github/workflows/preview-documentation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- uses: actions/checkout@v2
1717
- uses: julia-actions/setup-julia@latest
1818
with:
19-
version: '1.6'
19+
version: '1'
2020
- name: Install dependencies
2121
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
2222
- name: Build and deploy
@@ -36,4 +36,4 @@ jobs:
3636
owner: context.repo.owner,
3737
repo: context.repo.repo,
3838
body: 'Docs can be previewed here: ${{ env.GHP_URL }}previews/PR${{ env.PR_NUMBER }}'
39-
})
39+
})

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "StructuralEquationModels"
22
uuid = "383ca8c5-e4ff-4104-b0a9-f7b279deed53"
33
authors = ["Maximilian Ernst", "Aaron Peikert"]
4-
version = "0.1.0"
4+
version = "0.2.0"
55

66
[deps]
77
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
@@ -24,7 +24,7 @@ StenoGraphs = "78862bba-adae-4a83-bb4d-33c106177f81"
2424
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
2525

2626
[compat]
27-
julia = "1.7"
27+
julia = "1.9"
2828
StenoGraphs = "0.2"
2929
DataFrames = "1"
3030
Distributions = "0.25"

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
|:-------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------:|
55
| [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://structuralequationmodels.github.io/StructuralEquationModels.jl/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://structuralequationmodels.github.io/StructuralEquationModels.jl/dev/) | [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Github Action CI](https://github.com/StructuralEquationModels/StructuralEquationModels.jl/workflows/CI_extended/badge.svg)](https://github.com/StructuralEquationModels/StructuralEquationModels.jl/actions/) [![codecov](https://codecov.io/gh/StructuralEquationModels/StructuralEquationModels.jl/branch/main/graph/badge.svg?token=P2kjzpvM4V)](https://codecov.io/gh/StructuralEquationModels/StructuralEquationModels.jl) | [![DOI](https://zenodo.org/badge/228649704.svg)](https://zenodo.org/badge/latestdoi/228649704) |
66

7+
# What is this Package for?
78

89
This is a package for Structural Equation Modeling.
910
It is still *in development*.
@@ -14,14 +15,17 @@ Models you can fit include
1415
- Multigroup SEM
1516
- Sums of arbitrary loss functions (everything the optimizer can handle).
1617

18+
# What are the merrits?
19+
1720
We provide fast objective functions, gradients, and for some cases hessians as well as approximations thereof.
1821
As a user, you can easily define custom loss functions.
1922
For those, you can decide to provide analytical gradients or use finite difference approximation / automatic differentiation.
2023
You can choose to mix and match loss functions natively found in this package and those you provide.
2124
In such cases, you optimize over a sum of different objectives (e.g. ML + Ridge).
2225
This mix and match strategy also applies to gradients, where you may supply analytic gradients or opt for automatic differentiation or mix analytical and automatic differentiation.
2326

24-
You may consider using this package if:
27+
# You may consider using this package if:
28+
2529
- you want to extend SEM (e.g. add a new objective function) and need an extendable framework
2630
- you want to extend SEM, and your implementation needs to be fast (because you want to do a simulation, for example)
2731
- you want to fit the same model(s) to many datasets (bootstrapping, simulation studies)
@@ -33,7 +37,7 @@ The package makes use of
3337
- Optim.jl and NLopt.jl to provide a range of different Optimizers/Linesearches.
3438
- FiniteDiff.jl and ForwardDiff.jl to provide gradients for user-defined loss functions.
3539

36-
At the moment, we are still working on
40+
# At the moment, we are still working on:
3741
- optimizing performance for big models (with hundreds of parameters)
3842

3943
# Questions?

docs/src/developer/loss.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ Let's make a sligtly more complicated example: we will reimplement maximum likel
217217
To keep it simple, we only cover models without a meanstructure. The maximum likelihood objective is defined as
218218

219219
```math
220-
F_{ML} = \log \det \Sigma_i + \mathrm{tr}(\Sigma_i \Sigma_o)
220+
F_{ML} = \log \det \Sigma_i + \mathrm{tr}\left(\Sigma_{i}^{-1} \Sigma_o \right)
221221
```
222222

223223
where ``\Sigma_i`` is the model implied covariance matrix and ``\Sigma_o`` is the observed covariance matrix. We can query the model implied covariance matrix from the `imply` par of our model, and the observed covariance matrix from the `observed` path of our model.
@@ -269,4 +269,4 @@ model_ml = SemFiniteDiff(
269269
model_fit = sem_fit(model_ml)
270270
```
271271

272-
If you want to differentiate your own loss functions via automatic differentiation, check out the [AutoDiffSEM](https://github.com/StructuralEquationModels/AutoDiffSEM) package (spoiler allert: it's really easy).
272+
If you want to differentiate your own loss functions via automatic differentiation, check out the [AutoDiffSEM](https://github.com/StructuralEquationModels/AutoDiffSEM) package (spoiler allert: it's really easy).

src/StructuralEquationModels.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export AbstractSem,
9090
SemConstant, SemWLS, loss,
9191
SemOptimizer,
9292
SemOptimizerEmpty, SemOptimizerOptim, SemOptimizerNLopt, NLoptConstraint,
93+
optimizer, n_iterations, convergence,
9394
SemObserved,
9495
SemObservedData, SemObservedCovariance, SemObservedMissing, observed,
9596
sem_fit,

0 commit comments

Comments
 (0)