openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
721 stars 38 forks source link

[PRE REVIEW]: SysIdentPy: A Python package for System Identification #2191

Closed whedon closed 4 years ago

whedon commented 4 years ago

Submitting author: @wilsonrljr (Wilson Rocha Lacerda Junior) Repository: https://github.com/wilsonrljr/sysidentpy Version: 0.1.1 Editor: @dpsanders Reviewers: @Shibabrat, @dawbarton Managing EiC: Arfon Smith

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Author instructions

Thanks for submitting your paper to JOSS @wilsonrljr. Currently, there isn't an JOSS editor assigned to your paper.

The author's suggestion for the handling editor is @dpsanders.

@wilsonrljr if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). In addition, this list of people have already agreed to review for JOSS and may be suitable for this submission (please start at the bottom of the list).

Editor instructions

The JOSS submission bot @whedon is here to help you find and assign reviewers and start the main review. To find out what @whedon can do for you type:

@whedon commands
whedon commented 4 years ago

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks.

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
whedon commented 4 years ago
Reference check summary:

OK DOIs

- None

MISSING DOIs

- https://doi.org/10.1016/0005-1098(89)90019-8 may be missing for title: System identification: theory for the user
- https://doi.org/10.1080/00207178908559683 may be missing for title: Representations of non-linear systems: the NARMAX model
- https://doi.org/10.1016/j.ymssp.2015.12.031 may be missing for title: Sufficient conditions for rate-independent hysteresis in autoregressive identified models
- https://doi.org/10.1109/access.2019.2926057 may be missing for title: Control of Hysteretic Systems Through an Analytical Inverse Compensation Based on a NARX Model
- https://doi.org/10.1016/s0307-904x(03)00071-4 may be missing for title: Modelling and prediction of machining errors using ARMAX and NARMAX structures
- https://doi.org/10.1016/j.neucom.2015.08.022 may be missing for title: Ultra-orthogonal forward regression algorithms for the identification of non-linear dynamic systems
- https://doi.org/10.1109/tbme.2002.803507 may be missing for title: NARMAX representation and identification of ankle dynamics
- https://doi.org/10.1016/b978-0-12-811788-0.00008-1 may be missing for title: Applications of NARMAX in Space Weather

INVALID DOIs

- None
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

arfon commented 4 years ago

:wave: @dpsanders - the submitting author suggested you as the handling editor for this one. I'll go ahead and assign this to you now - please let me know if this is a problem.

arfon commented 4 years ago

@whedon assign @dpsanders as editor

whedon commented 4 years ago

OK, the editor is @dpsanders

dpsanders commented 4 years ago

@arfon OK sure.

wilsonrljr commented 4 years ago

Suggestions for potential reviewers:

Based on the spreadsheet provided, the reviewers mentioned above are experts in nonlinear dynamic systems, data science, signal processing , and many correlated areas to the topic of the paper.

dpsanders commented 4 years ago

👋 Hi @wilsonrljr. Many thanks for the list of possible reviewers. I hope we can get the review going soon, subject of course to people's availability.

wilsonrljr commented 4 years ago

You're welcome! I am available to help in whatever way possible throughout the process.

dpsanders commented 4 years ago

@whedon commands

whedon commented 4 years ago

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to do a  dry run of accepting the paper and depositing with Crossref
@whedon accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

EiC TASKS

# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor

# Reject a paper
@whedon reject

# Withdraw a paper
@whedon withdraw

# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true
dpsanders commented 4 years ago

@whedon check repository

whedon commented 4 years ago
Software report (experimental):

