Skip to content

Commit 58623c3

Browse files
committed
tests: revert kwless ctors
1 parent a59b31d commit 58623c3

File tree

1 file changed

+76
-42
lines changed

1 file changed

+76
-42
lines changed

test/examples/political_democracy/constructor.jl

Lines changed: 76 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,39 @@
44

55
semoptimizer = SemOptimizer(engine = opt_engine)
66

7-
model_ml = Sem(SemML(SemObservedData(dat), RAM(spec)))
7+
model_ml = Sem(specification = spec, data = dat)
88
@test SEM.params(model_ml) == SEM.params(spec)
9-
@test SEM.nloss_terms(model_ml) == 1
10-
@test SEM.sem_terms(model_ml) isa Tuple{SEM.LossTerm{<:SemML, Nothing, Nothing}}
119

1210
model_ml_cov = Sem(
13-
SemML(
14-
SemObservedCovariance(
15-
cov(Matrix(dat)),
16-
obs_colnames = Symbol.(names(dat)),
17-
n_obs = 75,
18-
),
19-
RAM(spec),
20-
),
11+
specification = spec,
12+
observed = SemObservedCovariance,
13+
obs_cov = cov(Matrix(dat)),
14+
observed_vars = Symbol.(names(dat)),
15+
nsamples = 75,
2116
)
2217

23-
model_ls_sym = Sem(SemWLS(SemObservedData(dat), RAMSymbolic(spec, vech = true)))
18+
model_ls_sym =
19+
Sem(specification = spec, data = dat, implied = RAMSymbolic, vech = true, loss = SemWLS)
2420

25-
model_ml_sym = Sem(SemML(SemObservedData(dat), RAMSymbolic(spec)))
21+
model_ml_sym = Sem(specification = spec, data = dat, implied = RAMSymbolic)
2622

27-
model_ml_ridge = Sem(SemML(SemObservedData(dat), RAM(spec)), SemRidge(spec, 16:20) => 0.001)
28-
29-
@test SEM.nloss_terms(model_ml_ridge) == 2
23+
model_ml_ridge = Sem(
24+
specification = spec,
25+
data = dat,
26+
loss = (SemML, SemRidge),
27+
α_ridge = 0.001,
28+
which_ridge = 16:20,
29+
)
3030

31-
model_ml_const = Sem(SemML(SemObservedData(dat), RAM(spec)), SemConstant(3.465))
31+
model_ml_const = Sem(
32+
specification = spec,
33+
data = dat,
34+
loss = (SemML, SemConstant),
35+
constant_loss = 3.465,
36+
)
3237

33-
model_ml_weighted = Sem(SemML(SemObservedData(dat), RAM(partable)) => size(dat, 1))
38+
model_ml_weighted =
39+
Sem(SemML(SemObservedData(data = dat), RAMSymbolic(spec)) => nsamples(model_ml))
3440

3541
############################################################################################
3642
### test gradients
@@ -84,7 +90,7 @@ end
8490
solution_ml = sem_fit(semoptimizer, model_ml)
8591
solution_ml_weighted = sem_fit(semoptimizer, model_ml_weighted)
8692
@test solution(solution_ml) solution(solution_ml_weighted) rtol = 1e-3
87-
@test n_obs(model_ml) * StructuralEquationModels.minimum(solution_ml)
93+
@test nsamples(model_ml) * StructuralEquationModels.minimum(solution_ml)
8894
StructuralEquationModels.minimum(solution_ml_weighted) rtol = 1e-6
8995
end
9096

@@ -149,13 +155,13 @@ end
149155
model_ml,
150156
data = rand(model_ml, params, 1_000_000),
151157
specification = spec,
152-
obs_colnames = colnames,
158+
observed_vars = colnames,
153159
)
154160
model_ml_sym_new = replace_observed(
155161
model_ml_sym,
156162
data = rand(model_ml_sym, params, 1_000_000),
157163
specification = spec,
158-
obs_colnames = colnames,
164+
observed_vars = colnames,
159165
)
160166
# fit models
161167
sol_ml = solution(sem_fit(semoptimizer, model_ml_new))
@@ -172,10 +178,21 @@ end
172178
if opt_engine == :Optim
173179
using Optim, LineSearches
174180

