Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rw correlated arma #650

Merged
merged 365 commits into from
Jul 23, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
365 commits
Select commit Hold shift + click to select a range
b12cbdf
first draft
alfoa Dec 7, 2017
65f877c
convert metric pp to use new data objects (#462)
wangcj05 Dec 8, 2017
8e4f5d3
Mods for new dataObject (#463)
mandd Dec 8, 2017
61ef9c5
Merge branch 'dataobject-rework' of https://github.com/idaholab/raven…
alfoa Dec 8, 2017
be55016
initial test
alfoa Dec 8, 2017
a720f02
Merge branch 'devel' into dataobject-rework
alfoa Dec 8, 2017
39cd71a
Merge branch 'dataobject-rework' of https://github.com/idaholab/raven…
alfoa Dec 10, 2017
08883f3
pk
alfoa Dec 10, 2017
9d5b335
diff algorithm
alfoa Dec 11, 2017
594bb3e
ok
alfoa Dec 12, 2017
2cc47a7
dataobject rework: Optimizer (#461)
PaulTalbot-INL Dec 12, 2017
5af1977
merge
alfoa Dec 12, 2017
86de7ec
new input
alfoa Dec 12, 2017
d37fade
fix
alfoa Dec 12, 2017
a4bc33f
ok
alfoa Dec 12, 2017
0b54106
Merge branch 'alfoa/dataobject-rework_poly_sum_exponential' of https:…
alfoa Dec 12, 2017
fc32c12
convert CrossValidation PP to use new data objects. (#470)
wangcj05 Dec 12, 2017
fc7a4bc
Fixing no-meta CSV reading (#473)
PaulTalbot-INL Dec 12, 2017
52eefee
finished
alfoa Dec 13, 2017
dcd20a8
added tests
alfoa Dec 13, 2017
5db3a47
ok
alfoa Dec 13, 2017
31f6acc
ok
alfoa Dec 14, 2017
f09664c
Doing better than "object" typing in DataObject (#478)
PaulTalbot-INL Dec 14, 2017
002944b
added hierarchical methods (#474)
PaulTalbot-INL Dec 14, 2017
cce9e67
D.O. Rework: Topological PP (#472)
PaulTalbot-INL Dec 15, 2017
5f10826
convert importance rank pp to use the new data objects (#477)
wangcj05 Dec 15, 2017
e0071a7
convert tests (#480)
wangcj05 Dec 15, 2017
4f4387a
LimitSurface adaptive sampler (Standard, Batch, MultiGrid), etc (#469)
alfoa Dec 16, 2017
f4a0014
addressed Congjiang's comments
alfoa Dec 16, 2017
827dcfc
Step forward (#482)
alfoa Dec 18, 2017
21bf798
fixed tests (#487)
mandd Dec 19, 2017
be18e77
Mandd/fixed test HS2PS (#488)
mandd Dec 19, 2017
3467d7b
Reworked cNDarray, no more replicating indexes (#484)
PaulTalbot-INL Dec 19, 2017
a0c1039
Alfoa/continuing work (#486)
alfoa Dec 19, 2017
ddd7e2c
Fix the probability weight for ND and 1D distributions (#483)
wangcj05 Dec 20, 2017
f4c49f0
Alfoa/continuing work (#492)
alfoa Dec 20, 2017
1fd2f63
fixed database directory creation (#493)
alfoa Dec 20, 2017
5f0ce8e
almost finished ensemble
alfoa Dec 20, 2017
e14b48b
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
taoyiliang Dec 20, 2017
56e0e70
fix pca related tests. (#496)
wangcj05 Dec 20, 2017
30f896a
fix probability weight for discrete dist
wangcj05 Dec 20, 2017
780a065
Alfoa/dataobject rework ensemble model (#498)
alfoa Dec 20, 2017
139eff3
Merge pull request #499 from wangcj05/wangc/fix_pb
mandd Dec 20, 2017
45189ee
fixed tests (#490)
mandd Dec 21, 2017
1b6ebc9
Mandd/e timporter issues (#501)
mandd Dec 21, 2017
e3cd4ce
edit (#502)
mandd Dec 21, 2017
1e1fb0e
Alfoa/go on ensemble model (#504)
alfoa Dec 21, 2017
4e4d10a
Fixing Tests 1 (#494)
PaulTalbot-INL Jan 2, 2018
d93873f
Add variable probability weights in the Custom Sampler (#505)
wangcj05 Jan 3, 2018
b5461ba
fix comparison statistics (#506)
wangcj05 Jan 3, 2018
46f21e0
Non-multilevel Optimizers reworked (#507)
PaulTalbot-INL Jan 5, 2018
dd621c1
Alfoa/data object rework (#509)
alfoa Jan 9, 2018
984410c
Alfoa/test fix (#525)
alfoa Jan 17, 2018
54348a6
rework: test harness fix (#526)
PaulTalbot-INL Jan 17, 2018
edb6f71
Asynchronous History Sampling (#511)
PaulTalbot-INL Jan 18, 2018
a3f4c54
Fix data mining for the new data object (#512)
wangcj05 Jan 18, 2018
290829d
fix time-dep basic statistics pp and history set sync pp (#515)
wangcj05 Jan 18, 2018
a6b31df
fixed internal parallel test for PP (#521)
alfoa Jan 18, 2018
bde0519
update user manual for several post-processors (#523)
wangcj05 Jan 18, 2018
b0070db
rework: raven running raven (#522)
PaulTalbot-INL Jan 18, 2018
0f03793
Generalized typechecking (#524)
PaulTalbot-INL Jan 18, 2018
f8f148a
regold historysetsyn tests (#529)
wangcj05 Jan 18, 2018
cfcdf5b
starting working on DET
alfoa Jan 19, 2018
40363f7
Merge branch 'dataobject-rework' of https://github.com/idaholab/raven…
alfoa Jan 19, 2018
c5c1570
Fix clustering with DTW and ETImporter PP (#531)
wangcj05 Jan 19, 2018
bae0ce1
External Model collection fix (#534)
PaulTalbot-INL Jan 22, 2018
f13876c
Alfoa/incorrect test files (#535)
alfoa Jan 22, 2018
d022349
fixes (#533)
mandd Jan 22, 2018
afdbeb2
Fix xsd and PostProcess in raven tutorial (#536)
wangcj05 Jan 23, 2018
f72cf2e
fixed gold file for getpot test (#539)
PaulTalbot-INL Jan 23, 2018
8693774
rework: Multilevel optimizers (#537)
PaulTalbot-INL Jan 23, 2018
6232798
rework: CSV fixes and improvements (#538)
PaulTalbot-INL Jan 23, 2018
20f557e
merged
alfoa Jan 24, 2018
4eb3b65
Merge branch 'devel' into dataobject-rework
PaulTalbot-INL Jan 24, 2018
0338c10
rework: added libs to conda setup (#542)
PaulTalbot-INL Jan 26, 2018
f127918
Deep Learning from Scikit-Learn (#547)
wangcj05 Jan 26, 2018
6329950
rework: Raven-runs-raven with ROM (#548)
PaulTalbot-INL Jan 26, 2018
56201b5
rework: MOOSE submodule update (#550)
PaulTalbot-INL Jan 26, 2018
d5f7136
reverted QA verson of sklearn to 0.18 (#552)
PaulTalbot-INL Jan 26, 2018
946be7b
fixed rrr example plugin test (#558)
PaulTalbot-INL Jan 30, 2018
81d956b
fix library version for skl (#559)
wangcj05 Jan 30, 2018
c3c0753
Hierarchical and DET for new DataObject (#532)
alfoa Feb 1, 2018
4b33c63
rework update cashflow (#560)
PaulTalbot-INL Feb 1, 2018
82bae95
Code Clean Up (#567)
wangcj05 Feb 3, 2018
7c58f90
fix cluster tests (#566)
wangcj05 Feb 3, 2018
47f50b2
Merge branch 'dataobject-rework' of https://github.com/idaholab/raven…
alfoa Feb 5, 2018
3067d8b
Alfoa/dataobject rework finalize ensemble (#565)
alfoa Feb 5, 2018
4b746cd
ok
alfoa Feb 6, 2018
4d6b751
moving
alfoa Feb 8, 2018
1d8e703
moving ahead
alfoa Feb 8, 2018
43ee9e8
ok
alfoa Feb 8, 2018
d6ce271
moving
alfoa Feb 9, 2018
a4e8128
aaaa
alfoa Feb 9, 2018
4f0487a
ok
alfoa Feb 9, 2018
9a13235
a
alfoa Feb 9, 2018
df046e8
Merge branch 'alfoa/dataobject-rework_poly_sum_exponential' of https:…
alfoa Feb 9, 2018
ab03f6e
CSV printing speedup (#570)
PaulTalbot-INL Feb 9, 2018
e709f3a
Rework Ensemble for Indexes (#571)
PaulTalbot-INL Feb 9, 2018
e64466b
ok
alfoa Feb 10, 2018
012034d
try
alfoa Feb 10, 2018
38a0548
finished DMD
alfoa Feb 11, 2018
21d0929
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
taoyiliang Feb 12, 2018
05be2dd
Alfoa/performance improvement ensemble model (#581)
alfoa Feb 21, 2018
d873297
Talbpaul/rework maxqsize (#584)
PaulTalbot-INL Feb 27, 2018
bfa2b95
Merge branch 'dataobject-rework' of https://github.com/idaholab/raven…
alfoa Mar 14, 2018
8c48c7e
fixed conflicts (#595)
alfoa Mar 19, 2018
3d98618
[rework] ExternalXML in RAVEN Code Interface (#596)
PaulTalbot-INL Mar 21, 2018
e0f4f10
Optimizer inherits from Sampler (#600)
PaulTalbot-INL Mar 21, 2018
830d637
Job Profiling (#586)
PaulTalbot-INL Mar 26, 2018
500b81f
changed the printing strategy of profiles (#601)
alfoa Mar 27, 2018
0c91be8
added constant reading into solution export, also added test to verbo…
PaulTalbot-INL Apr 4, 2018
2afe446
removed debug prints
PaulTalbot-INL Apr 4, 2018
56d9c0e
Merge pull request #605 from PaulTalbot-INL/opt-constants
mandd Apr 4, 2018
f06c04d
merge
alfoa Apr 9, 2018
3d0636f
dummy change to run tests
PaulTalbot-INL Apr 9, 2018
415804e
modified spline...almost done
alfoa Apr 10, 2018
6594db7
moving forward for Crow
alfoa Apr 11, 2018
38e8655
ok
alfoa Apr 12, 2018
c2e4f96
almost done
alfoa Apr 12, 2018
f9b1a7f
ok
alfoa Apr 16, 2018
d5b2537
Add "long" data type compatability (#590)
PaulTalbot-INL Apr 16, 2018
d6722ad
merged
alfoa Apr 16, 2018
d61f4e9
merged and solved conflicts
alfoa Apr 16, 2018
489627f
fixed nested XML reading (#603)
PaulTalbot-INL Apr 16, 2018
b9d320d
Merge pull request #612 from idaholab/alfoa/dataobject-rework-fix-con…
mandd Apr 16, 2018
1839736
finished fit for Spline
alfoa Apr 16, 2018
7cf4645
aaa
alfoa Apr 16, 2018
6070f71
Fixes optimizer-runs-raven bug (#610)
PaulTalbot-INL Apr 17, 2018
23a0f69
added a test
alfoa Apr 17, 2018
f9c3feb
added second test for spline interpolator
alfoa Apr 17, 2018
d678bb6
ok now working on DMD
alfoa Apr 17, 2018
5519e29
Rw data final naming (#614)
PaulTalbot-INL Apr 17, 2018
12cd134
ok
alfoa Apr 17, 2018
da1236b
Alfoa/scale6.2 (#608)
alfoa Apr 18, 2018
504e1d2
cleaning up
alfoa Apr 18, 2018
72dffb2
stash
PaulTalbot-INL Apr 18, 2018
34ad078
Improved UnorderedCSVDiffer speed (#615)
PaulTalbot-INL Apr 18, 2018
c122c78
correlated data generator and example csv
PaulTalbot-INL Apr 18, 2018
970a142
adding printing
alfoa Apr 18, 2018
a07a02e
stash
PaulTalbot-INL Apr 19, 2018
314d2ad
ok
alfoa Apr 19, 2018
2d54637
moving
alfoa Apr 19, 2018
1667650
added math utils
alfoa Apr 20, 2018
d89e1dd
starting on independent multitarget arma
PaulTalbot-INL Apr 20, 2018
5313e30
moving ahead
alfoa Apr 20, 2018
844b27c
almost done
alfoa Apr 23, 2018
cfc10e5
moving
alfoa Apr 23, 2018
afaadc2
ok
alfoa Apr 24, 2018
12fc0c9
ok
alfoa Apr 25, 2018
d68efee
added description
alfoa Apr 25, 2018
efd07c0
removed CSVs and added documentation
alfoa Apr 25, 2018
2995c8a
reverted modificaiton in basic stats
alfoa Apr 25, 2018
bdaf365
added test for PolyExponential
alfoa Apr 26, 2018
00fafae
Merge branch 'dataobject-rework' into alfoa/dataobject-rework_poly_su…
alfoa Apr 26, 2018
ebdd035
missing test for DMD
alfoa Apr 27, 2018
2cfa4cf
added tests for DMD
alfoa Apr 27, 2018
ea82e0b
addressed Diego's comments
alfoa Apr 27, 2018
cc2c69d
added <revision> in TestInfo
alfoa Apr 27, 2018
c66b132
regolded PolyExponential tests since I shortened the time series
alfoa Apr 27, 2018
35fdc05
added format for printinig
alfoa Apr 27, 2018
2400bd1
tolerances
alfoa Apr 27, 2018
f4590b1
fixed coeff printing on scree for polyExp Poly
alfoa Apr 27, 2018
9729613
added minimum scipy version
alfoa Apr 27, 2018
08382ec
remove xml checker for DMD since the eigenvalues are not necessary or…
alfoa Apr 27, 2018
4604314
type
alfoa Apr 27, 2018
d0a83e4
added importe of differential_evolution only where is required
alfoa Apr 27, 2018
2b1694e
modified tests
alfoa Apr 27, 2018
1d8fd12
Merge pull request #579 from idaholab/alfoa/dataobject-rework_poly_su…
mandd Apr 30, 2018
6ed1420
expand install script for conda 4.4 and beyond (#618)
PaulTalbot-INL Apr 30, 2018
bb38fdf
Multi-sample Variables (vector inputs) (#625)
PaulTalbot-INL May 1, 2018
7387c4e
exposed RNG to RAVEN python...swig (#630)
alfoa May 1, 2018
00cf3de
Vector constants (#632)
PaulTalbot-INL May 2, 2018
b5b8613
initial splitting of SVL by class
PaulTalbot-INL May 8, 2018
624bba5
split out SVL done, tests pass
PaulTalbot-INL May 8, 2018
9b75753
added statsmodels, added multitarget independent, tested single targe…
PaulTalbot-INL May 9, 2018
c05d5f3
multiple independent ARMA targets test
PaulTalbot-INL May 9, 2018
d066bdf
stash
PaulTalbot-INL May 10, 2018
c02aaca
new arma noise is too large compared to old one; get it from normed d…
PaulTalbot-INL May 10, 2018
cded40b
new ARMA working fine
PaulTalbot-INL May 14, 2018
bc6fd57
test very similar but not quite the same as original, mean is improved
PaulTalbot-INL May 15, 2018
d394d33
mergefix with base
PaulTalbot-INL May 15, 2018
02232ff
test relocation
PaulTalbot-INL May 15, 2018
cb892ec
updated multiple arma for statsmodels operation
PaulTalbot-INL May 15, 2018
91dc977
tests passing
PaulTalbot-INL May 15, 2018
0e7f8b9
added start of varma test
PaulTalbot-INL May 15, 2018
0a30e9f
pre-merge review comments addressed: framework/DataObjects (#646)
PaulTalbot-INL May 16, 2018
d5f3d99
Conflicts fixed
alfoa May 16, 2018
a83b25d
test, documentation, implementation all in place
PaulTalbot-INL May 16, 2018
762a97a
not ready for unit test yet
PaulTalbot-INL May 16, 2018
00e0fb9
Merge branch 'dataobject-rework' into rw-correlated-arma
PaulTalbot-INL May 16, 2018
b4f1155
fixed missing tests
PaulTalbot-INL May 16, 2018
ae46eb3
Merge branch 'rw-correlated-arma' of github.com:PaulTalbot-INL/raven …
PaulTalbot-INL May 16, 2018
dd7c9f7
typo
PaulTalbot-INL May 16, 2018
46c0b57
Merge branch 'devel' into dataobject-rework
alfoa May 16, 2018
9153a35
modified test for dataobject rework
alfoa May 16, 2018
d69ac23
added documentations for the last 29 tests were not documented
alfoa May 17, 2018
a7d03ab
ok
alfoa May 17, 2018
5812f6b
type
alfoa May 17, 2018
39bc740
Closes #68
alfoa May 17, 2018
2589141
added verbosity in all the XSD s
alfoa May 17, 2018
c72dada
fixed None global attribute for verbosity setting
alfoa May 17, 2018
a5ad049
fixed BaseClass if statment in checking for global attribute argument
alfoa May 17, 2018
5df10c2
Merge remote-tracking branch 'mainraven/devel' into devel
PaulTalbot-INL May 18, 2018
2c1cdec
Merge branch 'devel' of https://github.com/idaholab/raven into devel
PaulTalbot-INL May 21, 2018
9c2354a
Merge branch 'dataobject-rework' into rw-correlated-arma
PaulTalbot-INL May 21, 2018
830209b
mergefixes
PaulTalbot-INL May 21, 2018
477ddd2
more cleaning
PaulTalbot-INL May 21, 2018
1f49360
added statsmodels to conda list
PaulTalbot-INL May 21, 2018
217ad87
regolding for right initial point
PaulTalbot-INL May 21, 2018
f022d2e
fix for single fourier, duplicated fourier bases
PaulTalbot-INL May 21, 2018
03e852f
loosening tolerance for base arma test
PaulTalbot-INL May 21, 2018
fa9d2e3
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
PaulTalbot-INL May 22, 2018
e77ef90
playing with tolerances
PaulTalbot-INL May 22, 2018
4735495
regolding for common solution among test machines
PaulTalbot-INL May 23, 2018
5ff12ca
regolded on test machine
PaulTalbot-INL May 23, 2018
4b4b85c
tolerance based on mac vs linux diff
PaulTalbot-INL May 23, 2018
b864cd8
still trying
PaulTalbot-INL May 23, 2018
41c920a
added burning to ARMA (but not varma)
PaulTalbot-INL Jun 5, 2018
a9cf445
integer number of burnins
PaulTalbot-INL Jun 5, 2018
ce33bca
regolded from results on desktop mac as a result of burnins
PaulTalbot-INL Jun 5, 2018
15a9e25
update to allow pivotParameter to be specified
PaulTalbot-INL Jun 6, 2018
050ba41
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
PaulTalbot-INL Jun 7, 2018
fe1b52e
trying seeding of numpy as well as crow
PaulTalbot-INL Jun 13, 2018
4248bfd
updated relative match for ARMA tests
PaulTalbot-INL Jun 13, 2018
2683c7f
reverting default numpy seeding change; it caused lots of tests to fail
PaulTalbot-INL Jun 13, 2018
c791d91
a little more
PaulTalbot-INL Jun 13, 2018
2a49371
barely worth testing
PaulTalbot-INL Jun 13, 2018
db3a719
checking statistics on base arma
PaulTalbot-INL Jun 14, 2018
fbd50f7
missing gold file
PaulTalbot-INL Jun 14, 2018
7723361
fixed tolerance
PaulTalbot-INL Jun 14, 2018
8dbe747
Merge branch 'devel' into rw-correlated-arma
PaulTalbot-INL Jun 14, 2018
b6699ab
removed default pivot
PaulTalbot-INL Jul 11, 2018
0def39f
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
PaulTalbot-INL Jul 11, 2018
2cc6653
Merge branch 'devel' into rw-correlated-arma
PaulTalbot-INL Jul 16, 2018
6193057
Merge branch 'devel' of github.com:PaulTalbot-INL/raven into devel
PaulTalbot-INL Jul 17, 2018
de64f14
varma to statistical test
PaulTalbot-INL Jul 17, 2018
34f8089
mergefix
PaulTalbot-INL Jul 17, 2018
50e7604
varma tests outputs only, needs independent rng
PaulTalbot-INL Jul 17, 2018
a8aea55
updated test to use controlled correlated data, and now controlling v…
PaulTalbot-INL Jul 18, 2018
5ebab37
gold file
PaulTalbot-INL Jul 18, 2018
ae98469
fixed RNG for initial state
PaulTalbot-INL Jul 19, 2018
fb9b7ff
updated for increased bins
PaulTalbot-INL Jul 19, 2018
f1daf19
stats test for varma
PaulTalbot-INL Jul 19, 2018
a99947d
more realistic test metric
PaulTalbot-INL Jul 19, 2018
0bd1fa7
longer history for better statistics
PaulTalbot-INL Jul 19, 2018
f5be577
changes to split supervised learning to keep up with PR 674
PaulTalbot-INL Jul 23, 2018
22e9e17
Merge branch 'devel' of github.com:idaholab/raven into devel
PaulTalbot-INL Jul 23, 2018
5e9d90a
merged in devel after #674
PaulTalbot-INL Jul 23, 2018
749ce9c
typo
PaulTalbot-INL Jul 23, 2018
cd8fd30
updated module docstrings
PaulTalbot-INL Jul 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions doc/user_manual/postprocessor.tex
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ \subsubsection{BasicStatistics}
For example, if we define ``sen'' as the prefix for \textbf{sensitivity}, target ``y'' and feature ``x'', then
variable ``sen\_y\_x'' will be defined by RAVEN.
\nb These variable will be used by RAVEN for the internal calculations. It is also accessible by the user through
\textbf{DataObjects} and \textbf{OutStreams}.
\textbf{DataObjects} and \textbf{OutStreams}.
\end{itemize}
%
\nb If the weights are present in the system then weighted quantities are calculated automatically. In addition, if a matrix quantity is requested (e.g. Covariance matrix, etc.), only the weights in the output space are going to be used for both input and output space (the computation of the joint probability between input and output spaces is not implemented yet).
Expand Down Expand Up @@ -172,7 +172,7 @@ \subsubsection{BasicStatistics}
\end{lstlisting}

In this case, the RAVEN variables ``mean\_x01, mean\_x02, sen\_x01\_a, sen\_x02\_a, sen\_x01\_b, sen\_x02\_b''
will be created and accessible for the RAVEN entities \textbf{DataObjects} and \textbf{OutStreams}.
will be created and accessible for the RAVEN entities \textbf{DataObjects} and \textbf{OutStreams}.

\textbf{Example (Static, multiple matrix nodes):} This example shows how multiple nodes can specify
particular metrics multiple times to include different target/feature combinations. This postprocessor
Expand Down Expand Up @@ -1097,7 +1097,7 @@ \subsubsection{Interfaced}
In the \xmlNode{PostProcessor} input block, the following XML sub-nodes are available:

\begin{itemize}
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, ID of the temporal variable. Default is ``time''.
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, ID of the temporal variable. Default is ``time''.
\nb Used just in case the \xmlNode{pivotValue}-based operation is requested
\item \xmlNode{operator}, \xmlDesc{string, optional field}, the operation to perform on the output space:
\begin{itemize}
Expand All @@ -1115,10 +1115,10 @@ \subsubsection{Interfaced}
\item \textbf{celing}, find the value that is the nearest with respect to the \xmlNode{pivotValue} but greater then the \xmlNode{pivotValue}
\item \textbf{interpolate}, if the exact \xmlNode{pivotValue} can not be found, interpolate using a linear approach
\end{itemize}

\nb Valid just in case \xmlNode{pivotValue} is present
\item \xmlNode{row}, \xmlDesc{int, optional field}, the row index at which the outputs need to be extracted.
\nb This node can be inputted only if \xmlNode{operator} and \xmlNode{pivotValue} are not present
\nb This node can be inputted only if \xmlNode{operator} and \xmlNode{pivotValue} are not present
\end{itemize}

This example will show how the XML input block would look like:
Expand Down Expand Up @@ -1699,15 +1699,15 @@ \subsubsection{RavenOutput}
\subsubsection{ETImporter}
\label{ETImporterPP}
The \textbf{ETImporter} post-processor has been designed to import Event-Tree (ET) object into
RAVEN. This is performed by saving the structure of the ET (from file) as a \textbf{PointSet} (only \textbf{PointSet} are allowed).
RAVEN. This is performed by saving the structure of the ET (from file) as a \textbf{PointSet} (only \textbf{PointSet} are allowed).
Since an ET is a static Boolean logic structure, the \textbf{PointSet} is structured as follows:
\begin{itemize}
\item Input variables of the \textbf{PointSet} are the branching conditions of the ET. The value of each input variable can be:
\begin{itemize}
\item 0: event did occur (typically upper branch)
\item 1: event did not occur (typically lower branch)
\item -1: event is not queried (no branching occured)
\end{itemize}
\end{itemize}
\item Output variables of the \textbf{PointSet} are the ID of each branch of the ET (i.e., positive integers greater than 0)
\end{itemize}
Since several ET file formats are available, as of now only the OpenPSA format (see https://open-psa.github.io/joomla1.5/index.php.html) is supported.
Expand Down Expand Up @@ -1750,7 +1750,7 @@ \subsubsection{ETImporter}
...
<PostProcessor name="ETImporter" subType="ETImporter">
<fileFormat>OpenPSA</fileFormat>
</PostProcessor>
</PostProcessor>
...
</Models>
...
Expand Down
110 changes: 66 additions & 44 deletions doc/user_manual/rom.tex
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ \subsection{ROM}
These sub-types are specified in the \xmlAttr{subType} attribute and should be
one of the following:
\begin{itemize}
\item \xmlString{GaussPolynomialRom}, for both static and time-dependent regression
\item \xmlString{HDMRRom}, for both static and time-dependent regression
\item \xmlString{NDinvDistWeight}, for both static and time-dependent regression
\item \xmlString{NDSpline}, for both static and time-dependent regression
\item \xmlString{GaussPolynomialRom}, for both static and time-dependent regression
\item \xmlString{HDMRRom}, for both static and time-dependent regression
\item \xmlString{NDinvDistWeight}, for both static and time-dependent regression
\item \xmlString{NDSpline}, for both static and time-dependent regression
\item \xmlString{SciKitLearn}, for both static and time-dependent regression and classification
\item \xmlString{MSR}, for both static and time-dependent regression
\item \xmlString{MSR}, for both static and time-dependent regression
\item \xmlString{ARMA}, for time-dependent stochastic regression (time series generator)
\item \xmlString{PolyExponential}, for time-dependent regression
\item \xmlString{DMD}, for time-dependent regression
Expand Down Expand Up @@ -2814,7 +2814,7 @@ \subsubsection{SciKitLearn}
It has been more than 70 years since Warren McCulloch and Water Pitts modeled the first
artificial neural network (ANN) that mimicked the way brains work. These days, deep learning
based on ANN is showing outstanding results for solving a wide variety of robotic tasks in
the areas of perception, planning, localization, and control.
the areas of perception, planning, localization, and control.
%
\textbf{Multi-layer Perceptron (MLP)} is a supervised learning algorithm that can learn
a non-linear function approximator for either classifcation or regression. It is different
Expand Down Expand Up @@ -2908,26 +2908,40 @@ \subsubsection{SciKitLearn}
%%%% ROM Model - ARMA %%%%%%%
\subsubsection{ARMA}
\label{subsubsec:arma}
The ARMA sub-type contains a single ROM type, based on an autoregressive moving average time series model.
The ARMA sub-type contains a single ROM type, based on an autoregressive moving average time series model with
Fourier signal processing, sometimes referred to as a FARMA.
%
ARMA is a type of time dependent model that characterizes the autocorrelation between time series data. The mathematic description of ARMA is given as
\begin{equation*}
x_t = \sum_{i=1}^p\phi_ix_{t-i}+\alpha_t+\sum_{j=1}^q\theta_j\alpha_{t-j},
\end{equation*}
where $x$ is a vector of dimension $n$, and $\phi_i$ and $\theta_j$ are both $n$ by $n$ matrices. When $q=0$, the above is
autoregressive (AR); when $p=0$, the above is moving average (MA). The user is allowed to provide upper and lower limits for $p$
and $q$ (see below), and the training process will choose the optimal $p$ and $q$ that fall into the user-specified range. When
training ARMA, the input needs to be a synchronized HistorySet. For unsynchronized data, use PostProcessor methods to
synchronize the data before training ARMA.

The ARMA model implemented allows an option to use Fourier series to detrend the time series before fitting to ARMA model to
train. The Fourier trend will be stored in the trained ARMA model for data generation. The following equation describes the detrend
where $x$ is a vector of dimension $n$, and $\phi_i$ and $\theta_j$ are both $n$ by $n$ matrices. When $q=0$, the above is
autoregressive (AR); when $p=0$, the above is moving average (MA).
While plans for optimizing $p$ and $q$ are under consideration, currently setting $Pmin$ and $Pmax$ to the
same value is required, and similarly for $Qmin$ and $Qmax$.
%The user is allowed to provide upper and lower limits for $p$
%and $q$ (see below), and the training process will choose the optimal $p$ and $q$ that fall into the user-specified range.
When
training an ARMA, the input needs to be a synchronized HistorySet. For unsynchronized data, use PostProcessor methods to
synchronize the data before training an ARMA.

The ARMA model implemented allows an option to use Fourier series to detrend the time series before fitting to ARMA model to
train. The Fourier trend will be stored in the trained ARMA model for data generation. The following equation
describes the detrending
process.
\begin{equation*}
x_t = y_t - \sum_m\left\{\sum_{k=1}^{K_m}a_k\sin(2\pi kf_mt)+\sum_{k=1}^{K_m}b_k\cos(2\pi kf_mt)\right\},
\end{equation*}
where $K_m$ and $f_m$ are user-defined parameters.

By default, each target in the training will be considered independent and have an unique ARMA for each
target. Correlated targets can be specified through the \xmlNode{correlate} node, at which point
the correlated targets will be trained together using a vector ARMA (or VARMA). Due to limitations in
the VARMA, in order to seed samples the VARMA must be trained with the node \xmlNode{seed}, which acts
independently from the global random seed used by other RAVEN entities.

Both the ARMA and VARMA make use of the \texttt{statsmodels} python package.

%
In order to use this Reduced Order Model, the \xmlNode{ROM} attribute
\xmlAttr{subType} needs to be \xmlString{ARMA} (see the example
Expand All @@ -2936,12 +2950,20 @@ \subsubsection{ARMA}
\subnodeIntro

\begin{itemize}
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, defines the pivot variable (e.g., time) that is non-decreasing in
\item \xmlNode{pivotParameter}, \xmlDesc{string, required field}, defines the pivot variable (e.g., time) that is non-decreasing in
the input HistorySet.
\default{Time}
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, defines the features (e.g., scaling). Note that only
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, defines the features (e.g., scaling). Note that only
one feature is allowed for \xmlString{ARMA} and in current implementation this is used for evaluation only.
\item \xmlNode{Target}, \xmlDesc{comma separated string, required field}, defines the variables of the time series.
\item \xmlNode{Target}, \xmlDesc{comma separated string, required field}, defines the variable(s) of the
time series. Should include the pivot parameter (or Index).
\item \xmlNode{correlate}, \xmlDesc{comma separated string, optional field}, indicates the listed variables
should be considered as influencing each other, and trained together instead of independently. This node
can only be listed once, so all variables that are desired for correlation should be included. \nb The
correlated VARMA takes notably longer to train than the independent ARMAs for the same number of targets.
\item \xmlNode{seed}, \xmlDesc{integer, optional field}, provides seed for ONLY the VARMA sampling. Has no
effect on ARMA single-target sampling or other RAVEN entities. Must be provided before training; it cannot
be changed once trained.
\default{True}
\item \xmlNode{reseedCopies}, \xmlDesc{boolean, optional field}, if True then whenever the ARMA is copied, a
random reseeding will be performed to ensure different histories.
\default{True}
Expand Down Expand Up @@ -2995,12 +3017,12 @@ \subsubsection{PolyExponential}
\begin{itemize}
\item $\mathbf{z}$ is the independent monotonic variable (e.g. time)
\item $\mathbf{X}$ is the vector of the other independent (parametric) variables (Features)
\item $\mathbf{P_{i}}(X)$ is a polynomial of rank M function of the parametric space X
\item $\mathbf{Q_{i}}(X)$ is a polynomial of rank M function of the parametric space X
\item $\mathbf{N}$ is the number of requested exponential terms.
\item $\mathbf{P_{i}}(X)$ is a polynomial of rank M function of the parametric space X
\item $\mathbf{Q_{i}}(X)$ is a polynomial of rank M function of the parametric space X
\item $\mathbf{N}$ is the number of requested exponential terms.
\end{itemize}
It is crucial to notice that this model is quite suitable for FOMs whose drivers are characterized by an exponential-like behavior.
In addition, it is important to notice that the exponential terms' coefficients are computed running a genetic-algorithm optimization
It is crucial to notice that this model is quite suitable for FOMs whose drivers are characterized by an exponential-like behavior.
In addition, it is important to notice that the exponential terms' coefficients are computed running a genetic-algorithm optimization
problem, which is quite slow in case of increasing number of ``numberExpTerms''.
%
In order to use this Reduced Order Model, the \xmlNode{ROM} attribute
Expand All @@ -3010,23 +3032,23 @@ \subsubsection{PolyExponential}
\subnodeIntro

\begin{itemize}
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, defines the pivot variable (e.g., time) that represents the
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, defines the pivot variable (e.g., time) that represents the
independent monotonic variable
\default{time}
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, defines the features (i.e. input parameters) of this
model
\item \xmlNode{Target}, \xmlDesc{comma separated string, required field}, defines output FOMs that are going to be predicted
\item \xmlNode{numberExpTerms}, \xmlDesc{integer, optional field}, the number of exponential terms to be used ($N$ above)
\default{3}
\item \xmlNode{coeffRegressor}, \xmlDesc{string, optional field}, defines which regressor to use for interpolating the
\item \xmlNode{coeffRegressor}, \xmlDesc{string, optional field}, defines which regressor to use for interpolating the
exponential coefficient. Available are ``spline'',``poly'' and ``nearest''.
\default{spline}
\item \xmlNode{polyOrder}, \xmlDesc{integer, optional field}, the polynomial order to be used for interpolating the exponential
coefficients. Only valid in case of \xmlNode{coeffRegressor} set to ``poly''.
\item \xmlNode{polyOrder}, \xmlDesc{integer, optional field}, the polynomial order to be used for interpolating the exponential
coefficients. Only valid in case of \xmlNode{coeffRegressor} set to ``poly''.
\default{2}
\item \xmlNode{tol}, \xmlDesc{float, optional field}, relative tolerance of the optimization problem (differential evolution optimizer)
\default{1e-3}
\item \xmlNode{maxNumberIter}, \xmlDesc{integer, optional field}, maximum number of iterations (generations) for the
\item \xmlNode{maxNumberIter}, \xmlDesc{integer, optional field}, maximum number of iterations (generations) for the
optimization problem (differential evolution optimizer)
\default{5000}
\end{itemize}
Expand All @@ -3050,7 +3072,7 @@ \subsubsection{PolyExponential}
...
</Simulation>
\end{lstlisting}
Once the ROM is trained (\textbf{Step} \xmlNode{RomTrainer}), its coefficients can be exported into an XML file
Once the ROM is trained (\textbf{Step} \xmlNode{RomTrainer}), its coefficients can be exported into an XML file
via an \xmlNode{OutStream} of type \xmlAttr{Print}. The following variable/parameters can be exported (i.e. \xmlNode{what} node
in \xmlNode{OutStream} of type \xmlAttr{Print}):
\begin{itemize}
Expand All @@ -3072,9 +3094,9 @@ \subsubsection{PolyExponential}
<Print name = 'dumpAllCoefficients'>
<type>xml</type>
<source>PolyExp</source>
<!--
<!--
here the <what> node is omitted. All the available params/coefficients
are going to be printed out
are going to be printed out
-->
</Print>
<Print name = 'dumpSomeCoefficients'>
Expand Down Expand Up @@ -3110,31 +3132,31 @@ \subsubsection{DMD}
\item \textit{hodmd}, for high order DMD.
\end{itemize}
\default{dmd}
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, defines the pivot variable (e.g., time) that represents the
\item \xmlNode{pivotParameter}, \xmlDesc{string, optional field}, defines the pivot variable (e.g., time) that represents the
independent monotonic variable
\default{time}
\item \xmlNode{Features}, \xmlDesc{comma separated string, required field}, defines the features (i.e. input parameters) of this
model
\item \xmlNode{Target}, \xmlDesc{comma separated string, required field}, defines output FOMs that are going to be predicted
\item \xmlNode{rankSVD}, \xmlDesc{integer, optional field}, defines the truncation rank to be used for the SVD.
\item \xmlNode{rankSVD}, \xmlDesc{integer, optional field}, defines the truncation rank to be used for the SVD.
Available options are:
\begin{itemize}
\item \textit{-1}, no truncation is performed
\item \textit{-1}, no truncation is performed
\item \textit{0}, optimal rank is internally computed
\item \textit{>1}, this rank is going to be used for the truncation
\end{itemize}
\default{-1}
\item \xmlNode{energyRankSVD}, \xmlDesc{float, optional field}, energy level ($0.0 < float < 1.0$) used to compute the rank such
as computed rank is the number of the biggest singular values needed to reach the energy identified by
\item \xmlNode{energyRankSVD}, \xmlDesc{float, optional field}, energy level ($0.0 < float < 1.0$) used to compute the rank such
as computed rank is the number of the biggest singular values needed to reach the energy identified by
\xmlNode{energyRankSVD}. This node has always priority over \xmlNode{rankSVD}
\default{None}
\item \xmlNode{rankTLSQ}, \xmlDesc{integer, optional field}, $int > 0$ that defines the truncation rank to be used for the total
\item \xmlNode{rankTLSQ}, \xmlDesc{integer, optional field}, $int > 0$ that defines the truncation rank to be used for the total
least square problem. If not inputted, no truncation is applied
\default{None}
\item \xmlNode{exactModes}, \xmlDesc{bool, optional field}, True if the exact modes need to be computed (eigenvalues and
\item \xmlNode{exactModes}, \xmlDesc{bool, optional field}, True if the exact modes need to be computed (eigenvalues and
eigenvectors), otherwise the projected ones (using the left-singular matrix after SVD).
\default{True}
\item \xmlNode{optimized}, \xmlDesc{float, optional field}, True if the amplitudes need to be computed minimizing the error
\item \xmlNode{optimized}, \xmlDesc{float, optional field}, True if the amplitudes need to be computed minimizing the error
between the modes and all the time-steps or False, if only the 1st timestep only needs to be considered
\default{True}

Expand All @@ -3161,7 +3183,7 @@ \subsubsection{DMD}
...
</Simulation>
\end{lstlisting}
Once the ROM is trained (\textbf{Step} \xmlNode{RomTrainer}), its parameters/coefficients can be exported into an XML file
Once the ROM is trained (\textbf{Step} \xmlNode{RomTrainer}), its parameters/coefficients can be exported into an XML file
via an \xmlNode{OutStream} of type \xmlAttr{Print}. The following variable/parameters can be exported (i.e. \xmlNode{what} node
in \xmlNode{OutStream} of type \xmlAttr{Print}):
\begin{itemize}
Expand Down Expand Up @@ -3189,9 +3211,9 @@ \subsubsection{DMD}
<Print name = 'dumpAllCoefficients'>
<type>xml</type>
<source>DMD</source>
<!--
<!--
here the <what> node is omitted. All the available params/coefficients
are going to be printed out
are going to be printed out
-->
</Print>
<Print name = 'dumpSomeCoefficients'>
Expand All @@ -3203,4 +3225,4 @@ \subsubsection{DMD}
</OutStreams>
...
</Simulation>
\end{lstlisting}
\end{lstlisting}
Loading