github.com/AlDanial/cloc v 1.84  T=0.83 s (129.4 files/s, 83551.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
SVG                             15              0            313          16301
HTML                            23           3702             23           9694
JavaScript                      12           2224           2264           8467
Python                          21            677           1358           1599
Jupyter Notebook                17              0          20281            928
CSS                              6            167             34            590
reStructuredText                 8            244            198            256
Markdown                         2             61              0            161
TeX                              1             13              0            120
DOS Batch                        1              8              1             26
make                             1              5              7              9
YAML                             1              0              0              1
-------------------------------------------------------------------------------
SUM:                           108           7101          24479          38152
-------------------------------------------------------------------------------

Statistical information for the repository '2191' was gathered on 2020/05/28.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
LuanPascoal                      6            95             96            0.27
Samuel                           1            87             35            0.17
Samuel Oliveira                 14           721            409            1.58
Wilson Rocha                     1           366              0            0.51
renard162                        3            71             31            0.14
wilsonrljr                      36         41884          27668           97.33

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
wilsonrljr                16590           39.6          0.2               15.02
dpsanders commented 4 years ago

Hi @wilsonrljr, sorry for the delay.

I have a few questions and comments from looking at your submission:

About the paper:

Basically I need your paper to explain what the package provides for a non-expert in the field (me).

Thanks!

wilsonrljr commented 4 years ago

Hi @dpsanders ! Thank you for your comments and efforts towards improving our manuscript. In the following I will address all your questions and suggestions.

On the other hand, SysIdentPy is based on nonlinear autoregressive models with multiple inputs and outputs. To build the models we rely on algorithms like Forward Orthogonal Least Squares Algorithms and Error Reduction Ratio. The core of NARMAX models is the model structure selection do select the correct terms using methods such as the aforementioned algorithms. At this point we have polynomial NARMAX (the most used basis function for NARMAX), but we already implementing Neural NARMAX, for example. In short, SysIdenPy and PySindy provide very different ways to build dynamical models based on different goals, assumptions and methods.

In addition, SysIdentPy package is designed to be accessible to scikit-learn users while advanced users can customize it in many ways for different analysis.

Note: Due to the mentioned changes, we have also have adapted some small parts here and there in the paper. If you need me to specify all the small changes, let me know.

If you have more suggestions, just tell me!

dpsanders commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

PDF failed to compile for issue #2191 with the following error:

Error producing PDF. ! Package amsmath Error: Multiple \label's: label 'eq:narxekxt' will be lost.

See the amsmath package documentation for explanation. Type H for immediate help. ...

l.409 \end{align}

Looks like we failed to compile the PDF

dpsanders commented 4 years ago

@wilsonrljr Sorry about the delay. Could you please fix the compilation error here?

wilsonrljr commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

wilsonrljr commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@whedon commands
wilsonrljr commented 4 years ago

@whedon generate pdf

whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

wilsonrljr commented 4 years ago

No problems, @dpsanders . The error must be fixed now. I also fixed two symbols (missing backslash) and removed two repeated words on paper.

dpsanders commented 4 years ago

👋 Hi @Shibabrat and @dawbarton. Would either of you be willing and able to review this submission for JOSS? We carry out our checklist-driven reviews here in GitHub issues and follow these guidelines: https://joss.readthedocs.io/en/latest/review_criteria.html. Thanks!

dawbarton commented 4 years ago

Yes, I'd be willing to. I've worked a little with NARMAX models in the past.

Shibabrat commented 4 years ago

Hi @dpsanders, yes, I'm willing to review as a non-expert in the system identification who works with nonlinear dynamical systems in general.

dpsanders commented 4 years ago

@whedon assign @dawbarton as reviewer

whedon commented 4 years ago

OK, @dawbarton is now a reviewer

dpsanders commented 4 years ago

@whedon assign @Shibabrat as reviewer

whedon commented 4 years ago

OK, @Shibabrat is now a reviewer

dpsanders commented 4 years ago

@whedon start review

whedon commented 4 years ago

OK, I've started the review over in https://github.com/openjournals/joss-reviews/issues/2384.

dpsanders commented 4 years ago

Thanks @dawbarton and @Shibabrat for agreeing to review this submission!

dpsanders commented 4 years ago

@whedon add @dawbarton as reviewer

whedon commented 4 years ago

OK, @dawbarton is now a reviewer

dpsanders commented 4 years ago

@whedon commands

whedon commented 4 years ago

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to do a  dry run of accepting the paper and depositing with Crossref
@whedon accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

EiC TASKS

# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor

# Reject a paper
@whedon reject

# Withdraw a paper
@whedon withdraw

# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true
dpsanders commented 4 years ago

@whedon list reviewers

whedon commented 4 years ago

Here's the current list of reviewers: https://bit.ly/joss-reviewers

dpsanders commented 4 years ago

@whedon start review

arfon commented 4 years ago

@whedon start review

@dpsanders - I've just responded over in #2384 - you'll need to fix up the review checklists over there.