175-
model_ls =
176-
Sem(SemWLS(SemObservedData(dat), RAMSymbolic(spec, vech = true, hessian = true)))
181+
model_ls = Sem(
182+
data = dat,
183+
specification = spec,
184+
observed = SemObservedData,
185+
implied = RAMSymbolic(spec, vech = true, hessian = true),
186+
loss = SemWLS,
187+
)
177188

178-
model_ml = Sem(SemML(SemObservedData(dat), RAMSymbolic(spec, hessian = true)))
189+
model_ml = Sem(
190+
data = dat,
191+
specification = spec,
192+
observed = SemObservedData,
193+
implied = RAMSymbolic(spec, hessian = true),
194+
loss = SemML,
195+
)
179196

180197
@testset "ml_hessians" begin
181198
test_hessian(model_ml, start_test; atol = 1e-4)
@@ -219,23 +236,29 @@ end
219236
############################################################################################
220237

221238
# models
222-
model_ls = Sem(SemWLS(SemObservedData(dat), RAMSymbolic(spec_mean, vech = true)))
239+
model_ls = Sem(
240+
specification = spec_mean,
241+
data = dat,
242+
implied = RAMSymbolic,
243+
vech = true,
244+
loss = SemWLS,
245+
meanstructure = true,
246+
)
223247

224-
model_ml = Sem(SemML(SemObservedData(dat), RAM(spec_mean)))
248+
model_ml = Sem(specification = spec_mean, data = dat, meanstructure = true)
225249

226250
model_ml_cov = Sem(
227-
SemML(
228-
SemObservedCovariance(
229-
cov(Matrix(dat)),
230-
vec(mean(Matrix(dat), dims = 1)),
231-
obs_colnames = names(dat),
232-
n_obs = 75,
233-
),
234-
RAM(spec_mean),
235-
),
251+
specification = spec_mean,
252+
observed = SemObservedCovariance,
253+
obs_cov = cov(Matrix(dat)),
254+
obs_mean = vcat(mean(Matrix(dat), dims = 1)...),
255+
observed_vars = Symbol.(names(dat)),
256+
meanstructure = true,
257+
nsamples = 75,
236258
)
237259

238-
model_ml_sym = Sem(SemML(SemObservedData(dat), RAMSymbolic(spec_mean)))
260+
model_ml_sym =
261+
Sem(specification = spec_mean, data = dat, implied = RAMSymbolic, meanstructure = true)
239262

240263
############################################################################################
241264
### test gradients
@@ -329,14 +352,14 @@ end
329352
model_ml,
330353
data = rand(model_ml, params, 1_000_000),
331354
specification = spec,
332-
obs_colnames = colnames,
355+
observed_vars = colnames,
333356
meanstructure = true,
334357
)
335358
model_ml_sym_new = replace_observed(
336359
model_ml_sym,
337360
data = rand(model_ml_sym, params, 1_000_000),
338361
specification = spec,
339-
obs_colnames = colnames,
362+
observed_vars = colnames,
340363
meanstructure = true,
341364
)
342365
# fit models
@@ -352,11 +375,22 @@ end
352375
############################################################################################
353376

354377
# models
355-
obs_missing = SemObservedMissing(dat_missing, obs_colnames = SEM.observed_vars(spec_mean))
356-
357-
model_ml = Sem(SemFIML(obs_missing, RAM(spec_mean)))
378+
model_ml = Sem(
379+
specification = spec_mean,
380+
data = dat_missing,
381+
observed = SemObservedMissing,
382+
loss = SemFIML,
383+
meanstructure = true,
384+
)
358385

359-
model_ml_sym = Sem(SemFIML(obs_missing, RAMSymbolic(spec_mean)))
386+
model_ml_sym = Sem(
387+
specification = spec_mean,
388+
data = dat_missing,
389+
observed = SemObservedMissing,
390+
implied = RAMSymbolic,
391+
loss = SemFIML,
392+
meanstructure = true,
393+
)
360394

361395
############################################################################################
362396
### test gradients

0 commit comments

Comments
 (0)